Function at 0x403260
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
cld
mov ecx, 5
push esi
lea esi, [ebp - 0x38]
mov edi, esi
push ebx
sub esp, 0xac
rep stosd dword es:[edi], eax
movzx ecx, word [ebp + 0xc]
mov ebx, 0x400
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xc], ebx
mov eax, dword [0x410c70]
mov edi, esi
mov dword [ebp - 0x5c], edx
mov edx, 0xa
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.KERNEL32.dll_FindResourceExA
sub esp, 0x10
test eax, eax
je 0x4034b5
mov dword [esp + 4], eax
mov ebx, dword [0x410c70]
mov dword [esp], ebx
call sub.KERNEL32.dll_LoadResource
sub esp, 8
test eax, eax
je 0x4032fc
mov dword [esp], eax
call sub.KERNEL32.dll_LockResource
sub esp, 4
test eax, eax
mov ecx, eax
je 0x4032fc
xor edx, edx
jmp 0x4032f0
movzx eax, byte [edx + ecx]
mov byte [edx + edi], al
inc edx
test al, al
jne 0x4032f0
mov dword [esp], edi
lea esi, [ebp - 0x58]
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x60], eax
cld
xor eax, eax
mov edi, esi
movzx edx, word [ebp + 0x10]
mov ecx, 5
mov ebx, 0x400
rep stosd dword es:[edi], eax
mov dword [esp + 0xc], ebx
mov edi, esi
mov esi, dword [0x410c70]
mov dword [esp + 8], edx
mov ecx, 0xa
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.KERNEL32.dll_FindResourceExA
sub esp, 0x10
test eax, eax
je 0x4034a1
mov dword [esp + 4], eax
mov edx, dword [0x410c70]
mov dword [esp], edx
call sub.KERNEL32.dll_LoadResource
sub esp, 8
test eax, eax
je 0x40338c
mov dword [esp], eax
call sub.KERNEL32.dll_LockResource
sub esp, 4
test eax, eax
mov ecx, eax
je 0x40338c
xor edx, edx
mov esi, esi
lea edi, [edi]
movzx ebx, byte [edx + ecx]
mov byte [edx + edi], bl
inc edx
test bl, bl
jne 0x403380
mov dword [esp], edi
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], 0
mov edi, dword [ebp - 0x6c]
cdq
mov dword [ebp - 0x70], ebx
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x70]
imul esi, ecx
mul dword [ebp - 0x90]
mov ecx, dword [ebp - 0x90]
imul ecx, edi
mov dword [ebp - 0x78], eax
lea ebx, [edx + esi]
mov edi, dword [ebp - 0x78]
xor eax, eax
mov edx, 0x6400000
lea esi, [ebx + ecx]
mov dword [ebp - 0x74], esi
mov ecx, dword [ebp - 0x74]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004050d0
mov ebx, dword [ebp - 0x60]
cmp ebx, eax
jge 0x40340b
mov ebx, eax
test ebx, ebx
jle 0x403460
mov edx, dword [0x410c20]
test edx, edx
jne 0x403468
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcat
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [esp], ebx
mov edx, 0xa
add eax, esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll__itoa
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x206d
mov byte [eax + esi + 2], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x18], ebx
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
mov dword [esp], edx
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
shr edi, 0x14
mov dword [esp + 0x14], edi
mov edi, str.Heap__s:_t_d_MB____d____Free:__d_MB__Heap_size:__d_MB_n
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
call sub.msvcrt.dll_fprintf
jmp 0x403419
mov dword [esp], 0
call sub.KERNEL32.dll_SetLastError
sub esp, 4
jmp 0x40338c
mov dword [esp], 0
call sub.KERNEL32.dll_SetLastError
sub esp, 4
jmp 0x4032fc