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

Disassembly:
push 0xffffffffffffffff
push 0x10173c24
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0xec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c52b4]
xor eax, esp
push eax
lea eax, [esp + 0x104]
mov dword fs:[0], eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0x128]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x13c]
xor ebx, ebx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xd8], ebx
mov edi, edi
mov dword [ecx], 0xffffffff
mov dword [eax], 0xffffffff
push ecx
pop ecx
fld qword [0x10179960]
fld qword [esp + 0x130]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1008efff
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1008f001
cmp dword [esp + 0x138], 3
ja 0x1008f001
mov bh, bh
mov eax, eax
mov dword [esp + 0x14], ebx
mov al, al
mov ah, ah
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x134]
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x134]
push eax
mov eax, dword [esp + 0x134]
push ecx
mov ecx, dword [esp + 0x134]
push eax
push ecx
push edx
call fcn.10048c70
add esp, 0x28
test eax, eax
je 0x1008f001
fld1
fsub qword [esp + 0x130]
fnstcw word [esp + 0x24]
movzx eax, word [esp + 0x24]
fmul qword [0x10179910]
or eax, 0xc00
mov dword [esp + 0xe8], eax
fldcw word [esp + 0xe8]
fistp qword [esp + 0xf8]
mov ebp, dword [esp + 0xf8]
fldcw word [esp + 0x24]
mov edi, edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x10c], ebx
mov cl, cl
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x10c], 1
mov esi, esi
push ebx
pop ebx
lea ecx, [esp + 0x5c]
call fcn.10100215
mov byte [esp + 0x10c], 2
mov ah, ah
push ebx
lea edx, [esp + 0x60]
push edx
push 0x10179578
push esi
call fcn.1004f530
add esp, 0x10
mov edi, eax
mov ebp, ebp
xor esi, esi
cmp edi, ebx
jle 0x1008e93e
nop
push edx
pop edx
mov dword [esp + 0x24], ebx
mov ah, ah
mov byte [esp + 0xe8], 0x25
mov byte [esp + 0xe9], 0x78
mov byte [esp + 0xea], 0x2d
mov byte [esp + 0xeb], 0x25
mov byte [esp + 0xec], 0x78
mov byte [esp + 0xed], bl
mov bl, bl
cmp esi, ebx
jl 0x1008ea23
cmp esi, dword [esp + 0x64]
jge 0x1008ea23
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0xf0]
push ecx
push eax
call fcn.10110865
add esp, 0x10
push ecx
pop ecx
movzx edx, byte [esp + 0x26]
add edx, ebp
mov dword [esp + 0x9c], edx
push ebx
pop ebx
movzx eax, byte [esp + 0x25]
add eax, ebp
mov dword [esp + 0xa0], eax
mov ebx, ebx
mov ecx, dword [esp + 0x24]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xa4], ecx
mov eax, eax
mov dword [esp + 0xa8], ebx
mov edx, edx
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x3c]
call fcn.10075f80
mov dl, dl
add esi, 1
cmp esi, edi
jl 0x1008e870
lea ecx, [esp + 0x48]
call fcn.10100215
mov byte [esp + 0x10c], 3
push ecx
pop ecx
mov ecx, dword [esp + 0xdc]
push ebx
lea eax, [esp + 0x4c]
push eax
push 0x10179594
push ecx
call fcn.1004f530
add esp, 0x10
mov dword [esp + 0xdc], eax
mov edi, edi
xor esi, esi
cmp eax, ebx
mov dword [esp + 0xe8], esi
jle 0x1008ec63
jmp 0x1008e990
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov byte [esp + 0x10c], 5
mov edx, edx
lea ecx, [esp + 0xac]
call fcn.10100215
mov byte [esp + 0x10c], 6
mov ch, ch
cmp esi, ebx
jl 0x1008ea23
cmp esi, dword [esp + 0x50]
jge 0x1008ea23
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + esi*4]
push ebx
lea ecx, [esp + 0xb0]
push ecx
push 0x10179578
push eax
call fcn.1004f530
add esp, 0x10
mov edi, eax
mov cl, cl
cmp edi, 3
jge 0x1008ea28
mov byte [esp + 0x10c], 5
lea ecx, [esp + 0xac]
call fcn.1010055d
mov byte [esp + 0x10c], 3
lea ecx, [esp + 0xc0]
call fcn.10068b10
jmp 0x1008ec4c
jmp fcn.100fcfa6
cmp dword [esp + 0xb4], ebx
jle 0x1008ea23
mov edx, dword [esp + 0xb0]
mov eax, dword [edx]
lea ecx, [esp + 0xd0]
push ecx
push 0x10179678
push eax
call fcn.10110865
add esp, 0xc
mov dl, dl
cmp dword [esp + 0xb4], 1
jle 0x1008ea23
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + 4]
lea ecx, [esp + 0xd4]
push ecx
push 0x10179678
push eax
call fcn.10110865
add esp, 0xc
push ebx
pop ebx
mov esi, 2
cmp edi, esi
jle 0x1008ec0a
jmp 0x1008ea90
mov dl, dl
mov dword [esp + 0x24], ebx
mov ecx, ecx
cmp esi, ebx
jl 0x1008ea23
cmp esi, dword [esp + 0xb4]
jge 0x1008ea23
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + esi*4]
mov esi, esi
cmp byte [eax], 0x2d
jne 0x1008eac9
mov dword [esp + 0xa8], 1
mov ch, ch
jmp 0x1008ead2
mov dword [esp + 0xa8], ebx
mov cl, cl
cmp dword [esp + 0xa8], ebx
je 0x1008eb4d
mov byte [esp + 0xf8], 0x2d
mov byte [esp + 0xf9], 0x25
mov byte [esp + 0xfa], 0x78
mov byte [esp + 0xfb], 0x2d
mov byte [esp + 0xfc], 0x25
mov byte [esp + 0xfd], 0x78
mov byte [esp + 0xfe], bl
push edx
pop edx
cmp esi, dword [esp + 0xb4]
jge 0x1008ea23
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + esi*4]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x100]
push ecx
push eax
call fcn.10110865
add esp, 0x10
xchg ebx, eax
xchg ebx, eax
jmp 0x1008ebb4
mov byte [esp + 0xf0], 0x25
mov byte [esp + 0xf1], 0x78
mov byte [esp + 0xf2], 0x2d
mov byte [esp + 0xf3], 0x25
mov byte [esp + 0xf4], 0x78
mov byte [esp + 0xf5], bl
mov esi, esi
cmp esi, dword [esp + 0xb4]
jge 0x1008ea23
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0xf8]
push ecx
push eax
call fcn.10110865
add esp, 0x10
nop
movzx edx, byte [esp + 0x26]
add edx, ebp
mov dword [esp + 0x9c], edx
mov esi, esi
movzx eax, byte [esp + 0x25]
add eax, ebp
mov dword [esp + 0xa0], eax
push edx
pop edx
mov ecx, dword [esp + 0x24]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xa4], ecx
xchg ebx, eax
xchg ebx, eax
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0xc4]
call fcn.10075f80
mov ebx, ebx
add esi, 1
cmp esi, edi
jl 0x1008ea90
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x2c]
call fcn.1008e610
xchg ebx, eax
xchg ebx, eax
mov byte [esp + 0x10c], 5
lea ecx, [esp + 0xac]
call fcn.1010055d
mov byte [esp + 0x10c], 3
lea ecx, [esp + 0xc0]
call fcn.10068b10
mov esi, dword [esp + 0xe8]
add esi, 1
cmp esi, dword [esp + 0xdc]
mov dword [esp + 0xe8], esi
jl 0x1008e990
mov eax, dword [esp + 0x138]
cmp eax, ebx
jne 0x1008ed2b
xor ebp, ebp
cmp dword [esp + 0x78], ebx
jle 0x1008ef59
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, ebx
jle 0x1008ece9
jmp 0x1008ec90
mov ecx, ebp
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
lea eax, [ecx + esi*4]
push ebx
pop ebx
mov byte [eax + 3], bl
mov dl, dl
mov edx, dword [eax]
push edx
lea edi, [esp + 0x3c]
call fcn.1005ab60
add esp, 4
test eax, eax
je 0x1008ecde
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push ebp
push esi
push edx
push eax
lea edi, [esp + 0x40]
call fcn.1005b3a0
add esp, 0x18
test eax, eax
jne 0x1008ecf7
mov eax, dword [esp + 0x74]
add esi, 1
cmp esi, eax
jl 0x1008ec90
add ebp, 1
cmp ebp, dword [esp + 0x78]
jl 0x1008ec82
jmp 0x1008ef59
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
add esi, ecx
mov dword [edx], esi
mov ah, ah
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
add ebp, eax
mov dword [ecx], ebp
mov bh, bh
mov dword [esp + 0xd8], 1
mov esi, esi
jmp 0x1008ef59
cmp eax, 1
jne 0x1008ede7
mov ebp, dword [esp + 0x78]
add ebp, 0xffffffff
cmp ebp, ebx
jl 0x1008ef59
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, ebx
jle 0x1008eda9
lea ecx, [ecx]
mov edx, ebp
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + esi*4]
xchg ebx, eax
xchg ebx, eax
mov byte [eax + 3], bl
mov esi, esi
mov eax, dword [eax]
push eax
lea edi, [esp + 0x3c]
call fcn.1005ab60
add esp, 4
test eax, eax
je 0x1008ed9e
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push ebp
push esi
push eax
push ecx
lea edi, [esp + 0x40]
call fcn.1005b3a0
add esp, 0x18
test eax, eax
jne 0x1008edb3
mov eax, dword [esp + 0x74]
add esi, 1
cmp esi, eax
jl 0x1008ed50
sub ebp, 1
jns 0x1008ed47
jmp 0x1008ef59
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xe4]
add esi, edx
mov dword [eax], esi
mov dh, dh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xe0]
add ebp, ecx
mov dword [edx], ebp
mov eax, eax
mov dword [esp + 0xd8], 1
mov dl, dl
jmp 0x1008ef59
cmp eax, 2
jne 0x1008eea5
xor ebp, ebp
cmp dword [esp + 0x78], ebx
jle 0x1008ef59
lea esp, [esp]
mov esi, dword [esp + 0x74]
add esi, 0xffffffff
cmp esi, ebx
jl 0x1008ee63
jmp 0x1008ee10
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + esi*4]
mov edx, edx
mov byte [eax + 3], bl
mov eax, eax
mov ecx, dword [eax]
push ecx
lea edi, [esp + 0x3c]
call fcn.1005ab60
add esp, 4
test eax, eax
je 0x1008ee5e
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ebp
push esi
push ecx
push edx
lea edi, [esp + 0x40]
call fcn.1005b3a0
add esp, 0x18
test eax, eax
jne 0x1008ee71
sub esi, 1
jns 0x1008ee10
add ebp, 1
cmp ebp, dword [esp + 0x78]
jl 0x1008ee00
jmp 0x1008ef59
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xe4]
add esi, eax
mov dword [ecx], esi
mov dh, dh
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xe0]
add ebp, edx
mov dword [eax], ebp
mov dl, dl
mov dword [esp + 0xd8], 1
mov eax, eax
jmp 0x1008ef59
cmp eax, 3
jne 0x1008ef59
mov ebp, dword [esp + 0x78]
add ebp, 0xffffffff
cmp ebp, ebx
jl 0x1008ef59
lea ecx, [ecx]
mov esi, dword [esp + 0x74]
add esi, 0xffffffff
cmp esi, ebx
jl 0x1008ef23
jmp 0x1008eed0
mov ecx, ebp
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
lea eax, [ecx + esi*4]
mov dh, dh
mov byte [eax + 3], bl
mov cl, cl
mov edx, dword [eax]
push edx
lea edi, [esp + 0x3c]
call fcn.1005ab60
add esp, 4
test eax, eax
je 0x1008ef1e
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push ebp
push esi
push edx
push eax
lea edi, [esp + 0x40]
call fcn.1005b3a0
add esp, 0x18
test eax, eax
jne 0x1008ef2a
sub esi, 1
jns 0x1008eed0
sub ebp, 1
jns 0x1008eec0
jmp 0x1008ef59
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
add esi, ecx
mov dword [edx], esi
mov bl, bl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
add ebp, eax
mov dword [ecx], ebp
mov edi, edi
mov dword [esp + 0xd8], 1
mov esi, esi
mov edx, dword [esp + 0x14]
push edx
call fcn.1010dffc
add esp, 4
mov dword [esp + 0x14], ebx
mov cl, cl
mov byte [esp + 0x10c], 2
lea ecx, [esp + 0x48]
call fcn.1010055d
mov byte [esp + 0x10c], 1
lea ecx, [esp + 0x5c]
call fcn.1010055d
mov byte [esp + 0x10c], bl
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x1008efc2
mov ecx, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x2c]
push edx
push ecx
push eax
call fcn.1008ba20
mov edx, dword [esp + 0x3c]
push edx
call fcn.100fcea8
add esp, 0x14
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10c], 0xffffffff
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x1008efea
push eax
call fcn.100fcea8
add esp, 4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jmp 0x1008f003
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0x104]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xec]
xor ecx, esp
call fcn.1010e4d7
add esp, 0xfc
ret