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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1017b6c8
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x101cc114]
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
mov al, al
mov dh, dh
mov eax, 0x7d0
add dword [ebp + 0x10], eax
nop
add dword [ebp + 0x14], eax
mov cl, cl
add dword [ebp + 0x18], eax
push eax
pop eax
add dword [ebp + 0x1c], eax
mov edi, edi
mov esi, dword [ebp + 0x20]
add esi, eax
mov ecx, ecx
mov edi, dword [ebp + 0x24]
add edi, eax
mov bl, bl
mov ebx, dword [ebp + 0x28]
add ebx, eax
mov esi, esi
add dword [ebp + 0x2c], eax
mov ebp, ebp
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x25f8]
cmp eax, 1
jne 0x1009569e
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.1011c0e0
fst qword [esp + 0x4c]
mov ebp, ebp
fld qword [0x101819a0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x10095688
fild dword [esp + 0x14]
fdiv st(1)
fstp qword [esp + 0x2c]
push ecx
pop ecx
fild dword [esp + 0x24]
fdiv st(1)
fstp qword [esp + 0x44]
mov edi, edi
xor edi, edi
push ecx
pop ecx
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10095688
fild dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
fstp qword [esp + 0x3c]
fild dword [ebp + 0x14]
fstp qword [esp + 0x1c]
mov ebp, ebp
fld qword [esp + 0x44]
fmul st(1)
fadd qword [esp + 0x3c]
call fcn.1011b610
mov dword [esp + 0x34], eax
xchg ebx, eax
xchg ebx, eax
fmul qword [esp + 0x2c]
fadd qword [esp + 0x1c]
call fcn.1011b610
mov dword [esp + 0x38], eax
push ebx
pop ebx
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x60]
call fcn.100dc930
mov ecx, ecx
mov esi, dword [ebx + 0x2600]
test esi, esi
jle 0x1009566a
call fcn.1011a1ec
cdq
idiv esi
nop
mov eax, esi
sar eax, 1
sub edx, eax
mov edi, edi
lea eax, [edx + esi]
jmp 0x1009566f
mov eax, 1
add edi, eax
mov dword [esp + 0x24], edi
mov edi, edi
fild dword [esp + 0x24]
fld qword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x10095610
lea ecx, [ebp + 0x18]
fstp st(0)
push ecx
lea ecx, [esp + 0x60]
call fcn.100dc930
push eax
pop eax
jmp 0x10095f19
cmp eax, 2
jne 0x100959ab
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.1011c0e0
fst qword [esp + 0x3c]
mov eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov ch, ch
fld qword [0x101819a0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x10095995
mov al, al
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]
push eax
pop eax
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 dl, dl
call fcn.1011a1ec
cdq
mov ecx, 0xa
idiv ecx
mov dword [esp + 0x24], edx
mov esi, esi
xchg ebx, eax
xchg ebx, eax
call fcn.1011a1ec
and eax, 0x80000001
jns 0x10095747
dec eax
or eax, 0xfffffffe
inc eax
xchg ebx, eax
xchg ebx, eax
mov edx, edx
mov bh, bh
fild dword [esp + 0x24]
fdiv qword [0x10181840]
fadd st(0), st(0)
push ebx
pop ebx
test eax, eax
jne 0x1009583d
fld st(0)
fld qword [esp + 0x34]
fadd st(1), st(0)
fxch st(1)
fst qword [esp + 0x24]
push eax
pop eax
fld qword [esp + 0x14]
fld st(0)
fsubrp st(4)
fxch st(3)
fst qword [esp + 0x34]
mov dh, dh
fldz
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 5
jp 0x100957ab
fld1
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x10095836
fstp st(2)
fxch st(1)
fst qword [esp + 0x24]
mov eax, eax
fxch st(1)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x100957d7
fld qword [0x10181998]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x100958b0
fstp st(2)
fxch st(1)
fst qword [esp + 0x34]
push eax
pop eax
fxch st(1)
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x2600]
test esi, esi
jle 0x100958b7
fstp st(1)
fstp st(0)
call fcn.1011a1ec
cdq
idiv esi
nop
mov eax, esi
sar eax, 1
sub edx, eax
mov edi, edi
fld qword [esp + 0x24]
add edx, esi
fld qword [esp + 0x34]
mov dword [esp + 0x14], edx
fxch st(1)
mov ebp, ebp
fild dword [esp + 0x14]
fld qword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x100958c4
call fcn.1011b610
mov dword [esp + 0x14], eax
mov ecx, ecx
jmp 0x100958c6
fstp st(0)
jmp 0x100957ab
fld qword [esp + 0x34]
fld st(0)
fsub st(2)
fst qword [esp + 0x24]
mov esi, esi
fld qword [esp + 0x14]
fadd st(3), st(0)
fxch st(3)
fst qword [esp + 0x34]
mov ecx, ecx
fldz
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x10095881
fld qword [0x10181998]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x100958ac
fstp st(2)
fxch st(1)
fst qword [esp + 0x24]
mov ebx, ebx
fxch st(1)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100957d7
fld1
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x100958b0
fstp st(2)
fxch st(1)
fst qword [esp + 0x34]
mov cl, cl
jmp 0x100957d5
fstp st(0)
jmp 0x10095881
fstp st(0)
jmp 0x100957d7
mov dword [esp + 0x14], 1
jmp 0x1009580d
fstp st(0)
fild dword [esp + 0x14]
fild dword [esp + 0x1c]
fld st(1)
fmul st(4)
fadd st(1)
call fcn.1011b610
mov esi, eax
mov dword [esp + 0x2c], esi
mov ecx, ecx
fild dword [esp + 0x20]
fxch st(2)
fmul st(3)
fadd st(2)
call fcn.1011b610
mov edi, eax
mov dword [esp + 0x30], edi
mov dh, dh
cmp esi, ebx
jne 0x10095935
cmp edi, dword [esp + 0x20]
jne 0x1009592d
add dword [esp + 0x14], 1
mov ch, ch
fild dword [esp + 0x14]
fld st(0)
fmul st(5)
fadd st(2)
call fcn.1011b610
mov esi, eax
mov ecx, ecx
fmul st(3)
fadd st(2)
call fcn.1011b610
mov edi, eax
mov eax, eax
cmp esi, ebx
je 0x100958fc
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.100dc930
mov ah, ah
mov ebx, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
mov dh, dh
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.1011c0e0
fst qword [esp + 0x3c]
mov ah, ah
fld qword [0x101819a0]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x100956f3
lea edx, [ebp + 0x18]
fstp st(0)
push edx
lea ecx, [esp + 0x60]
call fcn.100dc930
mov cl, cl
jmp 0x10095f19
cmp eax, 3
jne 0x10095bff
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.1011c0e0
mov edi, edi
mov edx, dword [ebp + 8]
fidiv dword [edx + 0x2600]
call fcn.1011b610
mov dword [esp + 0x24], eax
mov ebx, ebx
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x88], 1
mov ebp, ebp
mov cl, cl
lea eax, [ebp + 0x10]
push eax
lea ecx, [esp + 0x70]
call fcn.100dc930
mov ch, ch
call fcn.1011a1ec
cdq
sub ebx, esi
idiv ebx
add edx, esi
mov dword [esp + 0x2c], edx
mov cl, cl
call fcn.1011a1ec
mov ecx, dword [ebp + 0x2c]
cdq
sub ecx, edi
idiv ecx
add edx, edi
mov dword [esp + 0x30], edx
push eax
pop eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x70]
call fcn.100dc930
mov edi, edi
lea edx, [ebp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.100dc930
mov eax, eax
mov ecx, ecx
fild dword [esp + 0x24]
fst qword [esp + 0x44]
fld1
fld st(0)
fdiv st(2)
fstp qword [esp + 0x4c]
mov bl, bl
push ebx
pop ebx
fldz
fld st(0)
fst qword [esp + 0x14]
fxch st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jnp 0x10095a94
fstp st(1)
jmp 0x10095be9
fxch st(1)
fxch st(1)
fmul qword [esp + 0x4c]
mov al, al
fsub st(1), st(0)
fld st(1)
fmul st(0), st(0)
fstp qword [esp + 0x34]
mov bl, bl
fxch st(1)
fadd st(0), st(0)
fmul st(1)
fstp qword [esp + 0x3c]
mov dl, dl
fmul st(0), st(0)
fstp qword [esp + 0x1c]
mov dl, dl
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10095ad1
mov edx, dword [esp + 0x74]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x10095ade
call fcn.101196b5
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov edi, eax
je 0x10095af0
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x10095afd
call fcn.101196b5
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 8]
je 0x10095b0e
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x10095b17
call fcn.101196b5
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.1011b610
mov dword [esp + 0x2c], eax
mov esi, esi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10095b4e
mov edx, dword [esp + 0x74]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x10095b5b
call fcn.101196b5
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov edi, eax
je 0x10095b6d
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x10095b7a
call fcn.101196b5
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 8]
je 0x10095b8b
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x10095b94
call fcn.101196b5
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.1011b610
mov dword [esp + 0x30], eax
mov cl, cl
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x60]
call fcn.100dc930
mov ah, ah
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 0x10095a92
fstp st(0)
lea eax, [ebp + 0x18]
fstp st(0)
push eax
lea ecx, [esp + 0x60]
call fcn.100dc930
mov bl, bl
jmp 0x10095ef2
cmp eax, 4
jne 0x10095f19
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.1011c0e0
push eax
pop eax
mov edx, dword [ebp + 8]
fidiv dword [edx + 0x2600]
call fcn.1011b610
mov dword [esp + 0x24], eax
push edx
pop edx
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x88], 2
push eax
pop eax
mov ebx, ebx
lea eax, [ebp + 0x10]
push eax
lea ecx, [esp + 0x70]
call fcn.100dc930
mov bh, bh
sub ebx, esi
call fcn.1011a1ec
cdq
idiv ebx
add edx, esi
mov dword [esp + 0x14], edx
mov eax, eax
mov eax, dword [ebp + 0x2c]
sub eax, edi
mov dword [esp + 0x1c], eax
call fcn.1011a1ec
cdq
idiv dword [esp + 0x1c]
add edx, edi
mov dword [esp + 0x18], edx
mov dh, dh
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x70]
call fcn.100dc930
push ecx
pop ecx
call fcn.1011a1ec
cdq
idiv ebx
add edx, esi
mov dword [esp + 0x14], edx
mov ah, ah
call fcn.1011a1ec
cdq
idiv dword [esp + 0x1c]
add edx, edi
mov dword [esp + 0x18], edx
mov dl, dl
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x70]
call fcn.100dc930
mov dl, dl
lea eax, [ebp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.100dc930
mov ebp, ebp
mov al, al
fild dword [esp + 0x24]
fst qword [esp + 0x54]
fld1
fld st(0)
fdiv st(2)
fstp qword [esp + 0x4c]
mov ch, ch
mov ebx, ebx
fldz
fld st(0)
fst qword [esp + 0x44]
fxch st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jnp 0x10095d20
fstp st(1)
jmp 0x10095ee1
fxch st(1)
fxch st(1)
fmul qword [esp + 0x4c]
mov al, al
fsub st(1), st(0)
fld st(1)
fmul st(0), st(0)
fmul st(2)
fstp qword [esp + 0x34]
mov edi, edi
fld st(1)
fmul qword [0x10181900]
fld st(0)
fmulp st(3)
fxch st(2)
fmul st(1)
fstp qword [esp + 0x3c]
nop
fmul st(1), st(0)
fmul st(1), st(0)
fxch st(1)
fstp qword [esp + 0x2c]
mov cl, cl
fld st(0)
fmul st(1)
fmulp st(1)
fstp qword [esp + 0x1c]
push edx
pop edx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10095d78
mov ecx, dword [esp + 0x74]
mov edx, ecx
sub edx, eax
sar edx, 3
jne 0x10095d85
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov ebx, eax
je 0x10095d97
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 1
ja 0x10095da4
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea edi, [eax + 8]
je 0x10095db7
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x10095dc4
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 0x10]
je 0x10095dd5
sub ecx, eax
sar ecx, 3
cmp ecx, 3
ja 0x10095dde
call fcn.101196b5
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.1011b610
mov dword [esp + 0x14], eax
mov eax, eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10095e1d
mov ecx, dword [esp + 0x74]
mov edx, ecx
sub edx, eax
sar edx, 3
jne 0x10095e2a
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
mov ebx, eax
je 0x10095e3c
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 1
ja 0x10095e49
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea edi, [eax + 8]
je 0x10095e5c
mov edx, ecx
sub edx, eax
sar edx, 3
cmp edx, 2
ja 0x10095e69
call fcn.101196b5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
lea esi, [eax + 0x10]
je 0x10095e7a
sub ecx, eax
sar ecx, 3
cmp ecx, 3
ja 0x10095e83
call fcn.101196b5
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.1011b610
mov dword [esp + 0x18], eax
mov al, al
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
call fcn.100dc930
mov ah, ah
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 0x10095d1e
fstp st(0)
lea ecx, [ebp + 0x18]
fstp st(0)
push ecx
lea ecx, [esp + 0x60]
call fcn.100dc930
mov esi, esi
mov byte [esp + 0x88], 0
mov eax, dword [esp + 0x70]
xor esi, esi
cmp eax, esi
je 0x10095f0d
push eax
call fcn.1010959d
add esp, 4
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], esi
push eax
pop eax
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x14], 0
jmp 0x10095f30
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1009606f
mov eax, dword [esp + 0x64]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x14], eax
jae 0x1009606f
push eax
pop eax
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.100a0ee0
test eax, eax
mov edi, dword [esp + 0x60]
jbe 0x1009602c
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10095f7d
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x10095f86
call fcn.101196b5
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 0x10095fa8
mov eax, dword [esp + 0x64]
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x10095fb1
call fcn.101196b5
mov edi, dword [esp + 0x60]
mov edx, dword [ebx]
mov eax, dword [esp + 0x14]
cmp edx, dword [edi + eax*8]
jne 0x10096012
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10095fd1
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x1c], eax
jb 0x10095fda
call fcn.101196b5
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 0x10095ffc
mov eax, dword [esp + 0x64]
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x10096005
call fcn.101196b5
mov edi, dword [esp + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edi + edx*8 + 4]
je 0x10096063
mov ebx, dword [esp + 0x1c]
add ebx, 1
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.100a0ee0
cmp ebx, eax
jb 0x10095f6a
test edi, edi
mov eax, dword [esp + 0x64]
je 0x1009603f
sub eax, edi
sar eax, 3
cmp dword [esp + 0x14], eax
jb 0x10096048
call fcn.101196b5
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
lea ecx, [edi + eax*8]
push ecx
mov ecx, esi
call fcn.100dc930
mov esi, esi
add dword [esp + 0x14], 1
jmp 0x10095f30
mov dh, dh
add dword [esp + 0x14], 1
jmp 0x10095f30
mov ecx, esi
xor ebx, ebx
xor edi, edi
call fcn.100a0ee0
test eax, eax
jbe 0x100960de
mov edi, edi
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x10096093
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10096098
call fcn.101196b5
mov edx, dword [esi + 4]
add dword [edx + edi*8], 0xfffff830
lea eax, [edx + edi*8]
mov ebp, ebp
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x100960ba
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100960bf
call fcn.101196b5
mov eax, dword [esi + 4]
add dword [eax + edi*8 + 4], 0xfffff830
lea eax, [eax + edi*8 + 4]
push edx
pop edx
mov ecx, esi
add edi, 1
call fcn.100a0ee0
cmp edi, eax
jb 0x10096080
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x100960fa
push eax
call fcn.1010959d
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