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

Disassembly:
push 0xffffffffffffffff
push 0x10028448
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 dword [esp + 0x2c], edx
mov eax, dword [esp + 0x80]
mov ebp, ecx
cmp ebp, edx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
lea esi, [eax + 0x20]
jne 0x10017820
mov eax, ebp
jmp 0x10017ce4
mov eax, dword [eax + 8]
test eax, eax
mov ebx, dword [ecx]
mov dl, byte [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], eax
jbe 0x100178e3
mov al, byte [esi]
test al, al
mov edi, ebp
jne 0x10017871
test dl, dl
mov al, byte [ebp]
je 0x1001785f
mov ecx, dword [ebx]
movzx eax, al
mov al, byte [eax + ecx + 0x104]
test al, al
je 0x10017952
add esi, 1
cmp byte [esi], 0
je 0x10017867
jmp 0x100178ce
cmp edi, dword [esp + 0x2c]
je 0x100178be
test dl, dl
mov cl, byte [edi]
je 0x1001788d
mov ebp, dword [ebx]
movzx ecx, cl
mov cl, byte [ecx + ebp + 0x104]
mov ebp, dword [esp + 0x1c]
cmp cl, al
jne 0x100178be
mov al, byte [esi + 1]
add esi, 1
add edi, 1
test al, al
jne 0x10017871
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x1c], 0
jne 0x10017819
cmp edi, ebp
lea eax, [ebp + 1]
je 0x10017ce4
mov eax, edi
jmp 0x10017ce4
cmp byte [esi], 0
je 0x1001789e
add esi, 1
cmp byte [esi], 0
jne 0x100178c3
add esi, 1
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jb 0x10017844
test dl, dl
mov al, byte [ebp]
je 0x100178f6
mov ecx, dword [ebx]
movzx edx, al
mov al, byte [edx + ecx + 0x104]
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x17], al
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x1001790e
cmp dword [ecx + 0x10], eax
je 0x10017c00
xor edi, edi
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
cmp eax, edi
mov dword [esp + 0x78], edi
je 0x10017ae3
mov ecx, dword [esp + 0x28]
test dword [ecx + 8], 0x200000
jne 0x1001796a
mov dl, byte [esp + 0x17]
mov ebp, 1
mov byte [esp + 0x54], dl
mov dword [esp + 0x64], ebp
mov byte [esp + 0x55], 0
jmp 0x100179bf
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x1c], 0
mov eax, ebp
jne 0x10017ce4
lea eax, [ebp + 1]
jmp 0x10017ce4
mov al, byte [esp + 0x17]
lea ecx, [esp + 0x19]
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c], al
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
mov byte [esp + 0x25], 0
call fcn.100039e0
push 0xffffffffffffffff
push edi
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 0x100179bb
mov ecx, dword [esp + 0x38]
push ecx
call fcn.1001fc1d
add esp, 4
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x20]
cmp dword [edx + 0xc], 0
mov dword [esp + 0x18], 0
jbe 0x10017ae3
mov ebx, dword [esp + 0x54]
lea esp, [esp]
cmp byte [esi], 0
jne 0x10017a00
test ebp, ebp
je 0x10017a43
cmp ebp, 1
jne 0x10017a00
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x100179fb
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10017a43
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10017a05
sub eax, edx
mov edi, eax
cmp ebp, edi
mov ecx, ebp
jb 0x10017a1a
mov ecx, edi
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10017a27
lea eax, [esp + 0x54]
push ecx
push esi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x10017a41
cmp ebp, edi
jb 0x10017ab0
cmp ebp, edi
setne al
test eax, eax
jl 0x10017ab0
add esi, 1
cmp byte [esi], 0
jne 0x10017a43
add esi, 1
cmp byte [esi], 0
jne 0x10017a76
test ebp, ebp
je 0x10017c4c
cmp ebp, 1
jne 0x10017a76
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10017a6d
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10017c4c
mov eax, esi
lea edx, [eax + 1]
jmp 0x10017a80
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10017a80
sub eax, edx
push eax
push esi
push ebp
push 0
lea ecx, [esp + 0x60]
call fcn.10001b70
test eax, eax
mov ebx, dword [esp + 0x54]
jle 0x10017c4c
mov ebp, dword [esp + 0x64]
jmp 0x10017ac0
add esi, 1
cmp byte [esi], 0
jne 0x10017ab0
add esi, 1
jmp 0x10017ac0
add esi, 1
cmp byte [esi], 0
jne 0x10017ac0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
add eax, 1
add esi, 1
cmp eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
jb 0x100179e0
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x10], 0
je 0x10017bec
mov cl, byte [esp + 0x17]
lea edx, [esp + 0x19]
push edx
mov byte [esp + 0x1c], cl
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
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
jb 0x10017b40
mov edx, dword [esp + 0x38]
push edx
call fcn.1001fc1d
add esp, 4
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x28], eax
jbe 0x10017bec
mov ebp, dword [esp + 0x64]
lea esp, [esp]
cmp byte [esi], 0
jne 0x10017b8a
test ebp, ebp
je 0x10017c71
cmp ebp, 1
jne 0x10017b8a
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x10017b81
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10017c71
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10017b90
sub eax, edx
mov edi, eax
cmp ebp, edi
mov ecx, ebp
jb 0x10017ba5
mov ecx, edi
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x10017bb4
lea eax, [esp + 0x54]
push ecx
push esi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x10017bd4
cmp ebp, edi
jb 0x10017bd4
cmp ebp, edi
setne al
test eax, eax
je 0x10017c71
add esi, 1
cmp byte [esi], 0
jne 0x10017bd4
add ebx, 1
add esi, 1
cmp ebx, dword [esp + 0x28]
jb 0x10017b60
cmp dword [esp + 0x68], 0x10
jb 0x10017c00
mov eax, dword [esp + 0x54]
push eax
call fcn.1001fc1d
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x14]
test eax, 0x3ff
mov dl, byte [esp + 0x17]
je 0x10017c2d
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx esi, dl
movzx esi, word [edi + esi*2 + 0x204]
and esi, eax
test esi, 0x3ff
jne 0x10017c39
test eax, 0x400
je 0x10017c9a
cmp dl, 0x5f
jne 0x10017c9a
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x1c]
jne 0x10017ce4
jmp 0x10017ce1
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x1c], 0
mov esi, dword [esp + 0x1c]
jne 0x10017c5d
add esi, 1
cmp dword [esp + 0x68], 0x10
jb 0x10017c6d
push ebx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10017ce4
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1c], 0
mov esi, dword [esp + 0x1c]
jne 0x10017c82
add esi, 1
cmp dword [esp + 0x68], 0x10
jb 0x10017c6d
mov edx, dword [esp + 0x54]
push edx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10017ce4
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x10017cd7
test eax, 0x3ff
je 0x10017cc3
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx esi, dl
movzx esi, word [edi + esi*2 + 0x204]
and esi, eax
test esi, 0x3ff
jne 0x10017cd7
test eax, 0x400
je 0x10017c39
cmp dl, 0x5f
jne 0x10017c39
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x1c]
je 0x10017ce4
add eax, 1
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 0xc