Function at 0x102ea29e
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x102ea2b1
and dword [edi], 0
movzx esi, word [ebp + 0xc]
mov ebx, dword [ebp + 8]
push 0x3e6
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x102ea33b
push 2
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
jne 0x102ea2e1
xor eax, eax
jmp 0x102ea832
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x102ea2da
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
cmp dword [ebx + 0x10], 0
jne 0x102ea2da
push ebx
call fcn.102ea18f
mov esi, eax
test edi, edi
je 0x102ea316
cmp dword [ebp + 0x14], esi
jae 0x102ea326
push 0xa
pop ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x102ea2da
push 0
push esi
call fcn.100dc747
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x102ea2da
push esi
push ebx
push edi
call fcn.1027ad2a
add esp, 0xc
mov dword [edi + 0x14], esi
mov eax, edi
jmp 0x102ea832
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x102ea2da
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0xc], esi
inc ecx
mov dword [ebp - 8], ebx
push 0x20
movzx eax, word [esi + 4]
pop edx
cmp ax, cx
jne 0x102ea40f
movzx ebx, byte [esi + 6]
mov eax, 0x100
test ebx, ebx
cmove ebx, eax
lea eax, [ebp - 0x10]
push eax
push 4
mov dword [ebp - 8], ebx
call fcn.10008d89
lea eax, [ebp - 4]
mov dword [ebp + 0x10], ebx
push eax
lea eax, [ebp + 0x10]
xor ebx, ebx
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], ebx
push eax
call fcn.100e026f
movzx eax, word [esi]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 3
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
mov dword [ebp - 0x14], 0x28
push eax
movzx eax, word [esi + 2]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.102ea090
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
call fcn.102ea0be
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
push dword [ebp - 4]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.102ea164
mov dword [ebp - 4], 8
jmp 0x102ea6af
push 2
pop ecx
cmp ax, cx
jne 0x102ea4f2
lea eax, [ebp - 0x14]
push eax
push 4
call fcn.10008d89
lea eax, [ebp - 4]
mov dword [ebp + 0x10], 2
push eax
lea eax, [ebp + 0x10]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.100e026f
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 7
push eax
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 8
push eax
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], ebx
push eax
call fcn.102ea0f0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
mov dword [ebp - 0x14], 0x28
push eax
movzx eax, word [esi + 2]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.102ea090
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
call fcn.102ea0be
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
push dword [ebp - 4]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x18]
push eax
call fcn.102ea164
mov dword [ebp - 4], 1
jmp 0x102ea6af
cmp ax, dx
je 0x102ea5de
push 0x18
pop ecx
cmp ax, cx
je 0x102ea5de
lea eax, [ebp - 0x14]
push eax
push 4
pop ebx
push ebx
mov dword [ebp - 4], ebx
call fcn.10008d89
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], 0x10
push eax
lea eax, [ebp + 0x10]
xor ebx, ebx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x10], ebx
push eax
call fcn.100e026f
movzx eax, word [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 1
push eax
lea eax, [ebp - 0x18]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 2
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], ebx
push eax
call fcn.102ea0f0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 3
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
mov dword [ebp - 0x18], 0x28
push eax
movzx eax, word [esi + 2]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.102ea090
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.102ea0be
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
push dword [ebp - 0x10]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x20]
push eax
call fcn.102ea164
jmp 0x102ea6af
lea eax, [ebp - 0x18]
mov dword [ebp - 8], ebx
push eax
push 4
call fcn.10008d89
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], ebx
push eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x10], ebx
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100e026f
movzx eax, word [esi]
mov dword [ebp - 0x14], eax
movzx eax, word [esi + 4]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp + 0x10], ebx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.102ea12b
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 8
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], ebx
push eax
call fcn.102ea0f0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 3
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], ebx
push eax
call fcn.100e0204
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
mov dword [ebp - 0x18], 0x28
push eax
movzx eax, word [esi + 2]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.102ea090
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.102ea0be
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
push dword [ebp - 0x10]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.102ea164
movzx ecx, word [esi + 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax]
mov dword [ebp + 0x10], eax
test edi, edi
je 0x102ea6bc
mov ebx, edi
jmp 0x102ea6cf
push ebx
push eax
call fcn.100dc747
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x102ea2da
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov dword [ebx], 0x28
movzx eax, word [esi]
mov dword [ebx + 4], eax
movzx eax, word [esi + 2]
and dword [ebx + 0x24], 0
mov dword [ebx + 8], eax
xor eax, eax
inc eax
mov word [ebx + 0xe], cx
mov word [ebx + 0xc], ax
xor eax, eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x20], eax
test edi, edi
je 0x102ea718
cmp dword [ebp + 0x14], edx
jb 0x102ea2da
test eax, eax
je 0x102ea767
mov edi, eax
lea eax, [esi + 7]
shl edi, 2
push edi
push eax
lea eax, [ebx + 0x28]
push eax
call fcn.1027ad2a
mov eax, dword [ebp - 8]
add esp, 0xc
lea esi, [eax*4 + 0x28]
mov eax, dword [ebp + 0x10]
sub eax, esi
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0xfffffffffffffff9
pop ecx
sub ecx, edi
add eax, ecx
push eax
lea eax, [esi + ebx]
push eax
mov eax, dword [ebp - 0xc]
add eax, 7
add eax, edi
jmp 0x102ea82a
xor eax, eax
inc eax
cmp cx, ax
jne 0x102ea79b
mov eax, dword [0x1041efd0]
mov dword [ebx + 0x28], eax
mov eax, dword [0x1041efd4]
mov dword [ebx + 0x2c], eax
lea eax, [edx - 0x30]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
sub eax, 6
push eax
lea eax, [ebx + 0x30]
jmp 0x102ea826
movzx eax, word [esi + 4]
push 3
pop edi
cmp ax, di
jne 0x102ea7d2
push 0x10
pop ecx
lea eax, [edx - 0x68]
add esi, 7
push eax
push dword [ebp + 0xc]
lea edi, [ebx + 0x28]
push dword [ebp + 8]
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
sub eax, 6
push eax
lea eax, [ebx + 0x68]
push eax
mov eax, dword [ebp - 0xc]
add eax, 0x47
jmp 0x102ea82a
push 0x20
pop ecx
cmp ax, cx
je 0x102ea80f
push 0x18
pop ecx
cmp ax, cx
je 0x102ea80f
push 0x10
pop ecx
lea eax, [edx - 0x68]
mov esi, 0x1041ee58
push eax
push dword [ebp + 0xc]
lea edi, [ebx + 0x28]
push dword [ebp + 8]
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
sub eax, 6
push eax
lea eax, [ebx + 0x68]
push eax
mov eax, dword [ebp - 0xc]
add eax, 6
jmp 0x102ea82a
lea eax, [edx - 0x28]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
sub eax, 6
push eax
lea eax, [ebx + 0x28]
push eax
lea eax, [esi + 6]
push eax
call fcn.102ea83b
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10