Function at 0x566e10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x632b97
mov eax, dword fs:[0]
push eax
sub esp, 0x74
push esi
push edi
lea edi, [ebp - 0x80]
mov ecx, 0x1d
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x6bc858]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], 2
jne 0x566eed
movzx eax, word [ebp + 8]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x24]
call fcn.00567480
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.005548c0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], 0
fild qword [ebp - 0x78]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x24]
call fcn.00554890
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 0
fild qword [ebp - 0x80]
push ecx
fstp dword [esp]
push ecx
mov dword [esp], 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x3c]
call fcn.00431c40
push 0
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x24]
call fcn.00567590
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00431f70
jmp 0x567044
movzx edx, word [ebp + 8]
mov dword [ebp - 0x44], edx
mov esi, esp
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x566f1f
xor eax, eax
jmp 0x567049
mov esi, esp
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x4c], eax
mov esi, esp
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x50], eax
mov esi, esp
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x54], eax
mov esi, esp
mov edx, dword [ebp - 0x50]
push edx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x58], eax
mov esi, esp
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00602090
add esp, 0xc
mov esi, esp
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x64], 0
mov esi, esp
lea edx, [ebp - 0x64]
push edx
push 1
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jl 0x566fed
cmp dword [ebp - 0x64], 0
jne 0x567004
push 0x28c
push str.image_x.cpp
push 0x64ff40
call fcn.00605ee0
add esp, 0xc
push 0
mov edx, dword [ebp - 0x64]
push edx
call fcn.00558810
add esp, 8
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp - 0x64]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [eax + 8]
call edx
cmp esi, esp
call fcn.00605df0
mov esi, esp
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp esi, esp
call fcn.00605df0
mov dword [ebp - 0x70], eax
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x567078]
call fcn.00605e20
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x80
cmp ebp, esp
call fcn.00605df0
mov esp, ebp
pop ebp
ret