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

Disassembly:
push 0xffffffffffffffff
push 0x10173793
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c52b4]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xc0]
xor ebp, ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], ebp
mov ah, ah
mov dword [edx], 0xffffffff
mov dword [eax], 0xffffffff
mov ecx, ecx
fld qword [0x10179960]
fld qword [esp + 0xc4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x10089492
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x10089494
mov ebx, dword [esp + 0xcc]
cmp ebx, 3
ja 0x10089494
mov al, al
push ecx
pop ecx
mov dword [esp + 0x14], ebp
push ecx
pop ecx
mov eax, eax
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0xcc]
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0xcc]
push edx
mov edx, dword [esp + 0xcc]
push eax
mov eax, dword [esp + 0xcc]
push edx
push eax
push ecx
call fcn.10048c70
add esp, 0x28
test eax, eax
je 0x10089494
fld1
fsub qword [esp + 0xc4]
fnstcw word [esp + 0x7e]
fmul qword [0x10179910]
movzx eax, word [esp + 0x7e]
or eax, 0xc00
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x8c]
fistp qword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
fldcw word [esp + 0x7e]
mov ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0xa4], ebp
mov cl, cl
mov bl, bl
lea ecx, [esp + 0x34]
call fcn.10100215
mov byte [esp + 0xa4], 1
mov ebp, ebp
push ebp
lea ecx, [esp + 0x38]
push ecx
push 0x10179594
push edi
call fcn.1004f530
add esp, 0x10
mov ebp, eax
push ecx
pop ecx
xor edi, edi
test ebp, ebp
jle 0x10089164
mov bl, 0x64
lea esp, [esp]
push eax
pop eax
mov byte [esp + 0x8c], 0x25
mov byte [esp + 0x8d], bl
mov byte [esp + 0x8e], 0x7c
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], bl
mov byte [esp + 0x91], 0x7c
mov byte [esp + 0x92], 0x25
mov byte [esp + 0x93], bl
mov byte [esp + 0x94], 0
nop
test edi, edi
jl 0x10089190
cmp edi, dword [esp + 0x3c]
jge 0x10089190
mov edx, dword [esp + 0x38]
mov eax, dword [edx + edi*4]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x98]
push edx
push eax
call fcn.10110865
add esp, 0x14
mov esi, esi
cmp dword [esp + 0x78], 0
je 0x10089136
mov dword [esp + 0x78], 0
push ecx
pop ecx
jmp 0x10089140
mov dword [esp + 0x78], 1
mov dl, dl
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x28]
call fcn.10076280
mov edx, edx
add edi, 1
cmp edi, ebp
jl 0x100890a0
mov ebx, dword [esp + 0xcc]
test ebp, ebp
jne 0x10089195
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x34]
call fcn.1010055d
mov dword [esp + 0xa4], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.10094290
jmp 0x10089494
jmp fcn.100fcfa6
test ebx, ebx
jne 0x10089240
xor ebp, ebp
cmp dword [esp + 0x50], ebp
jle 0x1008943b
mov eax, dword [esp + 0x4c]
xor edi, edi
test eax, eax
jle 0x100891fe
mov ecx, ebp
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
lea eax, [ecx + edi*4]
mov ebp, ebp
mov byte [eax + 3], 0
mov eax, eax
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
push edi
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x40]
push eax
call fcn.1005b450
add esp, 0x20
test eax, eax
jne 0x1008920c
mov eax, dword [esp + 0x4c]
add edi, 1
cmp edi, eax
jl 0x100891b3
add ebp, 1
cmp ebp, dword [esp + 0x50]
jl 0x100891ad
jmp 0x1008943b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
add edi, ecx
mov dword [edx], edi
mov dl, dl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x88]
add ebp, eax
mov dword [ecx], ebp
mov ebp, ebp
mov dword [esp + 0x80], 1
mov eax, eax
jmp 0x1008943b
cmp ebx, 1
jne 0x100892e8
mov ebp, dword [esp + 0x50]
add ebp, 0xffffffff
js 0x1008943b
mov eax, dword [esp + 0x4c]
xor edi, edi
test eax, eax
jle 0x100892ab
mov edx, ebp
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + edi*4]
mov bl, bl
mov byte [eax + 3], 0
mov ebx, ebx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1005b450
add esp, 0x20
test eax, eax
jne 0x100892b5
mov eax, dword [esp + 0x4c]
add edi, 1
cmp edi, eax
jl 0x10089260
sub ebp, 1
jns 0x1008925a
jmp 0x1008943b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
push eax
pop eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
mov al, al
mov dword [esp + 0x80], 1
nop
jmp 0x1008943b
cmp ebx, 2
jne 0x10089397
xor ebp, ebp
cmp dword [esp + 0x50], ebp
jle 0x1008943b
mov edi, dword [esp + 0x4c]
add edi, 0xffffffff
js 0x10089355
jmp 0x10089310
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov dl, dl
mov byte [eax + 3], 0
mov dl, dl
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1005b450
add esp, 0x20
test eax, eax
jne 0x10089363
sub edi, 1
jns 0x10089310
add ebp, 1
cmp ebp, dword [esp + 0x50]
jl 0x100892fd
jmp 0x1008943b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
mov ah, ah
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
mov ah, ah
mov dword [esp + 0x80], 1
push edx
pop edx
jmp 0x1008943b
cmp ebx, 3
jne 0x1008943b
mov ebp, dword [esp + 0x50]
add ebp, 0xffffffff
js 0x1008943b
mov edi, dword [esp + 0x4c]
add edi, 0xffffffff
js 0x10089405
jmp 0x100893c0
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov ch, ch
mov byte [eax + 3], 0
mov bl, bl
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1005b450
add esp, 0x20
test eax, eax
jne 0x1008940c
sub edi, 1
jns 0x100893c0
sub ebp, 1
jns 0x100893ad
jmp 0x1008943b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
add edi, edx
mov dword [eax], edi
mov esi, esi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add ebp, ecx
mov dword [edx], ebp
mov edi, edi
mov dword [esp + 0x80], 1
push eax
pop eax
mov eax, dword [esp + 0x14]
push eax
call fcn.1010dffc
xor esi, esi
add esp, 4
mov dword [esp + 0x14], esi
mov edx, edx
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x34]
call fcn.1010055d
mov dword [esp + 0xa4], 0xffffffff
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1008947d
push eax
call fcn.100fcea8
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
jmp 0x10089496
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.1010e4d7
add esp, 0x94
ret