__asm
{
mov eax, this // + 0xAC8
add eax, 0x234
mov eax, dword ptr [eax]
mov _this_list_pointer, eax
}
wxString _wxstring;
_pMemory = _SharedCounter::pMemory + *(PWORD)(_SharedCounter::pMemory + 60);
__asm
{
xor ebx, ebx
mov edi, _pMemory
mov eax, dword ptr [edi+0x80]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
mov esi, eax
imp_desc_loop:
cmp dword ptr [esi+0x00], 0
jne _unfinished
cmp dword ptr [esi+0x04], 0
jne _unfinished
cmp dword ptr [esi+0x08], 0
jne _unfinished
cmp dword ptr [esi+0x0C], 0
jne _unfinished
cmp dword ptr [esi+0x10], 0
je _finished
_unfinished:
mov eax, dword ptr [esi+12]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
push eax
push FORMAT_
push offset TempArray
call dword ptr [wsprintfW]
add esp,0x0C
cmp dword ptr [esi], 0
jne _OFThunk
mov eax, dword ptr [esi+16]
jmp _FThunk
_OFThunk:
mov eax, dword ptr [esi]
_FThunk:
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
mov edi, eax
_thunk_data_deal:
cmp dword ptr [edi], 0
je _thunk_data_out
test dword ptr [edi], 0x80000000
jne _seq_import
mov eax, dword ptr [edi]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
add eax, 2
push eax
push FORMAT_
push offset temp_array
call dword ptr [wsprintfW]
add esp,0x0C
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset temp_array
call dword ptr[__Append]
mov ecx, _this_list_pointer
push 0
push ebx
call dword ptr [_InsertItem]
push -1
lea eax, _wxstring
push eax
push 2
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset TempArray
call dword ptr[__Append]
push -1
lea eax, _wxstring
push eax
push 3
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
inc ebx
add edi, 4
jmp _thunk_data_deal
_seq_import:
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset TempArray
call dword ptr[__Append]
mov ecx, _this_list_pointer
push 0
push ebx
call dword ptr [_InsertItem]
push -1
lea eax, _wxstring
push eax
push 3
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
lea ecx, _wxstring
call dword ptr [wxString::Clear]
mov eax, dword ptr [edi]
and eax, 0xFFFF
push eax
push _FORMAT
push offset temp_array
call dword ptr [wsprintfW]
add esp,0x0C
lea ecx, _wxstring
push offset temp_array
call dword ptr[__Append]
push -1
lea eax, _wxstring
push eax
push 1
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
inc ebx
add edi, 4
jmp _thunk_data_deal
_thunk_data_out:
add esi, 0x14
jmp imp_desc_loop
_module_serach:
_finished:
}
{
mov eax, this // + 0xAC8
add eax, 0x234
mov eax, dword ptr [eax]
mov _this_list_pointer, eax
}
wxString _wxstring;
_pMemory = _SharedCounter::pMemory + *(PWORD)(_SharedCounter::pMemory + 60);
__asm
{
xor ebx, ebx
mov edi, _pMemory
mov eax, dword ptr [edi+0x80]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
mov esi, eax
imp_desc_loop:
cmp dword ptr [esi+0x00], 0
jne _unfinished
cmp dword ptr [esi+0x04], 0
jne _unfinished
cmp dword ptr [esi+0x08], 0
jne _unfinished
cmp dword ptr [esi+0x0C], 0
jne _unfinished
cmp dword ptr [esi+0x10], 0
je _finished
_unfinished:
mov eax, dword ptr [esi+12]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
push eax
push FORMAT_
push offset TempArray
call dword ptr [wsprintfW]
add esp,0x0C
cmp dword ptr [esi], 0
jne _OFThunk
mov eax, dword ptr [esi+16]
jmp _FThunk
_OFThunk:
mov eax, dword ptr [esi]
_FThunk:
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
mov edi, eax
_thunk_data_deal:
cmp dword ptr [edi], 0
je _thunk_data_out
test dword ptr [edi], 0x80000000
jne _seq_import
mov eax, dword ptr [edi]
call dword ptr [GetOffsetFromRva]
add eax, _SharedCounter::pMemory
add eax, 2
push eax
push FORMAT_
push offset temp_array
call dword ptr [wsprintfW]
add esp,0x0C
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset temp_array
call dword ptr[__Append]
mov ecx, _this_list_pointer
push 0
push ebx
call dword ptr [_InsertItem]
push -1
lea eax, _wxstring
push eax
push 2
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset TempArray
call dword ptr[__Append]
push -1
lea eax, _wxstring
push eax
push 3
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
inc ebx
add edi, 4
jmp _thunk_data_deal
_seq_import:
lea ecx, _wxstring
call dword ptr [wxString::Clear]
lea ecx, _wxstring
push offset TempArray
call dword ptr[__Append]
mov ecx, _this_list_pointer
push 0
push ebx
call dword ptr [_InsertItem]
push -1
lea eax, _wxstring
push eax
push 3
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
lea ecx, _wxstring
call dword ptr [wxString::Clear]
mov eax, dword ptr [edi]
and eax, 0xFFFF
push eax
push _FORMAT
push offset temp_array
call dword ptr [wsprintfW]
add esp,0x0C
lea ecx, _wxstring
push offset temp_array
call dword ptr[__Append]
push -1
lea eax, _wxstring
push eax
push 1
push ebx
mov ecx, _this_list_pointer
call dword ptr [_SetItem]
inc ebx
add edi, 4
jmp _thunk_data_deal
_thunk_data_out:
add esi, 0x14
jmp imp_desc_loop
_module_serach:
_finished:
}