Function at 0x419db0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff0
mov ebx, edx
mov ebp, esp
push 0xa
push 0x41a514
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_FindResourceA
push eax
mov eax, dword [0x426674]
push eax
call sub.kernel32.dll_LoadResource
mov dword [esp + 4], eax
mov byte [ebx], 0xff
cmp dword [esp + 4], 0
je 0x41a509
mov eax, dword [esp + 4]
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp], eax
mov eax, ebx
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov al, byte [ebx]
cmp al, 0xff
jle 0x41a4f6
movsx eax, al
dec eax
test eax, eax
jl 0x41a4f6
inc eax
mov dword [esp + 8], eax
xor esi, esi
lea edi, [esi + 1]
push edi
lea eax, [ebx + 1]
mov ecx, 1
mov edx, dword [0x4059b0]
call fcn.00403cd0
add esp, 4
push edi
lea eax, [ebx + 5]
mov ecx, 1
mov edx, dword [0x4059d8]
call fcn.00403cd0
add esp, 4
push edi
lea eax, [ebx + 9]
mov ecx, 1
mov edx, dword [0x405a00]
call fcn.00403cd0
add esp, 4
push edi
lea eax, [ebx + 0xd]
mov ecx, 1
mov edx, dword [0x405a2c]
call fcn.00403cd0
add esp, 4
push edi
lea eax, [ebx + 0x11]
mov ecx, 1
mov edx, dword [0x405a58]
call fcn.00403cd0
add esp, 4
imul edi, esi, 0xb
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
cmp byte [eax + edi*4], 0xff
jle 0x41a04d
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 1]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 1]
mov eax, dword [eax + edi*4 + 1]
call fcn.00402e24
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 5]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 9]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xa]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xb]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xc]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xd]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xe]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xf]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x10]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
cmp byte [eax + edi*4 + 0xf], 0
je 0x41a04d
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x11]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x12]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x13]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x14]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 8
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x1c]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 8
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x24]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 8
imul edi, esi, 0x13
mov eax, dword [ebx + 5]
add eax, edi
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 5]
cmp byte [eax + edi], 0xff
jle 0x41a195
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 1]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 2]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 3]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 5]
cmp dword [eax + edi + 3], 0
jbe 0x41a195
imul eax, esi, 0x13
mov edx, dword [ebx + 5]
mov eax, dword [edx + eax + 3]
push eax
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 7]
mov ecx, 1
mov edx, dword [0x4057f4]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 5]
mov ecx, dword [eax + edi + 3]
shl ecx, 3
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 7]
mov edx, dword [ebp]
call fcn.004044c4
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 3]
shl eax, 3
add dword [ebp], eax
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 3]
push eax
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 0xb]
mov ecx, 1
mov edx, dword [0x40581c]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 5]
mov ecx, dword [eax + edi + 3]
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 0xb]
mov edx, dword [ebp]
call fcn.004044c4
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 3]
add dword [ebp], eax
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 3]
push eax
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 0xf]
mov ecx, 1
mov edx, dword [0x405844]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 5]
mov ecx, dword [eax + edi + 3]
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 0xf]
mov edx, dword [ebp]
call fcn.004044c4
mov eax, dword [ebx + 5]
mov eax, dword [eax + edi + 3]
add dword [ebp], eax
mov edi, esi
shl edi, 4
add edi, esi
mov eax, dword [ebx + 9]
add eax, edi
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 9]
cmp byte [eax + edi], 0xff
jle 0x41a318
mov eax, dword [ebx + 9]
lea eax, [eax + edi + 1]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 9]
cmp dword [eax + edi + 1], 0
jbe 0x41a318
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [ebx + 9]
mov eax, dword [edx + eax + 1]
push eax
mov eax, dword [ebx + 9]
lea eax, [eax + edi + 5]
mov ecx, 1
mov edx, dword [0x4058a0]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 9]
mov ecx, dword [eax + edi + 1]
shl ecx, 2
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 5]
mov edx, dword [ebp]
call fcn.004044c4
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
shl eax, 2
add dword [ebp], eax
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
push eax
mov eax, dword [ebx + 9]
lea eax, [eax + edi + 9]
mov ecx, 1
mov edx, dword [0x4058c8]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
dec eax
test eax, eax
jl 0x41a2a2
inc eax
mov dword [esp + 0xc], eax
xor edi, edi
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [ebx + 9]
mov eax, dword [edx + eax + 9]
lea eax, [eax + edi*4]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [ebx + 9]
mov eax, dword [edx + eax + 9]
mov eax, dword [eax + edi*4]
call fcn.00402e24
inc eax
add dword [ebp], eax
inc edi
dec dword [esp + 0xc]
jne 0x41a268
mov edi, esi
shl edi, 4
add edi, esi
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
push eax
mov eax, dword [ebx + 9]
lea eax, [eax + edi + 0xd]
mov ecx, 1
mov edx, dword [0x4058f0]
call fcn.00403cd0
add esp, 4
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
dec eax
test eax, eax
jl 0x41a318
inc eax
mov dword [esp + 0xc], eax
xor edi, edi
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [ebx + 9]
mov eax, dword [edx + eax + 0xd]
lea eax, [eax + edi*4]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, esi
shl eax, 4
add eax, esi
mov edx, dword [ebx + 9]
mov eax, dword [edx + eax + 0xd]
mov eax, dword [eax + edi*4]
call fcn.00402e24
inc eax
add dword [ebp], eax
inc edi
dec dword [esp + 0xc]
jne 0x41a2de
mov edi, esi
shl edi, 5
sub edi, esi
mov eax, dword [ebx + 0xd]
add eax, edi
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
cmp byte [eax + edi], 0xff
jle 0x41a451
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 1]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 5]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 9]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 0xd]
mov eax, dword [eax + edi + 9]
call fcn.00402e24
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0xd]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 0xd]
mov eax, dword [eax + edi + 0xd]
call fcn.00402e24
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x11]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x12]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 8
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1a]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1b]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1c]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1d]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1e]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov edi, esi
shl edi, 4
add edi, esi
mov eax, dword [ebx + 0x11]
add eax, edi
mov ecx, 1
mov edx, dword [ebp]
call fcn.004044c4
inc dword [ebp]
mov eax, dword [ebx + 0x11]
cmp byte [eax + edi], 0xff
jle 0x41a4eb
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 1]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 1]
call fcn.00402e24
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 5]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004044c4
add dword [ebp], 4
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 9]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 9]
call fcn.00402e24
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 0xd]
mov edx, dword [ebp]
call fcn.00402dbc
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 0xd]
call fcn.00402e24
inc eax
add dword [ebp], eax
inc esi
dec dword [esp + 8]
jne 0x419e27
mov eax, dword [esp + 4]
call fcn.004044d4
mov eax, dword [esp + 4]
push eax
call sub.kernel32.dll_FreeResource
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret