Function at 0x589fa0
Capabilities:
Extract resource via kernel32 functions
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c1471
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
mov ebx, ecx
push esi
push edi
mov al, byte [ebx + 0x18]
mov dword [ebp - 0x1c], ebx
cmp al, 1
je 0x58a89c
call fcn.0044c540
call fcn.0044c540
mov eax, dword [eax + 0xd0]
xor edi, edi
push edi
mov byte [eax + 0x10], 0
mov byte [ebx + 0x18], 1
call sub.MFC42.DLL_AfxSocketInit
test eax, eax
jne 0x58a02c
call sub.MFC42.DLL_AfxGetThread
cmp eax, edi
je 0x58a004
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x58a006
xor eax, eax
push 0x40
push 0x6030cc
push 0x62e6e8
mov ecx, eax
call sub.MFC42.DLL_CWnd::MessageBoxA
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
jmp 0x58a03c
mov ecx, ebx
call fcn.0058d530
test al, al
jne 0x58a055
mov ecx, ebx
call fcn.0058d760
push edi
call dword [sym.imp.MSVCRT.dll_exit]
jmp 0x58a05e
push 0x14
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
cmp esi, edi
mov dword [ebp - 4], edi
je 0x58a167
mov dword [esi], 0x5d0270
mov dword [esi + 4], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov byte [ebp - 4], 1
call sub.MFC42.DLL_AfxGetModuleState
mov edi, dword [eax + 8]
test edi, edi
je 0x58a161
push 0x62e6e0
push 0x65
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x58a161
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x58a161
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x58a161
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edi, edi
test ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], edi
jle 0x58a161
mov eax, dword [ebp - 0x14]
mov al, byte [edi + eax]
cmp al, 0xa
jne 0x58a14b
test edx, edx
je 0x58a159
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
mov byte [ebp - 4], 2
je 0x58a122
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call fcn.00592600
mov ebx, eax
jmp 0x58a124
xor ebx, ebx
mov edi, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov byte [ebp - 4], 1
lea edx, [edi + 1]
push edx
call fcn.00582dc0
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + edi*4], ebx
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x1c]
jmp 0x58a159
cmp al, 0xd
je 0x58a159
mov byte [ebp + edx - 0x34], al
inc edx
mov byte [ebp + edx - 0x34], 0
inc edi
cmp edi, ecx
mov dword [ebp - 0x10], edi
jl 0x58a0f0
mov eax, esi
xor edi, edi
jmp 0x58a169
xor eax, eax
or esi, 0xffffffff
push 0x34
mov dword [ebp - 4], esi
mov dword [ebx + 0x298], eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x24], eax
cmp eax, edi
mov dword [ebp - 4], 3
je 0x58a196
mov ecx, eax
call fcn.004a34c0
jmp 0x58a198
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebx + 0x3a8], eax
jmp 0x58a1aa
mov ecx, ebx
call fcn.0058c6f0
test al, al
jne 0x58a29c
mov eax, dword [0x637770]
cmp eax, edi
je 0x58a220
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a220
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
push 0x62e6b4
push 0x603774
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637770]
push str.runtime
push 0x603760
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb4c0
mov eax, dword [0x637770]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x62e6b4
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x603774
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], esi
call fcn.00458dc0
push edi
push edi
push 0x62e6b4
call sub.MFC42.DLL_AfxMessageBox
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.0058e4e0
test al, al
jne 0x58a2c6
push edi
push edi
push 0x62e6a4
call sub.MFC42.DLL_AfxMessageBox
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.0058e310
test al, al
jne 0x58a2e2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.0058ded0
test al, al
jne 0x58a3c8
mov eax, dword [0x637770]
cmp eax, edi
je 0x58a358
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a358
add eax, 0x250
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
push 0x62e694
push 0x603774
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637770]
push str.runtime
push 0x603760
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004eb4c0
mov edx, dword [0x637770]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x62e694
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x603774
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 9
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], esi
call fcn.00458dc0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jmp 0x58a3d1
mov eax, dword [0x637770]
cmp eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
je 0x58a43b
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a43b
add eax, 0x250
push eax
call edi
push 0
push str.________________________________________________________
push 0x60b5c0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637770]
push str.runtime
push 0x603760
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb4c0
mov eax, dword [0x637770]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.________________________________________________________
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], esi
call fcn.00458dc0
mov eax, dword [0x637770]
test eax, eax
je 0x58a4fc
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a4fc
add eax, 0x250
push eax
call edi
push 0
push 0x62e648
push 0x60b5c0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637770]
push str.runtime
push 0x603760
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004eb4c0
mov edx, dword [0x637770]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x62e648
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], esi
call fcn.00458dc0
lea esi, [ebx + 0x90]
push 1
mov ecx, esi
call fcn.00497c10
mov ecx, esi
call fcn.00498100
push 1
mov ecx, esi
call fcn.00498520
push 1
mov ecx, esi
call fcn.00498f40
push 1
mov ecx, esi
call fcn.004998e0
mov ecx, esi
call fcn.0049d500
mov ecx, esi
call fcn.0049d890
mov ecx, esi
call fcn.0049bef0
mov ecx, esi
call fcn.0049a0f0
mov ecx, esi
call fcn.0049d090
mov ecx, esi
call fcn.0049a740
lea ecx, [ebx + 0x28]
call fcn.00512830
mov ecx, ebx
call fcn.0058d2f0
test al, al
jne 0x58a6b1
mov eax, dword [0x637770]
test eax, eax
je 0x58a62f
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a62f
add eax, 0x250
push eax
call edi
push 0
push 0x62e638
push 0x603774
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637770]
push str.runtime
push 0x603760
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb4c0
mov eax, dword [0x637770]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x62e638
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x603774
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], 0xffffffff
call fcn.00458dc0
push 0
push 0
push 0x62e638
call sub.MFC42.DLL_AfxMessageBox
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004ea760
push eax
lea ecx, [ebx + 0x1d0]
call sub.MFC42.DLL_CString::operator
mov ecx, ebx
mov dword [ebx + 0x294], 0
call fcn.0058e0c0
mov ecx, ebx
call fcn.00591e60
call fcn.0044c540
mov cl, byte [eax + 0xc7]
test cl, cl
je 0x58a717
mov al, byte [ebx + 0x5f]
test al, al
je 0x58a717
call sub.MFC42.DLL_AfxGetThread
test eax, eax
je 0x58a702
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x58a704
xor eax, eax
mov eax, dword [eax + 0x20]
push 0
push 4
push 0x485
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x637770]
test eax, eax
je 0x58a77b
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a77b
add eax, 0x250
push eax
call edi
push 0
push 0x62e628
push 0x60b5c0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x637770]
push str.runtime
push 0x603760
mov edx, dword [ecx + 0x44]
push edx
call fcn.004eb4c0
mov eax, dword [0x637770]
add esp, 0x1c
mov edx, dword [eax + 0x248]
lea ecx, [eax + 0x248]
call dword [edx + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x62e628
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 0x13
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
or esi, 0xffffffff
mov dword [ebp - 4], esi
call fcn.00458dc0
mov eax, dword [0x637770]
test eax, eax
je 0x58a83f
mov cl, byte [eax + 0x40]
test cl, cl
je 0x58a83f
add eax, 0x250
push eax
call edi
push 0
push str.________________________________________________________
push 0x60b5c0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x637770]
push str.runtime
push 0x603760
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004eb4c0
mov edx, dword [0x637770]
add esp, 0x1c
mov eax, dword [edx + 0x248]
lea ecx, [edx + 0x248]
call dword [eax + 0x1c]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.________________________________________________________
call sub.MFC42.DLL_CString::CString_3
push ecx
mov dword [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x60b5c0
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x17
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str..scc.
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [ebp - 4], 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x60375c
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x63234c]
mov dword [ebp - 4], esi
call fcn.00458dc0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret