Function at 0x40a8e2
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
lea ebp, [esp - 0x3a4]
sub esp, 0x424
mov eax, dword [0x42f080]
xor eax, ebp
mov dword [ebp + 0x3a0], eax
mov eax, dword [ebp + 0x3b0]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 0x3b4]
push ebx
xor ebx, ebx
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp + 0x3ac]
push esi
push edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x64], ebx
cmp eax, ebx
je 0x40a9a9
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
inc edi
push ebx
mov eax, edi
cdq
push 2
push edx
push eax
mov dword [ebp - 0x70], edi
call fcn.004214d0
cmp edx, ebx
jg 0x40a965
jl 0x40a954
cmp eax, 0x7fffffff
ja 0x40a965
push edx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040983a
mov edi, dword [ebp - 0x70]
pop ecx
pop ecx
jmp 0x40a96a
mov eax, 0x80070057
cmp eax, ebx
jl 0x40a9a9
cmp edi, 0x400
jg 0x40a98c
push edi
call fcn.0040988c
pop ecx
test al, al
je 0x40a98c
mov eax, edi
call fcn.0041bf90
mov eax, esp
jmp 0x40a998
push edi
lea esi, [ebp - 0x6c]
call fcn.00409923
mov ebx, dword [ebp - 0x6c]
push 3
push edi
push dword [ebp - 0x78]
mov esi, eax
call fcn.004092ea
test eax, eax
jne 0x40a9d4
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x64], eax
je 0x40a9c6
lea eax, [ebp - 0x64]
call fcn.0040995b
jmp 0x40a9c6
mov eax, ebx
mov ebx, dword [ebx]
push eax
call fcn.004120bd
pop ecx
test ebx, ebx
jne 0x40a9bb
mov eax, 0x8007000e
jmp 0x40aad5
push 2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
test edi, edi
jne 0x40a9f1
call fcn.00409234
mov esi, eax
jmp 0x40aab2
push dword [ebp - 0x74]
push dword [ebp - 0x68]
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
jne 0x40aa0e
call fcn.00409234
jmp 0x40aaa9
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x68], eax
test eax, eax
je 0x40aa04
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
lea eax, [esi + 1]
cmp eax, esi
jae 0x40aa54
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x64], eax
je 0x40aa4b
lea eax, [ebp - 0x64]
call fcn.0040995b
jmp 0x40aa4b
mov eax, ebx
mov ebx, dword [ebx]
push eax
call fcn.004120bd
pop ecx
test ebx, ebx
jne 0x40aa40
jmp 0x40a9ca
push eax
call fcn.00409964
pop ecx
cmp eax, 0x400
jbe 0x40aa6e
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00409819
jmp 0x40aa74
lea eax, [ebp - 0x60]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x40aa81
mov esi, 0x8007000e
jmp 0x40aaab
push esi
push dword [ebp - 0x68]
push esi
push dword [ebp - 0x64]
call fcn.00409430
mov eax, dword [ebp - 0x64]
add esp, 0x10
push dword [ebp + 0x3b8]
mov byte [eax + esi], 0
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x80]
call fcn.0040a7a9
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x64], eax
je 0x40aacf
lea eax, [ebp - 0x64]
call fcn.0040995b
jmp 0x40aacf
mov eax, ebx
mov ebx, dword [ebx]
push eax
call fcn.004120bd
pop ecx
test ebx, ebx
jne 0x40aac4
mov eax, esi
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3a0]
xor ecx, ebp
call fcn.00411d8c
add ebp, 0x3a4
leave
ret 0x10