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

Disassembly:
push 0xffffffffffffffff
push 0x10028488
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x1002fe30]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1002fe30]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
cmp eax, 0xfffffffe
mov esi, dword [esp + 0x90]
mov ebp, edx
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
lea edi, [ebp + 0x20]
je 0x10017d81
test eax, eax
je 0x10017d75
cmp eax, dword [esp + 0x88]
je 0x10017d81
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x8c]
jne 0x10017d9d
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, ebx
jmp 0x10018541
cmp dword [ebp + 8], 0
mov ebx, dword [esi]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0
jbe 0x10017f50
jmp 0x10017dc0
cmp byte [edi], 0
mov ebp, dword [esp + 0x84]
mov esi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
jne 0x10017e50
cmp eax, 0xfffffffe
je 0x10017e0e
test eax, eax
jne 0x10017deb
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [esi + 0x18], 0x10
jb 0x10017df6
mov ecx, dword [esi + 4]
jmp 0x10017df9
lea ecx, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, ecx
cmp ebp, edx
jb 0x10017e0e
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov cl, byte [ebp]
je 0x10017e27
mov edx, dword [ebx]
movzx ecx, cl
mov cl, byte [ecx + edx + 0x104]
mov dl, byte [edi]
cmp cl, dl
je 0x10017f74
test dl, dl
jne 0x10017f38
lea esp, [esp]
add edi, 1
cmp byte [edi], 0
je 0x10017e40
jmp 0x10017f38
cmp esi, 0xfffffffe
je 0x10017e67
test esi, esi
je 0x10017e62
cmp esi, dword [esp + 0x88]
je 0x10017e67
call fcn.1001fd76
cmp ebp, dword [esp + 0x8c]
je 0x10017f1f
cmp esi, 0xfffffffe
je 0x10017e9e
test esi, esi
jne 0x10017e82
call fcn.1001fd76
cmp dword [esi + 0x18], 0x10
jb 0x10017e8d
mov eax, dword [esi + 4]
jmp 0x10017e90
lea eax, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x10017e9e
call fcn.1001fd76
cmp byte [esp + 0x94], 0
mov al, byte [ebp]
je 0x10017eb7
mov ecx, dword [ebx]
movzx eax, al
mov al, byte [eax + ecx + 0x104]
cmp al, byte [edi]
jne 0x10017f1f
add edi, 1
cmp esi, 0xfffffffe
je 0x10017ee8
test esi, esi
jne 0x10017ecc
call fcn.1001fd76
cmp dword [esi + 0x18], 0x10
jb 0x10017ed7
mov eax, dword [esi + 4]
jmp 0x10017eda
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp ebp, ecx
jb 0x10017ee8
call fcn.1001fd76
add ebp, 1
cmp byte [edi], 0
mov dword [esp + 0x30], ebp
jne 0x10017e50
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x10017f7e
cmp esi, 0xfffffffe
je 0x10017fa7
test esi, esi
je 0x10017fa2
cmp esi, dword [esp + 0x80]
jmp 0x10017fa0
cmp byte [edi], 0
je 0x10017ef8
mov eax, edi
add eax, 1
cmp byte [eax], 0
jne 0x10017f26
lea edi, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 1
cmp ecx, dword [edx + 8]
mov dword [esp + 0x18], ecx
jb 0x10017dc0
cmp eax, 0xfffffffe
je 0x10017ffd
test eax, eax
jne 0x10017f69
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x10017fe0
mov ecx, dword [eax + 4]
jmp 0x10017fe3
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
je 0x10017f95
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x80]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1001853c
cmp esi, 0xfffffffe
je 0x10017fa7
test esi, esi
je 0x10017fa2
cmp esi, eax
je 0x10017fa7
call fcn.1001fd76
cmp ebp, dword [esp + 0x84]
jne 0x10017fcc
lea ecx, [esp + 0x80]
call fcn.10001210
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1001853c
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1001853c
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10017ffd
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov ecx, dword [esp + 0x84]
mov cl, byte [ecx]
je 0x10018025
mov ebp, ebx
mov edx, dword [ebp]
movzx ecx, cl
mov bl, byte [ecx + edx + 0x104]
mov byte [esp + 0x17], bl
jmp 0x1001802f
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x17], cl
mov bl, cl
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
xor edx, edx
cmp ecx, edx
jne 0x10018045
cmp dword [esi + 0x10], edx
je 0x1001835b
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edx
mov byte [esp + 0x54], 0
cmp ecx, edx
mov dword [esp + 0x78], edx
je 0x100181fe
mov edx, dword [esp + 0x28]
test dword [edx + 8], 0x200000
jne 0x10018083
mov ebp, 1
mov byte [esp + 0x54], bl
mov dword [esp + 0x64], ebp
mov byte [esp + 0x55], 0
jmp 0x100180dc
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, ebp
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.100039e0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 1
call fcn.10003f50
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x100180d1
mov eax, dword [esp + 0x38]
push eax
call fcn.1001fc1d
add esp, 4
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x80]
cmp dword [esi + 0xc], 0
mov dword [esp + 0x18], 0
jbe 0x100181fe
mov ebx, dword [esp + 0x54]
cmp byte [edi], 0
jne 0x10018112
test ebp, ebp
je 0x10018155
cmp ebp, 1
jne 0x10018112
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x1001810d
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10018155
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10018117
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x1001812c
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10018139
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x10018153
cmp ebp, esi
jb 0x100181c0
cmp ebp, esi
setne al
test eax, eax
jl 0x100181c0
add edi, 1
cmp byte [edi], 0
jne 0x10018155
add edi, 1
cmp byte [edi], 0
jne 0x10018188
test ebp, ebp
je 0x100183a2
cmp ebp, 1
jne 0x10018188
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x1001817f
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x100183a2
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10018190
sub eax, edx
push eax
push edi
push ebp
push 0
lea ecx, [esp + 0x60]
call fcn.10001b70
test eax, eax
mov ebx, dword [esp + 0x54]
jle 0x100183a2
mov ebp, dword [esp + 0x64]
jmp 0x100181d0
add edi, 1
cmp byte [edi], 0
jne 0x100181c0
add edi, 1
jmp 0x100181d0
add edi, 1
cmp byte [edi], 0
jne 0x100181d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, 1
add edi, 1
cmp eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
jb 0x100180f2
mov eax, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x10], 0
je 0x1001831b
lea edx, [esp + 0x19]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.10006bb0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 2
call fcn.10003f50
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x1001825c
mov edx, dword [esp + 0x38]
push edx
call fcn.1001fc1d
add esp, 4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov dword [esp + 0x28], eax
jbe 0x10018310
mov ebp, dword [esp + 0x64]
cmp byte [edi], 0
jne 0x100182af
test ebp, ebp
je 0x10018427
cmp ebp, 1
jne 0x100182af
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x100182a6
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10018427
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100182b4
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x100182c9
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x100182d8
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x100182f8
cmp ebp, esi
jb 0x100182f8
cmp ebp, esi
setne al
test eax, eax
je 0x10018427
add edi, 1
cmp byte [edi], 0
jne 0x100182f8
add ebx, 1
add edi, 1
cmp ebx, dword [esp + 0x28]
jb 0x10018285
mov bl, byte [esp + 0x17]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x68], 0x10
mov dword [esp + 0x78], 0xffffffff
jb 0x1001833e
mov edx, dword [esp + 0x54]
push edx
call fcn.1001fc1d
mov eax, dword [esp + 0x84]
add esp, 4
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
mov ecx, dword [esi + 0x14]
test ecx, 0x3ff
je 0x1001837e
mov edi, dword [ebp]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x10018393
test ecx, 0x400
je 0x100184a8
cmp bl, 0x5f
jne 0x100184a8
cmp byte [esi + 0x1c], 0
jne 0x1001852f
jmp 0x100184ea
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x10018400
cmp eax, 0xfffffffe
je 0x100183f8
test eax, eax
jne 0x100183cc
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
cmp dword [eax + 0x18], 0x10
jb 0x100183d7
mov ecx, dword [eax + 4]
jmp 0x100183da
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x100183f8
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x10018420
push ebx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10018541
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x1001847d
cmp eax, 0xfffffffe
je 0x10018475
test eax, eax
jne 0x1001844d
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x10018458
mov ecx, dword [eax + 4]
jmp 0x1001845b
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10018475
call fcn.1001fd76
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x10018420
mov ecx, dword [esp + 0x54]
push ecx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10018541
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100184e4
test ecx, 0x3ff
je 0x100184cf
mov edi, dword [ebp]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x100184e4
test ecx, 0x400
je 0x100184dc
cmp bl, 0x5f
je 0x100184e4
cmp byte [esi + 0x1c], 0
jne 0x1001852f
jmp 0x100184ea
cmp byte [esi + 0x1c], 0
je 0x1001852f
cmp eax, 0xfffffffe
je 0x10018527
test eax, eax
jne 0x100184ff
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x1001850a
mov ecx, dword [eax + 4]
jmp 0x1001850d
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10018527
call fcn.1001fd76
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov eax, ecx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.1002058c
add esp, 0x68
ret 0x18