Function at 0x466080
Capabilities:
Extract resource via kernel32 functions
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x44c
push ecx
push edi
lea edi, [esp + 8]
mov eax, 0xcccccccc
mov ecx, 0x113
rep stosd dword es:[edi], eax
pop edi
pop ecx
push 0x518d2b
push 0x65
push dword [0x52921c]
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x434], 0
je 0x466167
push dword [ebp - 0x434]
push dword [0x52921c]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0
je 0x466167
push dword [ebp - 0x438]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x43c], eax
push 4
push dword [ebp - 0x43c]
lea eax, [ebp - 0x10]
push eax
call fcn.0040e330
add esp, 0xc
cmp byte [ebp - 0x10], 0x50
jne 0x46613a
cmp byte [ebp - 0xf], 0x49
jne 0x46613a
cmp byte [ebp - 0xe], 0x43
jne 0x46613a
cmp byte [ebp - 0xd], 0x4b
jne 0x46613a
mov dword [ebp - 0x14], 0
jmp 0x466167
push 4
push dword [ebp - 0x43c]
lea eax, [ebp - 0x14]
push eax
call fcn.0040e330
add esp, 0xc
push 4
mov eax, dword [ebp - 0x43c]
add eax, 4
push eax
push 0x518d64
call fcn.0040e330
add esp, 0xc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x44c], 0
cmp dword [ebp - 0x14], 0
je 0x4663d0
push 0x400
lea eax, [ebp - 0x424]
push eax
push dword [0x52921c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push SysReAllocStringLen
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x450], eax
cmp dword [ebp - 0x450], 0xffffffff
jne 0x466225
push 0x232
push str.loaderX86.cpp
push 4
push 0x83
call fcn.004807b0
add esp, 0x10
mov bl, 0
cmp dword [ebp - 0x18], 0
je 0x46621d
mov ecx, dword [ebp - 0x18]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
push 0
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x428]
push eax
push 4
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 8]
call fcn.004f4810
pop ecx
mov dword [0x518c4c], eax
push 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 8]
push dword [0x518c4c]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [ebp - 0x428]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc]
call fcn.004f4810
pop ecx
mov dword [0x518c48], eax
push 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0xc]
push dword [0x518c48]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [ebp - 0x428]
push eax
push 4
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x1c]
call fcn.004f4810
pop ecx
mov dword [ebp - 0x440], eax
push 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x440]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [ebp - 0x428]
push eax
push 4
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x24], 0
jle 0x466374
push 1
push 0
push 0
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x44c], eax
push dword [ebp - 0x24]
call fcn.004f4810
pop ecx
mov dword [ebp - 0x448], eax
push 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x448]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [ebp - 0x428]
push eax
push 4
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x20], 0
jle 0x4663c2
push dword [ebp - 0x20]
call fcn.004f4810
pop ecx
mov dword [ebp - 0x444], eax
push 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x444]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x46643c
lea eax, [ebp - 0x1c]
push eax
push str.import.dat
call fcn.00464c30
pop ecx
pop ecx
mov dword [ebp - 0x440], eax
lea eax, [ebp - 8]
push eax
push str.code.dat
call fcn.00464c30
pop ecx
pop ecx
mov dword [0x518c4c], eax
lea eax, [ebp - 0xc]
push eax
push str.data.dat
call fcn.00464c30
pop ecx
pop ecx
mov dword [0x518c48], eax
lea eax, [ebp - 0x24]
push eax
push str.rsrc.dat
call fcn.00464c30
pop ecx
pop ecx
mov dword [ebp - 0x448], eax
lea eax, [ebp - 0x20]
push eax
push str.options.dat
call fcn.00464c30
pop ecx
pop ecx
mov dword [ebp - 0x444], eax
push dword [ebp - 0x20]
push dword [ebp - 0x444]
call fcn.00465fd0
pop ecx
pop ecx
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x440]
call fcn.00464e20
add esp, 0xc
cmp al, 0
jne 0x4664bb
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x42c], edx
cmp dword [ebp - 0x42c], 0
je 0x466482
mov ecx, dword [ebp - 0x42c]
call fcn.0040c350
lea eax, [ebp - 0x42c]
push eax
call fcn.0046d770
pop ecx
cmp dword [ebp - 0x42c], 0
je 0x4664a3
mov ecx, dword [ebp - 0x42c]
call fcn.0040c380
mov bl, 0
cmp dword [ebp - 0x18], 0
je 0x4664b3
mov ecx, dword [ebp - 0x18]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
push dword [ebp - 0x44c]
push dword [ebp - 0x24]
push dword [ebp - 0x448]
call fcn.00465f10
add esp, 0xc
mov eax, dword [0x518c4c]
mov dword [ebp - 0x430], eax
call dword [ebp - 0x430]
call fcn.00435bb0
mov bl, 1
cmp dword [ebp - 0x18], 0
je 0x4664f8
mov ecx, dword [ebp - 0x18]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 4]
pop ebx
pop ebp
ret