Function at 0x40a5e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x40a8b5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
call fcn.00403fe0
xor eax, eax
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x40a893
push dword fs:[edx]
mov dword fs:[edx], esp
push 2
push 0
push ebx
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [ebp - 4], eax
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0040a3f8
cmp dword [ebp - 0x1c], 0
setne al
test al, al
jne 0x40a6e6
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_FreeLibrary_1
push 0x40a8c4
call sub.kernel32.dll_LoadLibraryA
mov dword [ebp - 4], eax
push 3
push 0x40a8d0
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_FindResourceA
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_LoadResource
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x10], eax
mov eax, dword [0x40d4c4]
cmp dword [eax], 2
jne 0x40a6a4
push 0
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_BeginUpdateResourceA
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_SizeofResource
push eax
mov eax, dword [ebp - 0x10]
push eax
push 0x409
push 1
push 3
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_UpdateResourceA
push 0
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_EndUpdateResourceA
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_FreeLibrary_1
call fcn.00403aec
jmp 0x40a89a
lea eax, [ebp - 0x20]
call fcn.00403fe0
lea eax, [ebp - 0x24]
call fcn.00403fe0
mov edx, dword [ebp - 0x1c]
mov eax, 0x40a8dc
call fcn.00404530
mov ecx, eax
lea eax, [ebp - 0x1c]
mov edx, 1
call fcn.004044e8
lea eax, [ebp - 0x20]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x40a8e8
call fcn.00404530
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004044a8
mov edx, dword [ebp - 0x1c]
mov eax, 0x40a8dc
call fcn.00404530
mov ecx, eax
lea eax, [ebp - 0x1c]
mov edx, 1
call fcn.004044e8
lea eax, [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x40a8f4
call fcn.00404530
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004044a8
mov edx, dword [ebp - 0x1c]
mov eax, 0x40a8f4
call fcn.00404530
mov ecx, eax
lea eax, [ebp - 0x1c]
mov edx, 1
call fcn.004044e8
xor eax, eax
push ebp
push 0x40a7f2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x24]
cmp byte [eax], 0x23
jne 0x40a7cd
lea eax, [ebp - 0x24]
mov ecx, 1
mov edx, 1
call fcn.004044e8
push 0xe
mov eax, dword [ebp - 0x24]
call fcn.004067a8
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_FindResourceA
mov dword [ebp - 8], eax
jmp 0x40a7e4
push 0xe
mov eax, dword [ebp - 0x24]
call fcn.00404448
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_FindResourceA
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40a7f9
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40a8bc
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404004
ret