Function at 0x10086830
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.10002940
mov eax, dword [0x1016bc94]
xor ebx, ebx
test eax, eax
je 0x1008685c
lea esp, [esp]
mov ebx, eax
mov eax, dword [eax + 0x80]
test eax, eax
jne 0x10086850
push 0x84
push 1
call fcn.10091300
mov esi, eax
add esp, 8
test esi, esi
je 0x10086894
mov edi, dword [ebp + 8]
mov dword [esi], 0x1016bc98
push dword [edi]
call fcn.100ba680
add esp, 4
mov dword [esi + 0x10], eax
test eax, eax
jne 0x1008689d
push esi
call fcn.10091350
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.100bf100
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 0x10086959
push ecx
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push str.UTF_8
call fcn.10089410
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x10086959
push dword [ebp - 4]
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push str.UTF_8
call fcn.10089410
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 0x100869b5
push eax
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push str.UTF_8
call fcn.10089410
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x100869b5
push dword [ebp - 4]
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push str.UTF_8
call fcn.10089410
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 0x10086a14
push eax
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.WCHAR_T
push str.UTF_8
call fcn.10089410
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x10086a14
push dword [ebp - 4]
call fcn.100bb0d0
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 4]
push str.UCS_2_INTERNAL
push str.UTF_8
call fcn.10089410
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.1008a5f0
mov dword [esi + 4], eax
add esp, 0x10
mov eax, dword [ebp - 8]
test eax, eax
je 0x10086a41
cmp byte [eax], 0
je 0x10086a41
mov dword [esi + 0x1c], eax
jmp 0x10086a4a
push eax
call fcn.10091350
add esp, 4
cmp dword [esi + 4], 0
jne 0x10086a82
push dword [esi + 8]
call fcn.10091350
push dword [esi + 0xc]
call fcn.10091350
push dword [esi + 0x1c]
call fcn.10091350
push dword [esi + 0x10]
call fcn.10091350
push esi
call fcn.10091350
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.1008a4f0
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.10088060
mov edi, dword [ebp + 0xc]
add esp, 0x40
mov dword [esi + 0x4c], eax
test edi, edi
jle 0x10086b1b
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 0x10086b10
test ebx, ebx
je 0x10086b27
mov dword [ebx + 0x80], esi
jmp 0x10086b2d
mov dword [0x1016bc94], esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push esi
call fcn.10087b30
add esp, 8
cmp dword [ebp - 8], 0
jne 0x10086894
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret