Function at 0x402500
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
push esi
push edi
lea edi, [ebp - 0x268]
mov ecx, 0x9a
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x420004]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push str.ExtractFileFromResouces_:
call fcn.00401140
add esp, 8
push 1
mov eax, dword [ebp + 0x10]
push eax
call fcn.004013b0
add esp, 8
push 0x208
push 0
lea ecx, [ebp - 0x210]
push ecx
call fcn.00404770
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x234]
mov dx, word [ecx]
mov word [ebp - 0x23a], dx
add dword [ebp - 0x234], 2
cmp word [ebp - 0x23a], 0
jne 0x40256f
mov eax, dword [ebp - 0x234]
sub eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x244], eax
lea edx, [ebp - 0x210]
add edx, 0xfffffffe
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
mov cx, word [eax + 2]
mov word [ebp - 0x24a], cx
add dword [ebp - 0x248], 2
cmp word [ebp - 0x24a], 0
jne 0x4025bd
mov edi, dword [ebp - 0x248]
mov esi, dword [ebp - 0x240]
mov edx, dword [ebp - 0x244]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x250]
mov ax, word [edx]
mov word [ebp - 0x256], ax
add dword [ebp - 0x250], 2
cmp word [ebp - 0x256], 0
jne 0x402614
mov ecx, dword [ebp - 0x250]
sub ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x260], ecx
lea eax, [ebp - 0x210]
add eax, 0xfffffffe
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
mov dx, word [ecx + 2]
mov word [ebp - 0x266], dx
add dword [ebp - 0x264], 2
cmp word [ebp - 0x266], 0
jne 0x402662
mov edi, dword [ebp - 0x264]
mov esi, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x260]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, esp
push 0x420ed8
mov ecx, dword [ebp + 8]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x4026d4
xor eax, eax
jmp 0x40284d
mov esi, esp
mov edx, dword [ebp - 0x218]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
jne 0x402702
xor eax, eax
jmp 0x40284d
mov esi, esp
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jne 0x40272e
xor eax, eax
jmp 0x40284d
mov esi, esp
mov ecx, dword [ebp - 0x218]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
jne 0x40275c
xor eax, eax
jmp 0x40284d
mov esi, esp
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x228], eax
mov esi, esp
push 0
mov eax, dword [ebp - 0x224]
push eax
push 0
push 4
push 0
mov ecx, dword [ebp - 0x228]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x4027c5
xor eax, eax
jmp 0x40284d
mov esi, esp
push 0
push 0
push 0
push 2
mov edx, dword [ebp - 0x22c]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp esi, esp
call fcn.004175bb
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x230]
push edx
call fcn.00405070
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp esi, esp
call fcn.004175bb
mov esi, esp
mov ecx, dword [ebp - 0x22c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.004175bb
mov esi, esp
mov edx, dword [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.004175bb
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x40287c]
call fcn.00417567
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004037ab
add esp, 0x268
cmp ebp, esp
call fcn.004175bb
mov esp, ebp
pop ebp
ret