[FONT=
"Courier"
]00401000
/EB
10 JMP SHORT 00401012 ; OEP / Near OEP
00401002 |66:623A BOUND DI, [EDX] ;
"fb:C++HOOK"
, 0x90
00401005 |43 INC EBX
00401006 |2B2B SUB EBP, [EBX]
00401008 |48 DEC EAX
00401009 |4F DEC EDI
0040100A |4F DEC EDI
0040100B |4B DEC EBX
0040100C |90 NOP
0040100D |E9 70E97500 JMP 00B5F982
00401012 \A1 63E97500 MOV EAX, [0x75E963]
00401017 C1E0 02 SHL EAX, 0x2
0040101A A3 67E97500 MOV [0x75E967], EAX
0040101F 52 PUSH EDX
00401020 6A 00 PUSH 0x0
00401022 E8 67C33500 CALL 0075D38E ; JMP to kernel32.GetModuleHandleA
00401027 8BD0 MOV EDX, EAX
00401029 E8 CE241700 CALL 005734FC
0040102E 5A POP EDX
0040102F E8 CECB3500 CALL 0075DC02 ; JMP to OFFSET Cc3250mt.___CRTL_MEM_UseBorMM
00401034 E8 07251700 CALL 00573540
00401039 6A 00 PUSH 0x0
0040103B E8 6C261700 CALL 005736AC
00401040 59 POP ECX
00401041 68 0CE97500 PUSH 0075E90C
00401046 6A 00 PUSH 0x0
00401048 E8 41C33500 CALL 0075D38E ; JMP to kernel32.GetModuleHandleA
0040104D A3 6BE97500 MOV [0x75E96B], EAX
00401052 6A 00 PUSH 0x0
00401054 E9 75CC3500 JMP 0075DCCE ; JMP to OFFSET Cc3250mt.__startup
00401059 > E9 9A261700 JMP 005736F8
0040105E 33C0 XOR EAX, EAX
00401060 A0 55E97500 MOV AL, [0x75E955]
00401065 C3 RETN
00401066 A1 6BE97500 MOV EAX, [0x75E96B]
0040106B C3 RETN
0040106C 60 PUSHAD
0040106D BB 0050B0BC MOV EBX, 0xBCB05000
00401072 53 PUSH EBX
00401073 68 AD0B0000 PUSH 0xBAD
00401078 C3 RETN
00401079 B9 9C000000 MOV ECX, 0x9C
0040107E 0BC9 OR ECX, ECX
00401080 74 4D JE SHORT 004010CF
00401082 833D 63E97500 00 CMP DWORD PTR [0x75E963], 0x0
00401089 73 0A JNB SHORT 00401095
0040108B B8 FE000000 MOV EAX, 0xFE
00401090 E8 D7FFFFFF CALL 0040106C
00401095 B9 9C000000 MOV ECX, 0x9C
0040109A 51 PUSH ECX
0040109B 6A 08 PUSH 0x8
0040109D E8 10C33500 CALL 0075D3B2 ; JMP to kernel32.GetProcessHeap
004010A2 50 PUSH EAX
004010A3 E8 52C33500 CALL 0075D3FA ; JMP to ntdll.RtlAllocateHeap
004010A8 0BC0 OR EAX, EAX
004010AA 75 0A JNZ SHORT 004010B6
004010AC B8 FD000000 MOV EAX, 0xFD
004010B1 E8 B6FFFFFF CALL 0040106C
004010B6 50 PUSH EAX
004010B7 50 PUSH EAX
004010B8 FF35 63E97500 PUSH DWORD PTR [0x75E963]
004010BE E8 63CB3500 CALL 0075DC26 ; JMP to OFFSET Cc3250mt.___CRTL_TLS_SetValue
004010C3 FF35 63E97500 PUSH DWORD PTR [0x75E963]
004010C9 E8 52CB3500 CALL 0075DC20 ; JMP to OFFSET Cc3250mt.___CRTL_TLS_InitThread
004010CE 5F POP EDI
004010CF C3 RETN
004010D0 B9 9C000000 MOV ECX, 0x9C
004010D5 0BC9 OR ECX, ECX
004010D7 74 19 JE SHORT 004010F2
004010D9 E8 2ACB3500 CALL 0075DC08 ; JMP to OFFSET Cc3250mt.___CRTL_TLS_Alloc
004010DE A3 63E97500 MOV [0x75E963], EAX
004010E3 83F8 00 CMP EAX, 0x0
004010E6 73 91 JNB SHORT 00401079
004010E8 B8 FC000000 MOV EAX, 0xFC
004010ED E8 7AFFFFFF CALL 0040106C
004010F2 C3 RETN
004010F3 833D 63E97500 00 CMP DWORD PTR [0x75E963], 0x0
004010FA 72 28 JB SHORT 00401124
004010FC FF35 63E97500 PUSH DWORD PTR [0x75E963]
00401102 E8 13CB3500 CALL 0075DC1A ; JMP to OFFSET Cc3250mt.___CRTL_TLS_GetValue
00401107 0BC0 OR EAX, EAX
00401109 74 19 JE SHORT 00401124
0040110B 50 PUSH EAX
0040110C 6A 08 PUSH 0x8
0040110E E8 9FC23500 CALL 0075D3B2 ; JMP to kernel32.GetProcessHeap
00401113 50 PUSH EAX
00401114 E8 E7C23500 CALL 0075D400 ; JMP to ntdll.RtlFreeHeap
00401119 FF35 63E97500 PUSH DWORD PTR [0x75E963]
0040111F E8 EACA3500 CALL 0075DC0E ; JMP to OFFSET Cc3250mt.___CRTL_TLS_ExitThread
00401124 C3 RETN
00401125 C3 RETN
00401126 833D 63E97500 00 CMP DWORD PTR [0x75E963], 0x0
0040112D 72 10 JB SHORT 0040113F
0040112F E8 BFFFFFFF CALL 004010F3
00401134 FF35 63E97500 PUSH DWORD PTR [0x75E963]
0040113A E8 D5CA3500 CALL 0075DC14 ; JMP to OFFSET Cc3250mt.___CRTL_TLS_Free
0040113F C3 RETN
00401140 A1 63E97500 MOV EAX, [0x75E963]
00401145 64:67:8B16 2C00 MOV EDX, FS:[0x2C]
0040114B 8B0482 MOV EAX, [EDX+EAX*4]
0040114E C3 RETN[
/FONT
]