Function at 0x41858c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x418967
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xa
push 0x418978
push 0
call sub.kernel32.dll_FindResourceA
mov ebx, eax
test ebx, ebx
je 0x4185ee
push ebx
push 0
call sub.kernel32.dll_SizeofResource
push eax
push ebx
push 0
call sub.kernel32.dll_LoadResource
mov ecx, eax
mov dl, 1
mov eax, dword [0x406b60]
call fcn.004070e4
mov esi, eax
jmp 0x41864a
lea eax, [ebp - 0x34]
call fcn.004085d8
lea eax, [ebp - 0x34]
mov edx, 0x418988
call fcn.00404a5c
mov eax, dword [ebp - 0x34]
call fcn.004076f8
test al, al
je 0x418637
lea eax, [ebp - 0x38]
call fcn.004085d8
lea eax, [ebp - 0x38]
mov edx, 0x418988
call fcn.00404a5c
mov ecx, dword [ebp - 0x38]
mov dl, 1
mov eax, dword [0x406a44]
call fcn.00406e34
mov esi, eax
jmp 0x41864a
mov ecx, 0x41899c
mov dl, 1
mov eax, dword [0x406a44]
call fcn.00406e34
mov esi, eax
mov dl, 1
mov eax, dword [0x406adc]
call fcn.00406fd0
mov dword [ebp - 0x30], eax
xor edx, edx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 4]
call fcn.00419f70
mov eax, dword [ebp - 4]
mov dword [eax + 0x664], esi
mov eax, dword [ebp - 4]
lea edx, [eax + 4]
mov ecx, 0x64c
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x28]
mov eax, esi
call fcn.00406d3c
mov eax, dword [ebp - 4]
lea edx, [eax + 0x650]
lea eax, [ebp - 0x28]
call fcn.00409258
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
add eax, 0x650
mov edx, 0x4189b8
call fcn.00409734
mov eax, dword [ebp - 0x3c]
call fcn.00417f98
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 4]
add eax, 0x650
mov edx, 0x4189c8
call fcn.00409734
mov eax, dword [ebp - 0x40]
mov edx, 0x4189dc
call fcn.00404ba0
mov eax, dword [0x434534]
sete byte [eax]
cmp dword [ebp + 8], 0
je 0x4186f3
mov eax, dword [ebp + 0xc]
call dword [ebp + 8]
lea edx, [ebp - 0x20]
mov ecx, 4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x418715
inc ebx
mov eax, esi
call fcn.00416430
dec ebx
jne 0x41870b
mov edx, dword [ebp - 0x30]
mov eax, esi
call fcn.0041814c
lea edx, [ebp - 0x14]
mov ecx, 4
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [0x434490]
mov ecx, 1
mov edx, dword [0x416fbc]
call fcn.004059ec
add esp, 4
mov eax, dword [0x434490]
mov eax, dword [eax]
call fcn.00405838
mov ebx, eax
test ebx, ebx
jl 0x4187d0
inc ebx
mov dword [ebp - 0xc], 0
lea edx, [ebp - 0x2c]
mov ecx, 4
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0x14]
mov eax, dword [0x434490]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x2c]
call fcn.00404de0
cmp dword [ebp - 0x2c], 0
jle 0x4187af
mov eax, dword [0x434490]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
lea eax, [eax + edx*8]
call fcn.00404cac
mov edx, eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0x14]
mov eax, dword [0x434490]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
lea edx, [eax + edx*8 + 4]
mov ecx, 4
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0x14]
inc dword [ebp - 0xc]
dec ebx
jne 0x418765
lea edx, [ebp - 0x1c]
mov ecx, 4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
add eax, 0x65c
mov ecx, 1
mov edx, dword [0x41adc8]
call fcn.004059ec
add esp, 4
mov ebx, dword [ebp - 0x1c]
dec ebx
test ebx, ebx
jl 0x41884e
inc ebx
mov dword [ebp - 0x10], 0
mov dl, 1
mov eax, dword [0x41ad38]
call fcn.0041b3ac
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x24]
lea edx, [eax + 0xc]
mov ecx, 4
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x14]
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x10], 1
inc dword [ebp - 0x10]
dec ebx
jne 0x41880e
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0xc]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0xc]
xor eax, eax
mov dword [ebp - 8], eax
lea edx, [ebp - 8]
mov ecx, 1
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 8]
mov ecx, 4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 8]
mov edx, eax
add edx, dword [ebp - 8]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov edx, dword [ebp - 0x30]
mov eax, esi
call fcn.0041814c
lea edx, [ebp - 0x18]
mov ecx, 4
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x14]
xor ecx, ecx
mov dl, 1
mov eax, dword [0x41b764]
call fcn.0041baec
mov edi, eax
mov ebx, dword [ebp - 0x18]
dec ebx
test ebx, ebx
jl 0x4188d8
inc ebx
mov edx, dword [ebp - 0x30]
mov eax, edi
call fcn.0041bb88
mov eax, edi
call fcn.0041ba2c
dec ebx
jne 0x4188c4
mov dl, 1
mov eax, edi
mov ecx, dword [eax]
call dword [ecx - 4]
mov dl, 1
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
call fcn.00405838
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x65c]
mov ebx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x660], ebx
mov eax, ebx
mov ecx, esi
xor edx, edx
call fcn.00418380
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
call fcn.00405830
dec eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x65c
mov ecx, 1
mov edx, dword [0x41adc8]
call fcn.004059ec
add esp, 4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41896e
lea eax, [ebp - 0x40]
mov edx, 4
call fcn.004047b8
lea eax, [ebp - 0x28]
call fcn.00404794
ret