Function at 0x402f60
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x640456
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x6bc858]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x41c], ecx
xor esi, esi
mov dword [ebp - 0x434], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x43c], esi
mov dword [ebp - 0x418], esi
mov byte [ebp - 4], 1
cmp edi, esi
je 0x40305f
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdq
mov esi, eax
shld edx, esi, 1
add esi, esi
mov eax, esi
add eax, 0x80000000
adc edx, ebx
test edx, edx
ja 0x40305d
jb 0x402ff3
cmp eax, 0xffffffff
ja 0x40305d
cmp esi, 0x400
jg 0x403016
push esi
call fcn.00401540
add esp, 4
test al, al
je 0x403016
mov eax, esi
call fcn.00630a80
mov dword [ebp - 0x10], esp
mov eax, esp
jmp 0x40304d
or eax, 0xffffffff
sub eax, esi
cmp eax, 8
jb 0x403032
lea eax, [esi + 8]
push eax
call fcn.005f12b0
add esp, 4
test eax, eax
jne 0x40303c
jmp 0x40304d
push 0x80070216
call fcn.00401810
mov ebx, eax
mov dword [eax], 0
mov dword [ebp - 0x434], ebx
add eax, 8
push 3
push esi
mov esi, edi
mov edi, eax
call fcn.004016c0
test eax, eax
jne 0x403099
xor esi, esi
lea ecx, [ebp - 0x414]
cmp dword [ebp - 0x418], ecx
je 0x403078
lea eax, [ebp - 0x418]
call fcn.0040d160
cmp ebx, esi
je 0x40308f
lea esp, [esp]
push ebx
mov ebx, dword [ebx]
call fcn.005f1260
add esp, 4
cmp ebx, esi
jne 0x403080
mov eax, 0x8007000e
jmp 0x403283
push 2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
mov dword [ebp - 0x428], edi
test edi, edi
jne 0x4030ee
mov edx, esi
push edx
push str.Failed_to_LoadLibrary_on__s_n
push eax
mov eax, dword [0x6c2424]
push eax
lea ecx, [ebp - 0x42c]
push ecx
mov dword [ebp - 0x42c], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 0x428], 0x1ce
call fcn.004017b0
add esp, 0x14
call fcn.00401b50
mov esi, eax
jmp 0x403255
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x430]
push edx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
jne 0x403160
mov ecx, dword [ebp - 0x430]
mov edx, ecx
shr edx, 0x10
mov eax, str.Failed_to_FindResource_on_ID:_d_TYPE:_s_n
test edx, edx
je 0x403122
mov eax, str.Failed_to_FindResource_on_ID:_s_TYPE:_s_n
mov edx, dword [ebp - 0x41c]
push edx
push ecx
push eax
mov eax, dword [0x6c2424]
push 0
push eax
lea ecx, [ebp - 0x424]
push ecx
mov dword [ebp - 0x424], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 0x420], 0x1d7
call fcn.004017b0
add esp, 0x18
call fcn.00401b50
jmp 0x40324c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x41c], eax
test eax, eax
jne 0x4031ac
mov edx, dword [0x6c2424]
push str.Failed_to_LoadResource_n
push eax
push edx
lea eax, [ebp - 0x424]
push eax
mov dword [ebp - 0x424], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 0x420], 0x1e2
call fcn.004017b0
add esp, 0x10
call fcn.00401b50
jmp 0x40324c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
lea ecx, [eax + 1]
mov dword [ebp - 0x420], eax
cmp ecx, eax
jae 0x4031cb
mov esi, 0x8007000e
jmp 0x40324e
mov edi, ecx
lea esi, [ebp - 0x418]
mov byte [ebp - 4], 2
call fcn.0040c5b0
mov dword [ebp - 4], 1
jmp 0x4031f8
mov eax, dword [ebp - 0x418]
test eax, eax
jne 0x40320f
mov edi, dword [ebp - 0x428]
mov esi, 0x8007000e
jmp 0x40324e
mov esi, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x41c]
push esi
push ecx
push esi
push eax
call fcn.00401920
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp + 0x10]
add esp, 0x10
mov byte [edx + esi], 0
mov edx, dword [ebp - 0x418]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00404700
mov edi, dword [ebp - 0x428]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x414]
cmp dword [ebp - 0x418], ecx
je 0x40326e
lea eax, [ebp - 0x418]
call fcn.0040d160
test ebx, ebx
je 0x403281
push ebx
mov ebx, dword [ebx]
call fcn.005f1260
add esp, 4
test ebx, ebx
jne 0x403272
mov eax, esi
lea esp, [ebp - 0x44c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005f0da0
mov esp, ebp
pop ebp
ret 0xc