Function at 0x1008b810
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
call fcn.10002a40
mov eax, dword [0x10181e7c]
xor ebx, ebx
test eax, eax
je 0x1008b83c
lea esp, [esp]
mov ebx, eax
mov eax, dword [eax + 0x80]
test eax, eax
jne 0x1008b830
push 0x84
push 1
call fcn.10096650
mov esi, eax
add esp, 8
test esi, esi
je 0x1008b874
mov edi, dword [ebp + 8]
mov dword [esi], 0x10181e80
push dword [edi]
call fcn.100cba10
add esp, 4
mov dword [esi + 0x10], eax
test eax, eax
jne 0x1008b87d
push esi
call fcn.100966a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x6c], 1
movzx eax, word [edi + 4]
mov word [esi + 0x14], ax
movzx eax, word [edi + 6]
mov word [esi + 0x16], ax
movzx eax, word [edi + 0xc]
mov word [esi + 0x18], ax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x3c], eax
movzx eax, word [edi + 0x18]
mov word [esi + 0x40], ax
movzx eax, word [edi + 0x1a]
mov word [esi + 0x42], ax
xor eax, eax
cmp dword [edi + 0x2c], 2
sete al
mov dword [esi + 0x44], eax
call fcn.100d0ae0
mov dword [esi + 0x58], eax
xor eax, eax
mov ecx, dword [edi + 8]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x1008b939
push ecx
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push 0x1012e9d8
call fcn.1008e3c0
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x1008b939
push dword [ebp - 4]
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push 0x1012e9d8
call fcn.1008e3c0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x10]
xor ecx, ecx
mov dword [ebp - 4], eax
test eax, eax
je 0x1008b995
push eax
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push 0x1012e9d8
call fcn.1008e3c0
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x1008b995
push dword [ebp - 4]
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push 0x1012e9d8
call fcn.1008e3c0
add esp, 0x14
mov ecx, eax
mov dword [esi + 8], ecx
xor ecx, ecx
mov eax, dword [edi + 0x14]
mov dword [ebp - 4], eax
test eax, eax
je 0x1008b9f4
push eax
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push 0x1012e9d8
call fcn.1008e3c0
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x1008b9f4
push dword [ebp - 4]
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push 0x1012e9d8
call fcn.1008e3c0
add esp, 0x14
mov ecx, eax
movzx eax, word [esi + 0x16]
push ecx
push dword [esi + 8]
mov dword [esi + 0xc], ecx
push eax
movzx eax, word [esi + 0x14]
push eax
call fcn.1008f5b0
mov dword [esi + 4], eax
add esp, 0x10
mov eax, dword [ebp - 8]
test eax, eax
je 0x1008ba21
cmp byte [eax], 0
je 0x1008ba21
mov dword [esi + 0x1c], eax
jmp 0x1008ba2a
push eax
call fcn.100966a0
add esp, 4
cmp dword [esi + 4], 0
jne 0x1008ba62
push dword [esi + 8]
call fcn.100966a0
push dword [esi + 0xc]
call fcn.100966a0
push dword [esi + 0x1c]
call fcn.100966a0
push dword [esi + 0x10]
call fcn.100966a0
push esi
call fcn.100966a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x18]
push 0
push 0x68
push dword [esi + 0xc]
push dword [esi + 8]
push eax
movzx eax, word [esi + 0x16]
push eax
movzx eax, word [esi + 0x14]
push eax
xor eax, eax
cmp dword [edi + 0x2c], 2
sete al
lea eax, [eax*2 + 3]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1008f4b0
push dword [esi + 0x3c]
push dword [esi + 0x38]
mov ecx, dword [eax]
push dword [esi + 0x34]
mov dword [esi + 0x20], ecx
mov ecx, dword [eax + 4]
push dword [esi + 0x30]
mov dword [esi + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 0x28], ecx
mov eax, dword [eax + 0xc]
mov dword [esi + 0x2c], eax
movzx eax, word [esi + 0x16]
push eax
movzx eax, word [esi + 0x14]
push eax
push dword [esi + 4]
mov dword [esi + 0x48], 1
call fcn.1008d010
mov edi, dword [ebp + 0xc]
add esp, 0x40
mov dword [esi + 0x4c], eax
test edi, edi
jle 0x1008bafb
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esi + 0x78], edi
mov dword [esi + 0x7c], edx
lea esp, [esp]
mov eax, dword [edx + ecx*4]
inc ecx
mov dword [eax + 0x74], esi
cmp ecx, edi
jl 0x1008baf0
test ebx, ebx
je 0x1008bb07
mov dword [ebx + 0x80], esi
jmp 0x1008bb0d
mov dword [0x10181e7c], esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push esi
call fcn.1008c970
add esp, 8
cmp dword [ebp - 8], 0
jne 0x1008b874
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret