Advertisement
rockdrilla

y u no uz brainz, jawa dude?

Oct 2nd, 2015
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.18 KB | None | 0 0
  1. /// Netcon/Netcon/src/org/netcon/BaseReadPacket.java
  2.  
  3. /*
  4. Java
  5.  
  6. public abstract class BaseReadPacket implements Runnable
  7. {
  8.         protected final int readD()
  9.         {
  10.                 int result = _data[(_off++)] & 0xFF;
  11.                 result |= (_data[(_off++)] << 8) & 0xFF00;
  12.                 result |= (_data[(_off++)] << 16) & 0xFF0000;
  13.                 result |= (_data[(_off++)] << 24) & 0xFF000000;
  14.                 return result;
  15.         }
  16. }
  17. */
  18.  
  19.  
  20.  
  21. // C++
  22.  
  23. unsigned int BaseReadPacket::read_dword() {
  24.     unsigned int result;
  25. #ifdef L2J_LITTLE_ENDIAN
  26.     result = *reinterpret_cast<const unsigned int *>(&_data[_off]);
  27. #else
  28.     result = (unsigned int) _data[_off]
  29.     | ((unsigned int) _data[_off + 1] << 8)
  30.     | ((unsigned int) _data[_off + 2] << 16)
  31.     | ((unsigned int) _data[_off + 3] << 24);
  32. #endif
  33.     _off += 4;
  34.     return result;
  35. }
  36. inline unsigned int BaseReadPacket::readD() { return read_dword(); }
  37.  
  38.  
  39.  
  40. /*
  41. C++
  42. L2J_LITTLE_ENDIAN is defined
  43.  
  44.         25 [1] unsigned int BaseReadPacket::read_dword() {
  45. 0x4007d4                   55           push   %rbp
  46. 0x4007d5  <+0x0001>        48 89 e5     mov    %rsp,%rbp
  47. 0x4007d8  <+0x0004>        48 89 7d e8  mov    %rdi,-0x18(%rbp)
  48. 0x4007dc  <+0x0008>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  49. 0x4007e0  <+0x000c>        48 8b 10     mov    (%rax),%rdx
  50. 0x4007e3  <+0x000f>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  51. 0x4007e7  <+0x0013>        48 8b 40 08  mov    0x8(%rax),%rax
  52. 0x4007eb  <+0x0017>        48 01 d0     add    %rdx,%rax
  53. 0x4007ee  <+0x001a>        8b 00        mov    (%rax),%eax
  54. 0x4007f0  <+0x001c>        89 45 fc     mov    %eax,-0x4(%rbp)
  55. 0x4007f3  <+0x001f>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  56. 0x4007f7  <+0x0023>        48 8b 40 08  mov    0x8(%rax),%rax
  57. 0x4007fb  <+0x0027>        48 8d 50 04  lea    0x4(%rax),%rdx
  58. 0x4007ff  <+0x002b>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  59. 0x400803  <+0x002f>        48 89 50 08  mov    %rdx,0x8(%rax)
  60. 0x400807  <+0x0033>        8b 45 fc     mov    -0x4(%rbp),%eax
  61. 0x40080a  <+0x0036>        5d           pop    %rbp
  62. 0x40080b  <+0x0037>        c3           retq
  63. */
  64.  
  65.  
  66.  
  67. /*
  68. C++
  69. L2J_LITTLE_ENDIAN isn't defined
  70.  
  71.         25 [1] unsigned int BaseReadPacket::read_dword() {
  72. 0x4007fa                   55           push   %rbp
  73. 0x4007fb  <+0x0001>        48 89 e5     mov    %rsp,%rbp
  74. 0x4007fe  <+0x0004>        48 89 7d e8  mov    %rdi,-0x18(%rbp)
  75. 0x400802  <+0x0008>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  76. 0x400806  <+0x000c>        48 8b 10     mov    (%rax),%rdx
  77. 0x400809  <+0x000f>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  78. 0x40080d  <+0x0013>        48 8b 40 08  mov    0x8(%rax),%rax
  79. 0x400811  <+0x0017>        48 01 d0     add    %rdx,%rax
  80. 0x400814  <+0x001a>        0f b6 00     movzbl (%rax),%eax
  81. 0x400817  <+0x001d>        0f be d0     movsbl %al,%edx
  82. 0x40081a  <+0x0020>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  83. 0x40081e  <+0x0024>        48 8b 08     mov    (%rax),%rcx
  84. 0x400821  <+0x0027>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  85. 0x400825  <+0x002b>        48 8b 40 08  mov    0x8(%rax),%rax
  86. 0x400829  <+0x002f>        48 83 c0 01  add    $0x1,%rax
  87. 0x40082d  <+0x0033>        48 01 c8     add    %rcx,%rax
  88. 0x400830  <+0x0036>        0f b6 00     movzbl (%rax),%eax
  89. 0x400833  <+0x0039>        0f be c0     movsbl %al,%eax
  90. 0x400836  <+0x003c>        c1 e0 08     shl    $0x8,%eax
  91. 0x400839  <+0x003f>        89 d1        mov    %edx,%ecx
  92. 0x40083b  <+0x0041>        09 c1        or     %eax,%ecx
  93. 0x40083d  <+0x0043>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  94. 0x400841  <+0x0047>        48 8b 10     mov    (%rax),%rdx
  95. 0x400844  <+0x004a>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  96. 0x400848  <+0x004e>        48 8b 40 08  mov    0x8(%rax),%rax
  97. 0x40084c  <+0x0052>        48 83 c0 02  add    $0x2,%rax
  98. 0x400850  <+0x0056>        48 01 d0     add    %rdx,%rax
  99. 0x400853  <+0x0059>        0f b6 00     movzbl (%rax),%eax
  100. 0x400856  <+0x005c>        0f be c0     movsbl %al,%eax
  101. 0x400859  <+0x005f>        c1 e0 10     shl    $0x10,%eax
  102. 0x40085c  <+0x0062>        09 c1        or     %eax,%ecx
  103. 0x40085e  <+0x0064>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  104. 0x400862  <+0x0068>        48 8b 10     mov    (%rax),%rdx
  105. 0x400865  <+0x006b>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  106. 0x400869  <+0x006f>        48 8b 40 08  mov    0x8(%rax),%rax
  107. 0x40086d  <+0x0073>        48 83 c0 03  add    $0x3,%rax
  108. 0x400871  <+0x0077>        48 01 d0     add    %rdx,%rax
  109. 0x400874  <+0x007a>        0f b6 00     movzbl (%rax),%eax
  110. 0x400877  <+0x007d>        0f be c0     movsbl %al,%eax
  111. 0x40087a  <+0x0080>        c1 e0 18     shl    $0x18,%eax
  112. 0x40087d  <+0x0083>        09 c8        or     %ecx,%eax
  113. 0x40087f  <+0x0085>        89 45 fc     mov    %eax,-0x4(%rbp)
  114. 0x400882  <+0x0088>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  115. 0x400886  <+0x008c>        48 8b 40 08  mov    0x8(%rax),%rax
  116. 0x40088a  <+0x0090>        48 8d 50 04  lea    0x4(%rax),%rdx
  117. 0x40088e  <+0x0094>        48 8b 45 e8  mov    -0x18(%rbp),%rax
  118. 0x400892  <+0x0098>        48 89 50 08  mov    %rdx,0x8(%rax)
  119. 0x400896  <+0x009c>        8b 45 fc     mov    -0x4(%rbp),%eax
  120. 0x400899  <+0x009f>        5d           pop    %rbp
  121. 0x40089a  <+0x00a0>        c3           retq
  122. 0x40089b                   90           nop
  123. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement