Function at 0x100016aa
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov edx, ecx
mov edi, dword [ebp + 0xc]
mov eax, dword [0x1004f158]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor esi, esi
lea ecx, [ebp - 0x2c]
mov dword [ecx], esi
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov dword [ebp - 0x4c], edx
push dword [edx + 8]
call fcn.10001aa4
lea eax, [ebp - 0x34]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax - 4], eax
cmp dword [edi], 0x3038
je 0x10001724
lea edi, [ebp - 0x38]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x20], ebx
mov ecx, edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x1003f040
push ebx
lea eax, [ebp - 0x18]
push eax
call fcn.10001e0e
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x14], esi
cmp dword [ebx + 8], 0x3038
lea ebx, [ebx + 8]
jne 0x100016f3
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, esi
je 0x100019da
mov edi, dword [esi + 0x44]
cmp edi, 0x3038
sete al
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
cmp ecx, edx
je 0x100018d5
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x44], 1
mov edi, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
cmp ebx, 0xffffffff
je 0x10001789
cmp edi, 0x3141
jg 0x10001794
lea ecx, [edi - 0x3020]
cmp ecx, 0x22
ja case.0x1000177a.12336
jmp dword [ecx*4 + 0x1003f088]
cmp dword [esi + 0x1c], ebx
jmp 0x10001868
mov ch, byte [ebp - 0x44]
and ch, 1
jmp 0x10001890
cmp edi, 0x3142
je 0x10001876
cmp edi, 0x3147
je 0x1000187e
cmp edi, 0x348d
jne case.0x1000177a.12336
cmp dword [esi + 0xa8], ebx
jmp 0x10001884
mov ecx, dword [esi + 0x7c]
jmp 0x100017e6
cmp dword [esi + 0x90], ebx
jmp 0x10001884
mov ecx, dword [esi + 0x8c]
jmp 0x100017e6
cmp dword [esi + 0x38], ebx
jmp 0x10001884
mov ecx, dword [esi + 0x4c]
and ecx, ebx
cmp ecx, ebx
jmp 0x10001884
cmp dword [ebp - 0x48], ebx
jmp 0x10001884
cmp dword [esi + 0x54], ebx
jmp 0x10001868
cmp dword [esi + 0x24], ebx
jmp 0x10001868
cmp dword [esi + 0x88], ebx
jmp 0x10001868
cmp dword [esi + 0x68], ebx
jmp 0x10001884
cmp dword [esi + 0x48], ebx
jmp 0x10001884
cmp dword [esi + 0x40], ebx
jmp 0x10001884
cmp dword [esi + 0x70], ebx
jmp 0x10001884
cmp dword [esi + 0x50], ebx
jmp 0x10001868
cmp dword [esi + 0x30], ebx
jmp 0x10001868
cmp dword [esi + 0x3c], ebx
jmp 0x10001884
cmp dword [esi + 0x28], ebx
jmp 0x10001868
cmp dword [esi + 0x84], ebx
jmp 0x10001868
cmp dword [esi + 0x20], ebx
jmp 0x10001868
cmp dword [esi + 0x94], ebx
jmp 0x10001884
cmp dword [esi + 0x34], ebx
jmp 0x10001868
cmp dword [esi + 0x6c], ebx
jmp 0x10001884
cmp dword [esi + 0x9c], ebx
jmp 0x10001884
cmp dword [esi + 0x80], ebx
jmp 0x10001868
cmp dword [esi + 0x78], ebx
jmp 0x10001884
cmp dword [esi + 0x2c], ebx
setge byte [ebp - 0x44]
jmp case.0x1000177a.12330
cmp dword [esi + 0x98], ebx
jmp 0x10001884
cmp dword [esi + 0xa0], ebx
jmp 0x10001884
cmp dword [esi + 0xa4], ebx
sete byte [ebp - 0x44]
mov ch, 1
test byte [ebp - 0x44], 1
je 0x100018d9
cmp edi, 0x3027
movzx ecx, ch
movzx eax, al
cmove eax, ecx
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x100018b0
mov edi, ebx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x100018a6
jmp 0x100018c6
mov edi, dword [edx + 8]
cmp dword [edi], edx
je 0x100018c6
add edx, 8
mov ecx, dword [edx]
lea edx, [ecx + 8]
mov edi, dword [ecx + 8]
cmp dword [edi], ecx
jne 0x100018ba
mov edx, edi
lea ecx, [ebp - 0x34]
cmp ecx, edi
jne 0x10001758
jmp 0x100018d9
mov byte [ebp - 0x44], 1
and al, byte [ebp - 0x44]
test al, 1
je case.0x1000177a.12353
lea eax, [esi + 0x10]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
cmp ebx, edi
jae 0x100018fe
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x28], ebx
jmp case.0x1000177a.12353
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x2c]
sub ebx, edx
mov eax, ebx
sar eax, 2
mov ecx, eax
mov dword [ebp - 0x54], eax
inc eax
cmp eax, 0x40000000
jae 0x10001a96
sub edi, edx
mov ecx, edi
sar ecx, 2
sar edi, 1
cmp edi, eax
cmovb edi, eax
cmp ecx, 0x1fffffff
mov eax, 0x3fffffff
cmovae edi, eax
test edi, edi
mov dword [ebp - 0x44], edx
je 0x10001962
cmp edi, 0x40000000
jae 0x10001a9e
lea eax, [edi*4]
push eax
call fcn.1001d6c7
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x44]
jmp 0x10001964
xor ecx, ecx
lea eax, [ecx + edi*4]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
lea edi, [ecx + eax*4]
add edi, 4
mov eax, dword [ebp - 0x48]
mov dword [edi - 4], eax
test ebx, ebx
jle 0x1000198f
push ebx
push edx
push ecx
mov ebx, ecx
call fcn.100202e0
mov ecx, ebx
mov edx, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x24], eax
test edx, edx
je case.0x1000177a.12353
push edx
call fcn.1001d6f7
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100019b9
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100019af
jmp 0x100019cf
mov eax, dword [esi + 8]
cmp dword [eax], esi
je 0x100019cf
add esi, 8
mov ecx, dword [esi]
lea esi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x100019c3
mov esi, eax
cmp dword [ebp - 0x4c], eax
jne 0x10001737
mov edi, dword [ebp + 8]
test edi, edi
je 0x10001a4e
mov esi, dword [ebp + 0x10]
lea ebx, [ebp - 0x40]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.100014de
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x28]
mov dl, byte [ebx + 4]
lea eax, [ebp - 0x18]
mov byte [eax + 4], dl
mov edx, dword [ebx]
mov dword [eax], edx
push eax
push ecx
push dword [ebp - 0x44]
call fcn.10001e98
add esp, 0xc
mov al, 1
mov dword [ebp - 0x44], eax
test esi, esi
jle 0x10001a4a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
sub eax, ecx
xor edx, edx
sar eax, 2
cmovs eax, edx
cmp eax, edx
je 0x10001a5c
mov ebx, dword [ecx + edx*4]
mov ebx, dword [ebx + 0x38]
mov dword [edi + edx*4], ebx
inc edx
cmp esi, edx
jne 0x10001a2d
mov eax, esi
jmp 0x10001a5c
mov dword [ebp - 0x44], 0
xor eax, eax
jmp 0x10001a5c
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
sar eax, 2
mov cl, 1
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
lea ecx, [ebp - 0x38]
push dword [ecx + 4]
call fcn.10001de0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10001a7f
mov dword [ebp - 0x28], eax
push eax
call fcn.1001d6f7
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001d728
mov eax, dword [ebp - 0x44]
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
lea ecx, [ebp - 0x2c]
call fcn.1001d01c
call fcn.1002b34e
int3