Function at 0x4045b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
lea ebp, [esp - 0x408]
sub esp, 0x408
push 0xffffffffffffffff
push 0x417190
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x41d548]
xor eax, ebp
mov dword [ebp + 0x404], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov eax, dword [ebp + 0x414]
mov ecx, dword [ebp + 0x418]
mov ebx, dword [ebp + 0x410]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ecx
call dword [0x41d528]
xor esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], esi
mov dword [ebp], esi
cmp ebx, esi
mov byte [ebp - 4], 1
je 0x404690
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
add eax, 1
cdq
push 2
push edx
push eax
call fcn.00408ef0
mov edi, eax
add eax, 0x80000000
adc edx, esi
test edx, edx
ja 0x404690
jb 0x404651
cmp eax, 0xffffffff
ja 0x404690
cmp edi, 0x400
jg 0x404674
push edi
call fcn.00401fe0
add esp, 4
test al, al
je 0x404674
mov eax, edi
call fcn.00408af0
mov dword [ebp - 0x10], esp
mov eax, esp
jmp 0x404680
push edi
lea ecx, [ebp - 0x14]
call fcn.00402480
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
push edx
push edi
push ebx
push eax
call fcn.00401130
test eax, eax
jne 0x4046bf
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x4046a0
lea ecx, [ebp]
call fcn.00401f70
test esi, esi
je 0x4046b5
mov eax, esi
mov esi, dword [esi]
push eax
call fcn.00407d46
add esp, 4
test esi, esi
jne 0x4046a4
mov eax, 0x8007000e
jmp 0x4047e3
push 2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x4046df
call fcn.00401460
mov edi, eax
jmp 0x4047b9
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
push ecx
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x4046fe
call fcn.00401460
jmp 0x4047b0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x404717
call fcn.00401460
jmp 0x4047b0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
lea eax, [edi + 1]
cmp eax, edi
mov dword [ebp - 0x20], edi
jae 0x40474d
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x40473b
lea ecx, [ebp]
call fcn.00401f70
lea ecx, [ebp - 0x14]
call fcn.00401f00
mov eax, 0x8007000e
jmp 0x4047e3
push eax
lea ecx, [ebp]
mov byte [ebp - 4], 2
call fcn.004033b0
mov dword [ebp - 4], 1
jmp 0x404779
mov eax, dword [ebp]
test eax, eax
jne 0x404787
mov edi, 0x8007000e
jmp 0x4047b2
mov ecx, dword [ebp - 0x18]
push edi
push ecx
push edi
push eax
call fcn.00401260
mov edx, dword [ebp]
mov eax, dword [ebp + 0x41c]
add esp, 0x10
mov byte [edx + edi], 0
mov ecx, dword [ebp]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.00404460
mov edi, eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea edx, [ebp + 4]
cmp dword [ebp], edx
je 0x4047c9
lea ecx, [ebp]
call fcn.00401f70
test esi, esi
je 0x4047e1
lea ecx, [ecx]
mov eax, esi
mov esi, dword [esi]
push eax
call fcn.00407d46
add esp, 4
test esi, esi
jne 0x4047d0
mov eax, edi
lea esp, [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x404]
xor ecx, ebp
call fcn.00408590
add ebp, 0x408
mov esp, ebp
pop ebp
ret 0x10