Function at 0x41adc4
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 0x41b528
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_FindResourceA
push eax
mov eax, dword [0x42d67c]
push eax
call sub.kernel32.dll_LoadResource
mov dword [esp + 4], eax
mov byte [ebx], 0xff
cmp dword [esp + 4], 0
je 0x41b51d
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.004045fc
inc dword [ebp]
mov al, byte [ebx]
cmp al, 0xff
jle 0x41b50a
movsx eax, al
dec eax
test eax, eax
jl 0x41b50a
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 [0x4060c4]
call fcn.00403f68
add esp, 4
push edi
lea eax, [ebx + 5]
mov ecx, 1
mov edx, dword [0x4060ec]
call fcn.00403f68
add esp, 4
push edi
lea eax, [ebx + 9]
mov ecx, 1
mov edx, dword [0x406114]
call fcn.00403f68
add esp, 4
push edi
lea eax, [ebx + 0xd]
mov ecx, 1
mov edx, dword [0x406140]
call fcn.00403f68
add esp, 4
push edi
lea eax, [ebx + 0x11]
mov ecx, 1
mov edx, dword [0x40616c]
call fcn.00403f68
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
cmp byte [eax + edi*4], 0xff
jle 0x41b061
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 1]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 1]
mov eax, dword [eax + edi*4 + 1]
call fcn.00402ef8
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.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 9]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xa]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xb]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xc]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xd]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xe]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0xf]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x10]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
cmp byte [eax + edi*4 + 0xf], 0
je 0x41b061
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x11]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x12]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x13]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x14]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 8
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x1c]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 8
mov eax, dword [ebx + 1]
lea eax, [eax + edi*4 + 0x24]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004045fc
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 5]
cmp byte [eax + edi], 0xff
jle 0x41b1a9
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 1]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 2]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 5]
lea eax, [eax + edi + 3]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 5]
cmp dword [eax + edi + 3], 0
jbe 0x41b1a9
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 [0x405f08]
call fcn.00403f68
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.004045fc
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 [0x405f30]
call fcn.00403f68
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.004045fc
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 [0x405f58]
call fcn.00403f68
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.004045fc
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 9]
cmp byte [eax + edi], 0xff
jle 0x41b32c
mov eax, dword [ebx + 9]
lea eax, [eax + edi + 1]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 9]
cmp dword [eax + edi + 1], 0
jbe 0x41b32c
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 [0x405fb4]
call fcn.00403f68
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.004045fc
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 [0x405fdc]
call fcn.00403f68
add esp, 4
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
dec eax
test eax, eax
jl 0x41b2b6
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.00402e90
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.00402ef8
inc eax
add dword [ebp], eax
inc edi
dec dword [esp + 0xc]
jne 0x41b27c
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 [0x406004]
call fcn.00403f68
add esp, 4
mov eax, dword [ebx + 9]
mov eax, dword [eax + edi + 1]
dec eax
test eax, eax
jl 0x41b32c
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.00402e90
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.00402ef8
inc eax
add dword [ebp], eax
inc edi
dec dword [esp + 0xc]
jne 0x41b2f2
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
cmp byte [eax + edi], 0xff
jle 0x41b465
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 1]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 5]
mov ecx, 4
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 9]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 0xd]
mov eax, dword [eax + edi + 9]
call fcn.00402ef8
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0xd]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 0xd]
mov eax, dword [eax + edi + 0xd]
call fcn.00402ef8
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x12]
mov ecx, 8
mov edx, dword [ebp]
call fcn.004045fc
add dword [ebp], 8
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1a]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1b]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1c]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1d]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0xd]
lea eax, [eax + edi + 0x1e]
mov ecx, 1
mov edx, dword [ebp]
call fcn.004045fc
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.004045fc
inc dword [ebp]
mov eax, dword [ebx + 0x11]
cmp byte [eax + edi], 0xff
jle 0x41b4ff
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 1]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 1]
call fcn.00402ef8
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.004045fc
add dword [ebp], 4
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 9]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 9]
call fcn.00402ef8
inc eax
add dword [ebp], eax
mov eax, dword [ebx + 0x11]
lea eax, [eax + edi + 0xd]
mov edx, dword [ebp]
call fcn.00402e90
mov eax, dword [ebx + 0x11]
mov eax, dword [eax + edi + 0xd]
call fcn.00402ef8
inc eax
add dword [ebp], eax
inc esi
dec dword [esp + 8]
jne 0x41ae3b
mov eax, dword [esp + 4]
call fcn.0040460c
mov eax, dword [esp + 4]
push eax
call sub.kernel32.dll_FreeResource
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret