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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10173908
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x101c52b4]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], eax
push ebx
pop ebx
mov ecx, ecx
mov eax, 0x7d0
add dword [ebp + 0x10], eax
xchg ebx, eax
xchg ebx, eax
add dword [ebp + 0x14], eax
xchg ebx, eax
xchg ebx, eax
add dword [ebp + 0x18], eax
mov dh, dh
add dword [ebp + 0x1c], eax
push ecx
pop ecx
mov esi, dword [ebp + 0x20]
add esi, eax
mov bh, bh
mov edi, dword [ebp + 0x24]
add edi, eax
mov ebx, ebx
mov ebx, dword [ebp + 0x28]
add ebx, eax
mov bh, bh
add dword [ebp + 0x2c], eax
push ecx
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x25f4]
cmp eax, 1
jne 0x1008af00
mov ecx, dword [ebp + 0x18]
sub ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov edx, ecx
imul edx, ecx
mov dword [esp + 0x24], ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x1c]
call fcn.10112c40
fst qword [esp + 0x4c]
mov dl, dl
fld qword [0x10179a80]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1008aeea
fild dword [esp + 0x14]
fdiv st(1)
fstp qword [esp + 0x2c]
push eax
pop eax
fild dword [esp + 0x24]
fdiv st(1)
fstp qword [esp + 0x44]
push edx
pop edx
xor edi, edi
push edx
pop edx
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1008aeea
fild dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
fstp qword [esp + 0x3c]
fild dword [ebp + 0x14]
fstp qword [esp + 0x1c]
mov dh, dh
fld qword [esp + 0x44]
fmul st(1)
fadd qword [esp + 0x3c]
call fcn.10112170
mov dword [esp + 0x34], eax
xchg ebx, eax
xchg ebx, eax
fmul qword [esp + 0x2c]
fadd qword [esp + 0x1c]
call fcn.10112170
mov dword [esp + 0x38], eax
mov dl, dl
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x60]
call fcn.10022790
mov ecx, ecx
mov esi, dword [ebx + 0x25fc]
test esi, esi
jle 0x1008aecc
call fcn.10110dcc
cdq
idiv esi
mov ebp, ebp
mov eax, esi
sar eax, 1
sub edx, eax
push ebx
pop ebx
lea eax, [edx + esi]
jmp 0x1008aed1
mov eax, 1
add edi, eax
mov dword [esp + 0x24], edi
mov cl, cl
fild dword [esp + 0x24]
fld qword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x1008ae71
lea ecx, [ebp + 0x18]
fstp st(0)
push ecx
lea ecx, [esp + 0x60]
call fcn.10022790
push eax
pop eax
jmp 0x1008b775
cmp eax, 2
jne 0x1008b20a
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x14]
sub ecx, ebx
mov edx, ecx
sub eax, esi
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
call fcn.10112c40
fst qword [esp + 0x3c]
mov dh, dh
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov bh, bh
fld qword [0x10179a80]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1008b1f4
mov dh, dh
mov edx, dword [ebp + 0x1c]
sub edx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fdiv st(1)
fstp qword [esp + 0x34]
mov cl, cl
mov eax, dword [ebp + 0x18]
sub eax, ebx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdivrp st(1)
fstp qword [esp + 0x14]
mov eax, eax
call fcn.10110dcc
cdq
mov ecx, 0xa
idiv ecx
mov dword [esp + 0x24], edx
push ecx
pop ecx
nop
call fcn.10110dcc
and eax, 0x80000001
jns 0x1008afa8
dec eax
or eax, 0xfffffffe
inc eax
mov al, al
nop
mov al, al
fild dword [esp + 0x24]
fdiv qword [0x10179920]
fadd st(0), st(0)
mov ah, ah
test eax, eax
jne 0x1008b09d
fld st(0)
fld qword [esp + 0x34]
fadd st(1), st(0)
fxch st(1)
fst qword [esp + 0x24]
mov ah, ah
fld qword [esp + 0x14]
fld st(0)
fsubrp st(4)
fxch st(3)
fst qword [esp + 0x34]
mov ah, ah
fldz
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 5
jp 0x1008b00b
fld1
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x1008b096
fstp st(2)
fxch st(1)
fst qword [esp + 0x24]
push ecx
pop ecx
fxch st(1)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1008b036
fld qword [0x10179a78]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x1008b110
fstp st(2)
fxch st(1)
fst qword [esp + 0x34]
nop
fxch st(1)
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x25fc]
test esi, esi
jle 0x1008b117
fstp st(1)
fstp st(0)
call fcn.10110dcc
cdq
idiv esi
mov ebp, ebp
mov eax, esi
sar eax, 1
sub edx, eax
push ebx
pop ebx
fld qword [esp + 0x24]
add edx, esi
fld qword [esp + 0x34]
mov dword [esp + 0x14], edx
fxch st(1)
mov edx, edx
fild dword [esp + 0x14]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1008b124
call fcn.10112170
mov dword [esp + 0x14], eax
push ebx
pop ebx
jmp 0x1008b126
fstp st(0)
jmp 0x1008b00b
fld qword [esp + 0x34]
fld st(0)
fsub st(2)
fst qword [esp + 0x24]
mov edx, edx
fld qword [esp + 0x14]
fadd st(3), st(0)
fxch st(3)
fst qword [esp + 0x34]
mov cl, cl
fldz
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x1008b0e1
fld qword [0x10179a78]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x1008b10c
fstp st(2)
fxch st(1)
fst qword [esp + 0x24]
mov ch, ch
fxch st(1)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1008b036
fld1
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x1008b110
fstp st(2)
fxch st(1)
fst qword [esp + 0x34]
mov edx, edx
jmp 0x1008b034
fstp st(0)
jmp 0x1008b0e1
fstp st(0)
jmp 0x1008b036
mov dword [esp + 0x14], 1
jmp 0x1008b06d
fstp st(0)
fild dword [esp + 0x14]
fild dword [esp + 0x1c]
fld st(1)
fmul st(4)
fadd st(1)
call fcn.10112170
mov esi, eax
mov dword [esp + 0x2c], esi
mov ebp, ebp
fild dword [esp + 0x20]
fxch st(2)
fmul st(3)
fadd st(2)
call fcn.10112170
mov edi, eax
mov dword [esp + 0x30], edi
mov bh, bh
cmp esi, ebx
jne 0x1008b195
cmp edi, dword [esp + 0x20]
jne 0x1008b18d
add dword [esp + 0x14], 1
mov eax, eax
fild dword [esp + 0x14]
fld st(0)
fmul st(5)
fadd st(2)
call fcn.10112170
mov esi, eax
mov ebx, ebx
fmul st(3)
fadd st(2)
call fcn.10112170
mov edi, eax
push ecx
pop ecx
cmp esi, ebx
je 0x1008b15c
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
fstp st(3)
lea ecx, [esp + 0x2c]
fstp st(1)
push ecx
fstp st(1)
lea ecx, [esp + 0x60]
fstp st(0)
call fcn.10022790
mov ebx, ebx
mov ebx, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
nop
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
sub ecx, edi
mov edx, ecx
sub eax, esi
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
call fcn.10112c40
fst qword [esp + 0x3c]
mov esi, esi
fld qword [0x10179a80]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x1008af55
lea edx, [ebp + 0x18]
fstp st(0)
push edx
lea ecx, [esp + 0x60]
call fcn.10022790
mov dh, dh
jmp 0x1008b775
cmp eax, 3
jne 0x1008b45b
mov ecx, dword [ebp + 0x18]
sub ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov edx, ecx
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
call fcn.10112c40
nop
mov edx, dword [ebp + 8]
fidiv dword [edx + 0x25fc]
call fcn.10112170
mov dword [esp + 0x24], eax
nop
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x88], 1
mov dl, dl
mov edx, edx
lea eax, [ebp + 0x10]
push eax
lea ecx, [esp + 0x70]
call fcn.10022790
mov ebx, ebx
call fcn.10110dcc
cdq
sub ebx, esi
idiv ebx
add edx, esi
mov dword [esp + 0x2c], edx
nop
call fcn.10110dcc
mov ecx, dword [ebp + 0x2c]
cdq
sub ecx, edi
idiv ecx
add edx, edi
mov dword [esp + 0x30], edx
mov esi, esi
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x70]
call fcn.10022790
push eax
pop eax
lea edx, [ebp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.10022790
mov ch, ch
mov edi, edi
fild dword [esp + 0x24]
fst qword [esp + 0x44]
fld1
fld st(0)
fdiv st(2)
fstp qword [esp + 0x4c]
mov ebp, ebp
mov ebp, ebp
fldz
fld st(0)
fst qword [esp + 0x14]
fxch st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jnp 0x1008b2f0
fstp st(1)
jmp 0x1008b445
fxch st(1)
fxch st(1)
fmul qword [esp + 0x4c]
mov dl, dl
fsub st(1), st(0)
fld st(1)
fmul st(0), st(0)
fstp qword [esp + 0x34]
push eax
pop eax
fxch st(1)
fadd st(0), st(0)
fmul st(1)
fstp qword [esp + 0x3c]
mov bl, bl
fmul st(0), st(0)
fstp qword [esp + 0x1c]
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1008b32d
mov edx, dword [esp + 0x74]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x1008b33a
call fcn.10110295
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov edi, eax
je 0x1008b34c
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x1008b359
call fcn.10110295
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 8]
je 0x1008b36a
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x1008b373
call fcn.10110295
mov eax, dword [esp + 0x70]
fild dword [esi]
fmul qword [esp + 0x3c]
fild dword [edi]
fmul qword [esp + 0x34]
faddp st(1)
fild dword [eax + 0x10]
fmul qword [esp + 0x1c]
faddp st(1)
call fcn.10112170
mov dword [esp + 0x2c], eax
mov ah, ah
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1008b3aa
mov edx, dword [esp + 0x74]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x1008b3b7
call fcn.10110295
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov edi, eax
je 0x1008b3c9
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x1008b3d6
call fcn.10110295
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 8]
je 0x1008b3e7
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x1008b3f0
call fcn.10110295
mov eax, dword [esp + 0x70]
fild dword [esi + 4]
fmul qword [esp + 0x3c]
fild dword [edi + 4]
fmul qword [esp + 0x34]
faddp st(1)
fild dword [eax + 0x14]
fmul qword [esp + 0x1c]
faddp st(1)
call fcn.10112170
mov dword [esp + 0x30], eax
mov dh, dh
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x60]
call fcn.10022790
mov dl, dl
fld qword [esp + 0x14]
fld1
fadd st(1), st(0)
fxch st(1)
fst qword [esp + 0x14]
fld qword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1008b2ee
fstp st(0)
lea eax, [ebp + 0x18]
fstp st(0)
push eax
lea ecx, [esp + 0x60]
call fcn.10022790
push eax
pop eax
jmp 0x1008b74e
cmp eax, 4
jne 0x1008b775
mov ecx, dword [ebp + 0x18]
sub ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov edx, ecx
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
call fcn.10112c40
mov cl, cl
mov edx, dword [ebp + 8]
fidiv dword [edx + 0x25fc]
call fcn.10112170
mov dword [esp + 0x24], eax
mov bh, bh
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x88], 2
mov bh, bh
mov bh, bh
lea eax, [ebp + 0x10]
push eax
lea ecx, [esp + 0x70]
call fcn.10022790
push ebx
pop ebx
sub ebx, esi
call fcn.10110dcc
cdq
idiv ebx
add edx, esi
mov dword [esp + 0x14], edx
push ebx
pop ebx
mov eax, dword [ebp + 0x2c]
sub eax, edi
mov dword [esp + 0x1c], eax
call fcn.10110dcc
cdq
idiv dword [esp + 0x1c]
add edx, edi
mov dword [esp + 0x18], edx
push ecx
pop ecx
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x70]
call fcn.10022790
mov ebx, ebx
call fcn.10110dcc
cdq
idiv ebx
add edx, esi
mov dword [esp + 0x14], edx
mov dl, dl
call fcn.10110dcc
cdq
idiv dword [esp + 0x1c]
add edx, edi
mov dword [esp + 0x18], edx
mov cl, cl
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x70]
call fcn.10022790
mov edi, edi
lea eax, [ebp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.10022790
mov ah, ah
mov al, al
fild dword [esp + 0x24]
fst qword [esp + 0x54]
fld1
fld st(0)
fdiv st(2)
fstp qword [esp + 0x4c]
mov esi, esi
mov bl, bl
fldz
fld st(0)
fst qword [esp + 0x44]
fxch st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jnp 0x1008b57c
fstp st(1)
jmp 0x1008b73d
fxch st(1)
fxch st(1)
fmul qword [esp + 0x4c]
push ecx
pop ecx
fsub st(1), st(0)
fld st(1)
fmul st(0), st(0)
fmul st(2)
fstp qword [esp + 0x34]
mov dh, dh
fld st(1)
fmul qword [0x101799d8]
fld st(0)
fmulp st(3)
fxch st(2)
fmul st(1)
fstp qword [esp + 0x3c]
push ecx
pop ecx
fmul st(1), st(0)
fmul st(1), st(0)
fxch st(1)
fstp qword [esp + 0x2c]
mov al, al
fld st(0)
fmul st(1)
fmulp st(1)
fstp qword [esp + 0x1c]
mov dl, dl
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1008b5d5
mov ecx, dword [esp + 0x74]
mov edx, ecx
sub edx, eax
sar edx, 3
jne 0x1008b5e2
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov ebx, eax
je 0x1008b5f4
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 1
ja 0x1008b601
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea edi, [eax + 8]
je 0x1008b614
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x1008b621
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 0x10]
je 0x1008b632
sub ecx, eax
sar ecx, 3
cmp ecx, 3
ja 0x1008b63b
call fcn.10110295
mov eax, dword [esp + 0x70]
fild dword [edi]
fmul qword [esp + 0x3c]
fild dword [ebx]
fmul qword [esp + 0x34]
faddp st(1)
fild dword [esi]
fmul qword [esp + 0x2c]
faddp st(1)
fild dword [eax + 0x18]
fmul qword [esp + 0x1c]
faddp st(1)
call fcn.10112170
mov dword [esp + 0x14], eax
nop
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1008b679
mov ecx, dword [esp + 0x74]
mov edx, ecx
sub edx, eax
sar edx, 3
jne 0x1008b686
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov ebx, eax
je 0x1008b698
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 1
ja 0x1008b6a5
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea edi, [eax + 8]
je 0x1008b6b8
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x1008b6c5
call fcn.10110295
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 0x10]
je 0x1008b6d6
sub ecx, eax
sar ecx, 3
cmp ecx, 3
ja 0x1008b6df
call fcn.10110295
mov eax, dword [esp + 0x70]
fild dword [edi + 4]
fmul qword [esp + 0x3c]
fild dword [ebx + 4]
fmul qword [esp + 0x34]
faddp st(1)
fild dword [esi + 4]
fmul qword [esp + 0x2c]
faddp st(1)
fild dword [eax + 0x1c]
fmul qword [esp + 0x1c]
faddp st(1)
call fcn.10112170
mov dword [esp + 0x18], eax
mov ecx, ecx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
call fcn.10022790
mov ebp, ebp
fld qword [esp + 0x44]
fld1
fadd st(1), st(0)
fxch st(1)
fst qword [esp + 0x44]
fld qword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1008b57a
fstp st(0)
lea ecx, [ebp + 0x18]
fstp st(0)
push ecx
lea ecx, [esp + 0x60]
call fcn.10022790
push edx
pop edx
mov byte [esp + 0x88], 0
mov eax, dword [esp + 0x70]
xor esi, esi
cmp eax, esi
je 0x1008b769
push eax
call fcn.100fcea8
add esp, 4
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], esi
push ecx
pop ecx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1008b8c1
mov eax, dword [esp + 0x64]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x14], eax
jae 0x1008b8c1
push ecx
pop ecx
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.1005a530
test eax, eax
mov edi, dword [esp + 0x60]
jbe 0x1008b87e
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1008b7cf
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x1008b7d8
call fcn.10110295
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + 4]
add eax, eax
add eax, eax
add eax, eax
add ebx, eax
test edi, edi
je 0x1008b7fa
mov eax, dword [esp + 0x64]
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x1008b803
call fcn.10110295
mov edi, dword [esp + 0x60]
mov edx, dword [ebx]
mov eax, dword [esp + 0x14]
cmp edx, dword [edi + eax*8]
jne 0x1008b864
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1008b823
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x1c], eax
jb 0x1008b82c
call fcn.10110295
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + 4]
add eax, eax
add eax, eax
add eax, eax
add ebx, eax
test edi, edi
je 0x1008b84e
mov eax, dword [esp + 0x64]
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x1008b857
call fcn.10110295
mov edi, dword [esp + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edi + edx*8 + 4]
je 0x1008b8b5
mov ebx, dword [esp + 0x1c]
add ebx, 1
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.1005a530
cmp ebx, eax
jb 0x1008b7bc
test edi, edi
mov eax, dword [esp + 0x64]
je 0x1008b891
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x1008b89a
call fcn.10110295
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
lea ecx, [edi + eax*8]
push ecx
mov ecx, esi
call fcn.10022790
mov dh, dh
add dword [esp + 0x14], 1
jmp 0x1008b782
mov dl, dl
add dword [esp + 0x14], 1
jmp 0x1008b782
mov ecx, esi
xor ebx, ebx
xor edi, edi
call fcn.1005a530
test eax, eax
jbe 0x1008b92e
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x1008b8e3
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1008b8e8
call fcn.10110295
mov edx, dword [esi + 4]
add dword [edx + edi*8], 0xfffff830
lea eax, [edx + edi*8]
mov al, al
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x1008b90a
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1008b90f
call fcn.10110295
mov eax, dword [esi + 4]
add dword [eax + edi*8 + 4], 0xfffff830
lea eax, [eax + edi*8 + 4]
mov esi, esi
mov ecx, esi
add edi, 1
call fcn.1005a530
cmp edi, eax
jb 0x1008b8d0
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x1008b94a
push eax
call fcn.100fcea8
add esp, 4
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov eax, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret