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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
fld qword [ebp + 0x18]
sub esp, 0x74
push ebx
push esi
push edi
sub esp, 8
fstp qword [esp]
xor ebx, ebx
xor esi, esi
call sym.pe.dll_pe_delta
fstp qword [ebp + 0x18]
fldz
fld qword [ebp + 0x20]
fcom st(1)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10091c83
fchs
fld qword [0x100dc4b8]
fsub st(1), st(0)
fxch st(1)
fcomp st(3)
fnstsw ax
fxch st(1)
fcom st(2)
test ah, 5
fnstsw ax
fld st(0)
jp 0x10091cab
test ah, 5
jp 0x10091ca5
fchs
fsub st(2)
fchs
jmp 0x10091cb4
test ah, 5
jp 0x10091cb2
fchs
fsub st(2)
fxch st(1)
fcom st(3)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10091cc3
fchs
fcomp st(4)
fnstsw ax
fcom st(3)
test ah, 5
fnstsw ax
fld st(0)
jp 0x10091cdb
test ah, 5
jp 0x10091ce0
fchs
jmp 0x10091ce0
test ah, 5
jp 0x10091ce2
fchs
fadd st(3)
fld qword [0x100dc320]
fmul st(1), st(0)
fld1
fadd st(2), st(0)
fld qword [0x100dc318]
fmul st(3), st(0)
fxch st(5)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jp 0x10091da8
fstp st(1)
fstp st(2)
fstp st(1)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10091d23
fst qword [esp + 0x70]
fsub qword [ebp + 0x28]
jmp 0x10091d30
fsubr qword [ebp + 0x28]
fstp qword [esp + 0x70]
fld qword [0x100dc4b0]
push 0x18
fstp qword [esp + 0x7c]
call fcn.100b8ee0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x10093883
push 0x20
mov dword [esi], 1
mov dword [esi + 4], ebx
mov dword [esi + 8], 1
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], 2
call fcn.100b8ee0
add esp, 4
cmp eax, ebx
mov dword [esi + 0x14], eax
je 0x10091ebf
fld qword [0x1016ec18]
fstp qword [eax]
mov eax, dword [esi + 0x14]
fld qword [esp + 0x78]
fstp qword [eax + 8]
mov ecx, dword [esi + 0x14]
fld qword [0x1016ec10]
mov eax, esi
fstp qword [ecx + 0x10]
mov edx, dword [esi + 0x14]
fld qword [esp + 0x70]
fstp qword [edx + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [ebp + 0x28]
fld st(0)
fsub st(6)
fcom st(7)
fnstsw ax
fstp st(7)
test ah, 5
fxch st(6)
jp 0x10091dbe
fchs
fldz
fcomp st(7)
fnstsw ax
fxch st(6)
test ah, 0x41
jne 0x10091dcd
fchs
fadd st(5)
fmul st(1)
faddp st(2)
fxch st(1)
fmul st(3)
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 1
jne 0x10091ed3
fldz
fcom st(1)
fnstsw ax
fxch st(1)
test ah, 0x41
jne 0x10091df5
fchs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x10091ed5
fstp st(2)
fld qword [ebp + 0x18]
fld st(0)
fsub st(2)
fstp qword [esp + 0x38]
fld st(0)
fadd st(2)
fstp qword [esp + 0x40]
fcom st(2)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10091e26
fchs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10091e3c
fstp st(0)
mov edi, 3
fstp st(0)
jmp 0x10091e4f
fcompp
mov edi, 2
fnstsw ax
test ah, 5
jnp 0x10091e4f
mov edi, 1
push 0x18
call fcn.100b8ee0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x10093883
push 0x20
mov dword [esi], 1
mov dword [esi + 4], ebx
mov dword [esi + 8], 1
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], 2
call fcn.100b8ee0
add esp, 4
cmp eax, ebx
mov dword [esi + 0x14], eax
je 0x10091ebf
fld qword [esp + 0x38]
fstp qword [eax]
mov eax, dword [esi + 0x14]
fld qword [0x100dc4b0]
fstp qword [eax + 8]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0x40]
mov eax, esi
fstp qword [ecx + 0x10]
mov edx, dword [esi + 0x14]
fld qword [0x100dc4b8]
fstp qword [edx + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.100b8f00
add esp, 4
xor esi, esi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1016eca8]
fdiv qword [ebp + 0x30]
faddp st(1)
call fcn.100db3f0
mov edi, eax
lea eax, [edi + 0xa]
mov dword [esp + 0x50], eax
shl eax, 4
push eax
call fcn.100b8ee0
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x4c], ebx
jne 0x10091f11
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [0x100dc4b8]
fld st(0)
fld qword [ebp + 0x28]
fsub st(1), st(0)
fldz
fcom st(2)
fnstsw ax
fxch st(2)
test ah, 0x41
jne 0x10091f2d
fchs
fstp qword [esp + 0x78]
mov dword [esp + 0x54], esi
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x10091f71
fstp st(0)
sub esp, 8
fstp st(0)
mov dword [esp + 0x5c], 1
fld qword [ebp + 0x18]
fadd qword [0x100dc570]
fstp qword [esp]
call sym.pe.dll_pe_delta
fstp qword [ebp + 0x18]
fld qword [ebp + 0x20]
fchs
fstp qword [ebp + 0x20]
fld qword [0x100dc4b8]
fldz
push 0
fxch st(1)
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x78]
push ecx
sub esp, 0x30
fstp qword [esp + 0x28]
fst qword [esp + 0x20]
fld qword [esp + 0xb4]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_distance
fldz
fld qword [ebp + 0x20]
fcom st(1)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10091fbd
fchs
fld qword [esp + 0x78]
fsub st(1), st(0)
fxch st(1)
fcomp st(3)
fnstsw ax
fxch st(1)
fcom st(2)
test ah, 5
fnstsw ax
fld st(0)
jp 0x10091fe3
test ah, 5
jp 0x10091fdd
fchs
fsub st(2)
fchs
jmp 0x10091fec
test ah, 5
jp 0x10091fea
fchs
fsub st(2)
fxch st(1)
fcom st(3)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10091ffb
fchs
fcomp st(4)
fnstsw ax
fcom st(3)
test ah, 5
fnstsw ax
fld st(0)
jp 0x10092013
test ah, 5
jp 0x10092018
fchs
jmp 0x10092018
test ah, 5
jp 0x1009201a
fchs
fxch st(3)
fcom st(4)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10092029
fchs
faddp st(4)
fxch st(3)
fmul qword [0x100dc320]
fadd qword [0x100dc310]
fmul qword [0x100dc318]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x1009247e
fstp st(0)
push 0x18
fstp st(1)
fstp st(0)
fld qword [ebp + 0x18]
fld st(0)
fld qword [0x100dc4b8]
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0x3c]
faddp st(1)
fstp qword [esp + 0x44]
call fcn.100b8ee0
mov esi, eax
add esp, 4
test esi, esi
je 0x1009387a
fldz
sub edi, 1
fcom qword [ebp + 0x20]
mov dword [esp + 0x24], 1
fnstsw ax
test ah, 5
jp 0x100921c7
cmp edi, 1
fld qword [esp + 0x40]
fstp qword [ebx]
fld qword [0x100dc4b8]
fst qword [ebx + 8]
jle 0x100921c2
fstp st(0)
lea edx, [ebx + 0x10]
fstp st(0)
mov dword [esp + 0x50], edx
fld qword [ebp + 0x18]
jmp 0x100920c6
fstp st(0)
fild dword [esp + 0x24]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x5c]
fmul qword [ebp + 0x30]
push ecx
sub esp, 0x30
fmul qword [0x1016cb38]
fst qword [esp + 0xa0]
fstp qword [esp + 0x28]
fld qword [esp + 0xa8]
fstp qword [esp + 0x20]
fld qword [ebp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_coordinate
fld qword [esp + 0x58]
fld st(0)
fld qword [ebp + 0x18]
fsub st(1), st(0)
fldz
fcom st(2)
fnstsw ax
fld st(2)
test ah, 0x41
jne 0x1009212d
fchs
fcomp qword [0x100dc570]
fnstsw ax
test ah, 0x41
jne 0x100921be
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
fxch st(2)
jp 0x100921b6
fsub qword [0x1016ebe8]
fst qword [esp + 0x58]
fxch st(2)
mov eax, dword [esp + 0x50]
fxch st(2)
mov ecx, dword [esp + 0x24]
fstp qword [eax]
fld qword [esp + 0x60]
add ecx, 1
fstp qword [eax + 8]
add eax, 0x10
cmp ecx, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], eax
jl 0x100920c4
fld qword [0x100dc4b8]
fxch st(1)
fxch st(2)
fld qword [esp + 0x38]
mov edx, edi
shl edx, 4
fstp qword [edx + ebx]
lea eax, [edx + ebx]
fxch st(1)
add edi, 1
fst qword [eax + 8]
mov eax, edi
fld qword [esp + 0x40]
shl eax, 4
add eax, ebx
fstp qword [eax]
fst qword [eax + 8]
jmp 0x100922f3
fadd qword [0x1016ebe8]
jmp 0x10092151
fstp st(2)
jmp 0x10092157
fld qword [ebp + 0x18]
jmp 0x1009218a
cmp edi, 1
fld qword [esp + 0x38]
fstp qword [ebx]
fld qword [0x100dc4b0]
fst qword [ebx + 8]
jle 0x1009232d
fstp st(0)
lea ecx, [ebx + 0x10]
fstp st(0)
mov dword [esp + 0x50], ecx
fld qword [ebp + 0x18]
fld qword [0x100dc570]
jmp 0x100921f7
fstp st(2)
fild dword [esp + 0x24]
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x5c]
fmul qword [ebp + 0x30]
push eax
sub esp, 0x30
fmul qword [0x1016cb38]
fsubrp st(1)
fst qword [esp + 0xa0]
fstp qword [esp + 0x28]
fld qword [esp + 0xa8]
fstp qword [esp + 0x20]
fld qword [ebp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_coordinate
fld qword [esp + 0x58]
fld st(0)
fld qword [ebp + 0x18]
fsub st(1), st(0)
fldz
fcom st(2)
fnstsw ax
fld st(2)
test ah, 0x41
jne 0x10092260
fchs
fld qword [0x100dc570]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10092326
fxch st(3)
fcomp st(1)
fnstsw ax
fxch st(3)
test ah, 0x41
jne 0x1009231b
fsub qword [0x1016ebe8]
fst qword [esp + 0x58]
fxch st(3)
mov eax, dword [esp + 0x50]
fxch st(3)
mov ecx, dword [esp + 0x24]
fstp qword [eax]
fld qword [esp + 0x60]
add ecx, 1
fstp qword [eax + 8]
add eax, 0x10
cmp ecx, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], eax
jl 0x100921f5
fstp st(1)
fld qword [0x100dc4b0]
fxch st(1)
fld qword [esp + 0x40]
mov ecx, edi
shl ecx, 4
fstp qword [ecx + ebx]
lea eax, [ecx + ebx]
add edi, 1
fxch st(1)
fst qword [eax + 8]
mov edx, edi
fld qword [esp + 0x38]
shl edx, 4
lea eax, [edx + ebx]
fstp qword [eax]
fstp qword [eax + 8]
fld qword [0x100dc4b8]
fxch st(1)
add edi, 1
fcom st(2)
fnstsw ax
fld st(0)
test ah, 5
jp 0x10092305
fchs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10092332
fstp st(0)
mov eax, 3
fstp st(0)
jmp 0x10092345
fadd qword [0x1016ebe8]
jmp 0x1009228c
fstp st(3)
jmp 0x10092292
fld qword [ebp + 0x18]
jmp 0x100922c5
fcompp
fnstsw ax
test ah, 5
mov eax, 2
jnp 0x10092345
mov eax, 1
mov dword [esi + 0xc], eax
mov ecx, 1
mov eax, edi
shl eax, 4
push eax
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], edi
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x14], eax
je 0x10092461
xor ecx, ecx
cmp edi, 4
jl 0x10092431
mov ecx, 0x20
sub ecx, ebx
lea eax, [ebx + 0x10]
mov dword [esp + 0x38], ecx
mov edx, 0x10
sub edx, ebx
mov ecx, 0xfffffff0
sub ecx, ebx
lea ebx, [edi - 4]
shr ebx, 2
add ebx, 1
mov dword [esp + 0x34], ebx
add ebx, ebx
add ebx, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], ebx
jmp 0x100923c8
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov ebx, dword [esi + 0x14]
fld qword [eax - 0x10]
add ecx, eax
fstp qword [ecx + ebx]
mov ebx, dword [esi + 0x14]
fld qword [eax - 8]
add eax, 0x40
fstp qword [ebx + ecx + 8]
mov ebx, dword [esi + 0x14]
fld qword [eax - 0x40]
fstp qword [ebx + ecx + 0x10]
mov ebx, dword [esi + 0x14]
fld qword [eax - 0x38]
fstp qword [ebx + ecx + 0x18]
mov ebx, dword [esi + 0x14]
fld qword [eax - 0x30]
add ebx, edx
fstp qword [ebx + eax - 0x40]
mov edx, dword [esi + 0x14]
fld qword [eax - 0x28]
fstp qword [edx + ecx + 0x28]
mov edx, dword [esi + 0x14]
add edx, dword [esp + 0x38]
fld qword [eax - 0x20]
sub dword [esp + 0x34], 1
fstp qword [edx + eax - 0x40]
mov edx, dword [esi + 0x14]
fld qword [eax - 0x18]
fstp qword [edx + ecx + 0x38]
jne 0x100923c0
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
jge 0x10093868
mov eax, ecx
shl eax, 4
sub edi, ecx
fld qword [eax + ebx]
mov ecx, dword [esi + 0x14]
fstp qword [eax + ecx]
mov edx, dword [esi + 0x14]
fld qword [eax + ebx + 8]
add eax, 0x10
sub edi, 1
fstp qword [edx + eax - 8]
jne 0x10092440
jmp 0x10093868
push esi
call fcn.100b8f00
add esp, 4
push ebx
xor esi, esi
call fcn.100b8f00
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fcom st(2)
fnstsw ax
fld st(0)
test ah, 5
jp 0x1009248b
fchs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x100926f6
fstp st(0)
push 0x18
fstp st(1)
fstp st(0)
call fcn.100b8ee0
mov esi, eax
add esp, 4
test esi, esi
je 0x1009387a
fld qword [ebp + 0x18]
xor eax, eax
test edi, edi
mov dword [esp + 0x24], eax
jle 0x10092598
mov dword [esp + 0x50], ebx
jmp 0x100924d2
fstp st(0)
fild dword [esp + 0x24]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x5c]
fmul qword [ebp + 0x30]
push ecx
sub esp, 0x30
fmul qword [0x1016cb38]
fst qword [esp + 0xa0]
fstp qword [esp + 0x28]
fld qword [esp + 0xa8]
fstp qword [esp + 0x20]
fld qword [ebp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_coordinate
fld qword [esp + 0x58]
fld st(0)
fld qword [ebp + 0x18]
fsub st(1), st(0)
fldz
fcom st(2)
fnstsw ax
fld st(2)
test ah, 0x41
jne 0x10092539
fchs
fcomp qword [0x100dc570]
fnstsw ax
test ah, 0x41
jne 0x10092594
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
fxch st(2)
jp 0x1009258c
fsub qword [0x1016ebe8]
fst qword [esp + 0x58]
fxch st(2)
mov eax, dword [esp + 0x50]
fxch st(2)
mov ecx, dword [esp + 0x24]
fstp qword [eax]
fld qword [esp + 0x60]
add ecx, 1
fstp qword [eax + 8]
add eax, 0x10
cmp ecx, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], eax
jl 0x100924d0
mov eax, ecx
jmp 0x1009259a
fadd qword [0x1016ebe8]
jmp 0x10092559
fstp st(2)
jmp 0x1009255f
fldz
fld qword [ebx]
shl eax, 4
add eax, ebx
fstp qword [eax]
add edi, 1
fld qword [ebx + 8]
fstp qword [eax + 8]
fcom st(1)
fnstsw ax
fld st(1)
test ah, 0x41
jne 0x100925b9
fchs
fcomp qword [0x100dc4b8]
fnstsw ax
test ah, 5
jp 0x100925d1
fstp st(1)
mov eax, 3
fstp st(0)
jmp 0x100925e4
fcompp
fnstsw ax
test ah, 0x41
mov eax, 2
je 0x100925e4
mov eax, 1
mov ecx, 1
mov edx, edi
shl edx, 4
push edx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x14], eax
je 0x10092461
xor ecx, ecx
cmp edi, 4
jl 0x100926c6
mov ecx, 0x20
sub ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, 0xfffffff0
sub ecx, ebx
mov dword [esp + 0x40], ecx
lea ecx, [edi - 4]
shr ecx, 2
add ecx, 1
mov dword [esp + 0x34], ecx
mov edx, 0x10
sub edx, ebx
add ecx, ecx
add ecx, ecx
lea eax, [ebx + 0x10]
mov dword [esp + 0x50], edx
mov dword [esp + 0x24], ecx
jmp 0x1009265a
mov edx, dword [esp + 0x50]
mov ebx, dword [esi + 0x14]
fld qword [eax - 0x10]
mov ecx, dword [esp + 0x40]
add ecx, eax
fstp qword [ecx + ebx]
mov ebx, dword [esi + 0x14]
fld qword [eax - 8]
fstp qword [ecx + ebx + 8]
mov ebx, dword [esi + 0x14]
fld qword [eax]
fstp qword [ecx + ebx + 0x10]
mov ebx, dword [esi + 0x14]
fld qword [eax + 8]
fstp qword [ecx + ebx + 0x18]
mov ebx, dword [esi + 0x14]
fld qword [eax + 0x10]
add ebx, eax
fstp qword [ebx + edx]
mov edx, dword [esi + 0x14]
fld qword [eax + 0x18]
mov ebx, dword [esp + 0x38]
fstp qword [ecx + edx + 0x28]
mov edx, dword [esi + 0x14]
fld qword [eax + 0x20]
add edx, eax
fstp qword [edx + ebx]
mov edx, dword [esi + 0x14]
fld qword [eax + 0x28]
add eax, 0x40
sub dword [esp + 0x34], 1
fstp qword [ecx + edx + 0x38]
jne 0x10092656
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x4c]
cmp ecx, edi
jge 0x10093868
mov eax, ecx
shl eax, 4
sub edi, ecx
fld qword [eax + ebx]
mov ecx, dword [esi + 0x14]
fstp qword [eax + ecx]
mov edx, dword [esi + 0x14]
fld qword [eax + ebx + 8]
add eax, 0x10
sub edi, 1
fstp qword [eax + edx - 8]
jne 0x100926d5
jmp 0x10093868
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
fxch st(1)
jp 0x10092705
fchs
fcompp
fnstsw ax
test ah, 0x41
jne 0x1009387a
mov eax, dword [esp + 0x50]
shl eax, 5
push eax
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
je 0x10091f08
push 0x18
call fcn.100b8ee0
mov esi, eax
add esp, 4
test esi, esi
je 0x1009385b
fldz
mov dword [esp + 0x24], 0
fcom qword [ebp + 0x20]
fnstsw ax
fld qword [0x1016eca0]
test ah, 0x41
fstp qword [esp + 0x78]
fld qword [0x1016ec98]
fstp qword [esp + 0x28]
jne 0x10092f32
test edi, edi
jle 0x1009282b
fstp st(0)
mov dword [esp + 0x50], ebx
fild dword [esp + 0x24]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x5c]
fmul qword [ebp + 0x30]
push ecx
sub esp, 0x30
fmul qword [0x1016cb38]
fst qword [esp + 0xa0]
fstp qword [esp + 0x28]
fld qword [esp + 0xa8]
fstp qword [esp + 0x20]
fld qword [ebp + 0x20]
fstp qword [esp + 0x18]
fld qword [ebp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_coordinate
mov eax, dword [esp + 0x50]
fld qword [esp + 0x58]
mov ecx, dword [esp + 0x24]
fstp qword [eax]
fld qword [esp + 0x60]
fstp qword [eax + 8]
fld qword [esp + 0x28]
fld qword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100927fc
fst qword [esp + 0x28]
mov dword [esp + 0x40], ecx
fld qword [esp + 0x78]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10092813
fstp qword [esp + 0x78]
mov dword [esp + 0x38], ecx
jmp 0x10092815
fstp st(0)
add dword [esp + 0x50], 0x10
add ecx, 1
cmp ecx, edi
mov dword [esp + 0x24], ecx
jl 0x1009277c
fldz
mov eax, dword [esp + 0x38]
mov ecx, edi
xor edx, edx
sub ecx, eax
cmp ecx, 4
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jl 0x100928bb
mov ecx, dword [esp + 0x34]
mov edx, eax
lea eax, [edx + 1]
shl eax, 4
add eax, ebx
mov ebx, edi
sub ebx, edx
sub ebx, 4
shr ebx, 2
add ebx, 1
mov dword [esp + 0x50], ebx
add ebx, ebx
add ebx, ebx
add ecx, 0x10
add edx, ebx
mov dword [esp + 0x24], edx
mov edx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x50]
fld qword [eax - 0x10]
add ecx, 0x40
fstp qword [ecx - 0x50]
add eax, 0x40
sub ebx, 1
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x1009287c
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
jge 0x1009290a
mov eax, edx
mov edx, ecx
shl edx, 4
add edx, ebx
mov ecx, edi
sub ecx, dword [esp + 0x24]
shl eax, 4
add eax, dword [esp + 0x34]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x50]
fld qword [ecx]
add ecx, 0x10
fstp qword [eax]
add eax, 0x10
sub dword [esp + 0x38], 1
fld qword [ecx - 8]
fstp qword [eax - 8]
mov dword [esp + 0x50], ecx
jne 0x100928eb
cmp edx, edi
jge 0x100929c7
mov ecx, dword [esp + 0x40]
xor eax, eax
add ecx, 1
cmp ecx, 4
mov dword [esp + 0x24], eax
jl 0x10092996
lea eax, [edx + 1]
mov edx, dword [esp + 0x40]
add edx, 1
shr edx, 2
mov dword [esp + 0x50], edx
add edx, edx
shl eax, 4
add eax, dword [esp + 0x34]
add edx, edx
add dword [esp + 0x28], edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
lea ecx, [ebx + 0x10]
fld qword [ecx - 0x10]
add eax, 0x40
fstp qword [eax - 0x50]
add ecx, 0x40
sub edx, 1
fld qword [ecx - 0x48]
fstp qword [eax - 0x48]
fld qword [ecx - 0x40]
fstp qword [eax - 0x40]
fld qword [ecx - 0x38]
fstp qword [eax - 0x38]
fld qword [ecx - 0x30]
fstp qword [eax - 0x30]
fld qword [ecx - 0x28]
fstp qword [eax - 0x28]
fld qword [ecx - 0x20]
fstp qword [eax - 0x20]
fld qword [ecx - 0x18]
fstp qword [eax - 0x18]
jne 0x10092953
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jg 0x100929c7
sub ecx, dword [esp + 0x24]
shl edx, 4
add edx, dword [esp + 0x34]
shl eax, 4
add eax, ebx
add ecx, 1
fld qword [eax]
add edx, 0x10
fstp qword [edx - 0x10]
add eax, 0x10
sub ecx, 1
fld qword [eax - 8]
fstp qword [edx - 8]
jne 0x100929b1
fld qword [0x1016ec98]
xor edx, edx
cmp edi, 4
fld qword [0x1016eca0]
jl 0x10092b8a
mov eax, dword [esp + 0x34]
add eax, 0x18
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
sub eax, ebx
mov dword [esp + 0x28], 2
lea ecx, [ebx + 0x10]
mov dword [esp + 0x24], eax
jmp 0x10092a02
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax - 0x18]
mov eax, dword [esp + 0x24]
fstp qword [ecx - 0x10]
fld qword [ecx + eax - 8]
fstp qword [ecx - 8]
fxch st(2)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 0x41
jne 0x10092a3a
fxch st(1)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 5
jp 0x10092a38
fstp st(0)
mov dword [esp + 0x40], edx
fld qword [ecx - 0x10]
fxch st(1)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 5
jp 0x10092a5b
fxch st(2)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 0x41
jne 0x10092a59
fstp st(0)
mov dword [esp + 0x38], edx
fld qword [ecx - 0x10]
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax - 8]
fstp qword [ecx]
fld qword [eax]
fstp qword [ecx + 8]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x10092a8e
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x10092a8c
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx]
add eax, 0xffffffff
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x10092ab3
fxch st(2)
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x10092ab1
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx]
add eax, 0xffffffff
mov dword [esp + 0x38], eax
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax + 8]
fstp qword [ecx + 0x10]
fld qword [eax + 0x10]
fstp qword [ecx + 0x18]
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x10092ae8
fxch st(1)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x10092ae6
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x10]
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x10092b0d
fxch st(2)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x10092b0b
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x10]
mov dword [esp + 0x38], eax
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax + 0x18]
fstp qword [ecx + 0x20]
fld qword [eax + 0x20]
fstp qword [ecx + 0x28]
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x10092b45
fxch st(1)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 5
jp 0x10092b43
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x20]
add eax, 1
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 5
jp 0x10092b6d
fxch st(2)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x10092b6b
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x20]
add eax, 1
mov dword [esp + 0x38], eax
fxch st(2)
add dword [esp + 0x28], 4
add dword [esp + 0x50], 0x40
add edx, 4
lea eax, [edi - 3]
add ecx, 0x40
cmp edx, eax
jl 0x10092a00
jmp 0x10092b8c
fxch st(2)
cmp edx, edi
jge 0x10092bfb
mov eax, dword [esp + 0x34]
mov ecx, edx
shl ecx, 4
add ecx, ebx
sub eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
fld qword [ecx + eax]
fstp qword [ecx]
fld qword [ecx + eax + 8]
fstp qword [ecx + 8]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x10092bd3
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x10092bd1
fstp st(0)
mov dword [esp + 0x40], edx
fld qword [ecx]
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x10092bf1
fxch st(2)
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x10092bef
fstp st(0)
mov dword [esp + 0x38], edx
fld qword [ecx]
fxch st(2)
add edx, 1
add ecx, 0x10
cmp edx, edi
jl 0x10092ba5
mov eax, dword [esp + 0x34]
fstp st(2)
mov edx, dword [esp + 0x40]
fstp st(0)
fld qword [0x1016ec70]
add eax, 0x10
fst qword [eax - 0x10]
mov ecx, edx
fld qword [0x100dc4b0]
shl ecx, 4
fst qword [eax - 8]
add ecx, ebx
fxch st(1)
mov dword [esp + 0x50], eax
fst qword [eax]
fld st(2)
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 0x44
jp 0x10092c46
fld qword [ecx + 0x18]
mov eax, dword [esp + 0x50]
fstp qword [eax + 8]
add edx, 2
jmp 0x10092c63
fld qword [ecx + 8]
add edx, 1
fld qword [ecx + 0x18]
fsub st(1)
fld qword [ecx + 0x10]
fsub qword [ecx]
fdivp st(1)
fmul qword [ecx]
mov ecx, dword [esp + 0x50]
fsubp st(1)
fstp qword [ecx + 8]
fld qword [0x1016ebe8]
mov eax, edi
sub eax, edx
cmp eax, 4
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], 2
jl 0x10092d01
mov ecx, dword [esp + 0x34]
mov eax, edx
add eax, 1
shl eax, 4
add eax, ebx
mov ebx, dword [esp + 0x40]
mov edx, edi
sub edx, ebx
sub edx, 4
shr edx, 2
add ecx, 0x30
add edx, 1
lea ebx, [ebx + edx*4]
mov dword [esp + 0x24], ebx
lea ebx, [edx*4 + 2]
mov dword [esp + 0x28], ebx
fld qword [eax - 0x10]
add ecx, 0x40
fsub st(1)
add eax, 0x40
sub edx, 1
fstp qword [ecx - 0x50]
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fsub st(1)
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fsub st(1)
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fsub st(1)
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x10092cb6
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
cmp edx, edi
jge 0x10092d3f
mov eax, dword [esp + 0x28]
mov ecx, edx
shl ecx, 4
add ecx, ebx
mov dword [esp + 0x50], ecx
shl eax, 4
add eax, dword [esp + 0x34]
mov ecx, edi
sub ecx, edx
add dword [esp + 0x28], ecx
mov edx, dword [esp + 0x50]
fld qword [edx]
add eax, 0x10
fsub st(1)
add edx, 0x10
sub ecx, 1
fstp qword [eax - 0x10]
fld qword [edx - 8]
fstp qword [eax - 8]
jne 0x10092d27
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
shl ecx, 4
fld qword [ecx + edx - 0x10]
lea eax, [ecx + edx]
fcomp qword [ebx]
mov dword [esp + 0x50], eax
fnstsw ax
test ah, 1
jne 0x10092d65
mov edx, 1
jmp 0x10092d67
xor edx, edx
mov eax, edi
sub eax, edx
cmp eax, 4
jl 0x10092de9
mov ecx, dword [esp + 0x50]
lea eax, [edx + 1]
shl eax, 4
add eax, ebx
mov ebx, edi
sub ebx, edx
sub ebx, 4
shr ebx, 2
add ebx, 1
mov dword [esp + 0x50], ebx
add ebx, ebx
add ebx, ebx
add edx, ebx
add ecx, 0x10
add dword [esp + 0x28], ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
fld qword [eax - 0x10]
add ecx, 0x40
fstp qword [ecx - 0x50]
add eax, 0x40
sub edx, 1
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x10092da6
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
cmp edx, edi
jge 0x10092e1b
mov eax, dword [esp + 0x28]
mov ecx, edx
shl eax, 4
add eax, dword [esp + 0x34]
shl ecx, 4
sub edi, edx
add ecx, ebx
add dword [esp + 0x28], edi
fld qword [ecx]
add eax, 0x10
fstp qword [eax - 0x10]
add ecx, 0x10
sub edi, 1
fld qword [ecx - 8]
fstp qword [eax - 8]
jne 0x10092e05
mov ecx, dword [esp + 0x28]
fld qword [ebx]
mov edx, dword [esp + 0x34]
fadd st(1)
shl ecx, 4
add ecx, edx
fcomp qword [ecx - 0x10]
fnstsw ax
test ah, 0x41
jp 0x10092e3d
mov edi, 1
jmp 0x10092e3f
xor edi, edi
mov eax, dword [esp + 0x38]
sub eax, edi
cmp eax, 4
mov edx, edi
mov dword [esp + 0x24], edx
jl 0x10092ed2
mov edx, dword [esp + 0x38]
sub edx, edi
lea eax, [edi + 1]
sub edx, 4
shr edx, 2
shl eax, 4
add edx, 1
add eax, ebx
lea ebx, [edx*4]
add edi, ebx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x28]
add ecx, 0x10
add edi, ebx
mov dword [esp + 0x28], edi
fld qword [eax - 0x10]
add ecx, 0x40
fadd st(1)
add eax, 0x40
sub edx, 1
fstp qword [ecx - 0x50]
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fadd st(1)
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fadd st(1)
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fadd st(1)
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x10092e85
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
jmp 0x10092ed6
mov edi, dword [esp + 0x28]
cmp edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
jge 0x10092f20
mov eax, edi
mov edi, dword [esp + 0x38]
shl eax, 4
add eax, ecx
sub edi, edx
mov ecx, edx
mov edx, edi
mov edi, dword [esp + 0x28]
add dword [esp + 0x24], edx
shl ecx, 4
add ecx, ebx
add edi, edx
fld qword [ecx]
add eax, 0x10
fadd st(1)
add ecx, 0x10
sub edx, 1
fstp qword [eax - 0x10]
fld qword [ecx - 8]
fstp qword [eax - 8]
jne 0x10092f00
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
shl edx, 4
fxch st(3)
fcomp qword [edx + ebx - 0x10]
fnstsw ax
fxch st(2)
jmp 0x100936f9
test edi, edi
jle 0x10092ff5
fstp st(0)
mov dword [esp + 0x50], ebx
fild dword [esp + 0x24]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x5c]
fmul qword [ebp + 0x30]
push ecx
sub esp, 0x30
fmul qword [0x1016cb38]
fadd qword [0x100dc570]
fst qword [esp + 0xa0]
fstp qword [esp + 0x28]
fld qword [esp + 0xa8]
fstp qword [esp + 0x20]
fld qword [ebp + 0x20]
fstp qword [esp + 0x18]
fld qword [ebp + 0x18]
fstp qword [esp + 0x10]
fld qword [ebp + 0x10]
fstp qword [esp + 8]
fld qword [ebp + 8]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_coordinate
mov eax, dword [esp + 0x50]
fld qword [esp + 0x58]
mov ecx, dword [esp + 0x24]
fstp qword [eax]
fld qword [esp + 0x60]
fstp qword [eax + 8]
fld qword [esp + 0x28]
fld qword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10092fc6
fst qword [esp + 0x28]
mov dword [esp + 0x40], ecx
fld qword [esp + 0x78]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10092fdd
fstp qword [esp + 0x78]
mov dword [esp + 0x38], ecx
jmp 0x10092fdf
fstp st(0)
add dword [esp + 0x50], 0x10
add ecx, 1
cmp ecx, edi
mov dword [esp + 0x24], ecx
jl 0x10092f40
fldz
mov eax, dword [esp + 0x40]
mov ecx, edi
xor edx, edx
sub ecx, eax
cmp ecx, 4
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jl 0x10093085
mov ecx, dword [esp + 0x34]
mov edx, eax
lea eax, [edx + 1]
shl eax, 4
add eax, ebx
mov ebx, edi
sub ebx, edx
sub ebx, 4
shr ebx, 2
add ebx, 1
mov dword [esp + 0x50], ebx
add ebx, ebx
add ebx, ebx
add ecx, 0x10
add edx, ebx
mov dword [esp + 0x24], edx
mov edx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x50]
fld qword [eax - 0x10]
add ecx, 0x40
fstp qword [ecx - 0x50]
add eax, 0x40
sub ebx, 1
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x10093046
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
cmp ecx, edi
jge 0x100930d4
mov eax, edx
mov edx, ecx
shl edx, 4
add edx, ebx
mov ecx, edi
sub ecx, dword [esp + 0x24]
shl eax, 4
add eax, dword [esp + 0x34]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x50]
fld qword [ecx]
add ecx, 0x10
fstp qword [eax]
add eax, 0x10
sub dword [esp + 0x40], 1
fld qword [ecx - 8]
fstp qword [eax - 8]
mov dword [esp + 0x50], ecx
jne 0x100930b5
cmp edx, edi
jge 0x10093191
mov ecx, dword [esp + 0x38]
xor eax, eax
add ecx, 1
cmp ecx, 4
mov dword [esp + 0x24], eax
jl 0x10093160
lea eax, [edx + 1]
mov edx, dword [esp + 0x38]
add edx, 1
shr edx, 2
mov dword [esp + 0x50], edx
add edx, edx
shl eax, 4
add eax, dword [esp + 0x34]
add edx, edx
add dword [esp + 0x28], edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
lea ecx, [ebx + 0x10]
fld qword [ecx - 0x10]
add eax, 0x40
fstp qword [eax - 0x50]
add ecx, 0x40
sub edx, 1
fld qword [ecx - 0x48]
fstp qword [eax - 0x48]
fld qword [ecx - 0x40]
fstp qword [eax - 0x40]
fld qword [ecx - 0x38]
fstp qword [eax - 0x38]
fld qword [ecx - 0x30]
fstp qword [eax - 0x30]
fld qword [ecx - 0x28]
fstp qword [eax - 0x28]
fld qword [ecx - 0x20]
fstp qword [eax - 0x20]
fld qword [ecx - 0x18]
fstp qword [eax - 0x18]
jne 0x1009311d
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jg 0x10093191
sub ecx, dword [esp + 0x24]
shl edx, 4
add edx, dword [esp + 0x34]
shl eax, 4
add eax, ebx
add ecx, 1
fld qword [eax]
add edx, 0x10
fstp qword [edx - 0x10]
add eax, 0x10
sub ecx, 1
fld qword [eax - 8]
fstp qword [edx - 8]
jne 0x1009317b
fld qword [0x1016ec98]
xor edx, edx
cmp edi, 4
fld qword [0x1016eca0]
jl 0x10093354
mov eax, dword [esp + 0x34]
add eax, 0x18
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
sub eax, ebx
mov dword [esp + 0x28], 2
lea ecx, [ebx + 0x10]
mov dword [esp + 0x24], eax
jmp 0x100931cc
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax - 0x18]
mov eax, dword [esp + 0x24]
fstp qword [ecx - 0x10]
fld qword [eax + ecx - 8]
fstp qword [ecx - 8]
fxch st(2)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 0x41
jne 0x10093204
fxch st(1)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 5
jp 0x10093202
fstp st(0)
mov dword [esp + 0x40], edx
fld qword [ecx - 0x10]
fxch st(1)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 5
jp 0x10093225
fxch st(2)
fcom qword [ecx - 0x10]
fnstsw ax
test ah, 0x41
jne 0x10093223
fstp st(0)
mov dword [esp + 0x38], edx
fld qword [ecx - 0x10]
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax - 8]
fstp qword [ecx]
fld qword [eax]
fstp qword [ecx + 8]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x10093258
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x10093256
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx]
add eax, 0xffffffff
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x1009327d
fxch st(2)
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x1009327b
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx]
add eax, 0xffffffff
mov dword [esp + 0x38], eax
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax + 8]
fstp qword [ecx + 0x10]
fld qword [eax + 0x10]
fstp qword [ecx + 0x18]
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x100932b2
fxch st(1)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x100932b0
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x10]
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x100932d7
fxch st(2)
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x100932d5
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x10]
mov dword [esp + 0x38], eax
fxch st(2)
mov eax, dword [esp + 0x50]
fld qword [eax + 0x18]
fstp qword [ecx + 0x20]
fld qword [eax + 0x20]
fstp qword [ecx + 0x28]
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x1009330f
fxch st(1)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 5
jp 0x1009330d
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x20]
add eax, 1
mov dword [esp + 0x40], eax
fxch st(1)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 5
jp 0x10093337
fxch st(2)
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x10093335
mov eax, dword [esp + 0x28]
fstp st(0)
fld qword [ecx + 0x20]
add eax, 1
mov dword [esp + 0x38], eax
fxch st(2)
add dword [esp + 0x28], 4
add dword [esp + 0x50], 0x40
add edx, 4
lea eax, [edi - 3]
add ecx, 0x40
cmp edx, eax
jl 0x100931ca
jmp 0x10093356
fxch st(2)
cmp edx, edi
jge 0x100933c5
mov eax, dword [esp + 0x34]
mov ecx, edx
shl ecx, 4
add ecx, ebx
sub eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
fld qword [ecx + eax]
fstp qword [ecx]
fld qword [ecx + eax + 8]
fstp qword [ecx + 8]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x1009339d
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x1009339b
fstp st(0)
mov dword [esp + 0x40], edx
fld qword [ecx]
fxch st(1)
fcom qword [ecx]
fnstsw ax
test ah, 5
jp 0x100933bb
fxch st(2)
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x100933b9
fstp st(0)
mov dword [esp + 0x38], edx
fld qword [ecx]
fxch st(2)
add edx, 1
add ecx, 0x10
cmp edx, edi
jl 0x1009336f
mov eax, dword [esp + 0x34]
fstp st(2)
mov edx, dword [esp + 0x38]
fstp st(0)
fld qword [0x1016ebe8]
add eax, 0x10
fst qword [eax - 0x10]
mov ecx, edx
fld qword [0x100dc4b8]
shl ecx, 4
fst qword [eax - 8]
add ecx, ebx
fxch st(1)
mov dword [esp + 0x50], eax
fst qword [eax]
fld st(2)
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 0x44
jp 0x10093410
fld qword [ecx + 0x18]
mov eax, dword [esp + 0x50]
fstp qword [eax + 8]
add edx, 2
jmp 0x1009342d
fld qword [ecx + 8]
add edx, 1
fld st(0)
fsub qword [ecx + 0x18]
fld qword [ecx]
fsub qword [ecx + 0x10]
fdivp st(1)
fmul qword [ecx]
mov ecx, dword [esp + 0x50]
fsubp st(1)
fstp qword [ecx + 8]
mov eax, edi
sub eax, edx
cmp eax, 4
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], 2
jl 0x100934c5
mov ecx, dword [esp + 0x34]
mov eax, edx
add eax, 1
shl eax, 4
add eax, ebx
mov ebx, dword [esp + 0x38]
mov edx, edi
sub edx, ebx
sub edx, 4
shr edx, 2
add ecx, 0x30
add edx, 1
lea ebx, [ebx + edx*4]
mov dword [esp + 0x24], ebx
lea ebx, [edx*4 + 2]
mov dword [esp + 0x28], ebx
fld qword [eax - 0x10]
add ecx, 0x40
fadd st(1)
add eax, 0x40
sub edx, 1
fstp qword [ecx - 0x50]
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fadd st(1)
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fadd st(1)
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fadd st(1)
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x1009347a
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
cmp edx, edi
jge 0x10093503
mov eax, dword [esp + 0x28]
mov ecx, edx
shl ecx, 4
add ecx, ebx
mov dword [esp + 0x50], ecx
shl eax, 4
add eax, dword [esp + 0x34]
mov ecx, edi
sub ecx, edx
add dword [esp + 0x28], ecx
mov edx, dword [esp + 0x50]
fld qword [edx]
add eax, 0x10
fadd st(1)
add edx, 0x10
sub ecx, 1
fstp qword [eax - 0x10]
fld qword [edx - 8]
fstp qword [eax - 8]
jne 0x100934eb
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
shl ecx, 4
fld qword [ecx + edx - 0x10]
lea eax, [ecx + edx]
fcomp qword [ebx]
mov dword [esp + 0x50], eax
fnstsw ax
test ah, 0x41
jp 0x10093529
mov edx, 1
jmp 0x1009352b
xor edx, edx
mov eax, edi
sub eax, edx
cmp eax, 4
jl 0x100935ad
mov ecx, dword [esp + 0x50]
lea eax, [edx + 1]
shl eax, 4
add eax, ebx
mov ebx, edi
sub ebx, edx
sub ebx, 4
shr ebx, 2
add ebx, 1
mov dword [esp + 0x50], ebx
add ebx, ebx
add ebx, ebx
add edx, ebx
add ecx, 0x10
add dword [esp + 0x28], ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
fld qword [eax - 0x10]
add ecx, 0x40
fstp qword [ecx - 0x50]
add eax, 0x40
sub edx, 1
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x1009356a
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
cmp edx, edi
jge 0x100935df
mov eax, dword [esp + 0x28]
mov ecx, edx
shl eax, 4
add eax, dword [esp + 0x34]
shl ecx, 4
sub edi, edx
add ecx, ebx
add dword [esp + 0x28], edi
fld qword [ecx]
add eax, 0x10
fstp qword [eax - 0x10]
add ecx, 0x10
sub edi, 1
fld qword [ecx - 8]
fstp qword [eax - 8]
jne 0x100935c9
mov eax, dword [esp + 0x28]
fld qword [ebx]
mov ecx, dword [esp + 0x34]
fsub st(1)
shl eax, 4
add ecx, eax
fcomp qword [ecx - 0x10]
fnstsw ax
test ah, 1
jne 0x10093601
mov edi, 1
jmp 0x10093603
xor edi, edi
mov eax, dword [esp + 0x40]
sub eax, edi
cmp eax, 4
mov edx, edi
jl 0x10093692
mov edx, dword [esp + 0x40]
sub edx, edi
lea eax, [edi + 1]
sub edx, 4
shr edx, 2
shl eax, 4
add edx, 1
add eax, ebx
lea ebx, [edx*4]
add edi, ebx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x28]
add ecx, 0x10
add edi, ebx
mov dword [esp + 0x28], edi
fld qword [eax - 0x10]
add ecx, 0x40
fsub st(1)
add eax, 0x40
sub edx, 1
fstp qword [ecx - 0x50]
fld qword [eax - 0x48]
fstp qword [ecx - 0x48]
fld qword [eax - 0x40]
fsub st(1)
fstp qword [ecx - 0x40]
fld qword [eax - 0x38]
fstp qword [ecx - 0x38]
fld qword [eax - 0x30]
fsub st(1)
fstp qword [ecx - 0x30]
fld qword [eax - 0x28]
fstp qword [ecx - 0x28]
fld qword [eax - 0x20]
fsub st(1)
fstp qword [ecx - 0x20]
fld qword [eax - 0x18]
fstp qword [ecx - 0x18]
jne 0x10093645
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
jmp 0x10093696
mov edi, dword [esp + 0x28]
cmp edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
jge 0x100936e8
mov eax, edi
mov edi, dword [esp + 0x40]
sub edi, edx
shl eax, 4
add eax, ecx
mov ecx, edx
add edx, edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x28]
shl ecx, 4
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
add ecx, ebx
add edi, edx
fld qword [ecx]
add eax, 0x10
fsub st(1)
add ecx, 0x10
sub edx, 1
fstp qword [eax - 0x10]
fld qword [ecx - 8]
fstp qword [eax - 8]
jne 0x100936c8
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
shl edx, 4
fxch st(2)
fcomp qword [edx + ebx - 0x10]
fnstsw ax
fld qword [0x1016ec70]
test ah, 0x44
jnp 0x10093711
mov edx, edi
shl edx, 4
lea eax, [edx + ecx]
fst qword [eax]
add edi, 1
fld qword [ecx + 0x18]
fstp qword [eax + 8]
mov eax, edi
shl eax, 4
fstp qword [eax + ecx]
add eax, ecx
add edi, 1
fst qword [eax + 8]
mov edx, edi
shl edx, 4
fxch st(1)
fstp qword [edx + ecx]
lea eax, [edx + ecx]
add edi, 1
fstp qword [eax + 8]
mov eax, 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, edi
shl eax, 4
push eax
mov dword [esp + 0x54], edi
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], edi
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x14], eax
je 0x10093850
xor ecx, ecx
cmp edi, 4
jl 0x10093823
mov edx, dword [esp + 0x34]
mov ecx, 0x20
sub ecx, edx
mov dword [esp + 0x28], ecx
lea eax, [edx + 0x10]
mov ebx, 0x10
sub ebx, edx
mov ecx, 0xfffffff0
sub ecx, edx
lea edx, [edi - 4]
shr edx, 2
add edx, 1
lea edi, [edx*4]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], edi
jmp 0x100937b9
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov edi, dword [esi + 0x14]
fld qword [eax - 0x10]
add ecx, eax
fstp qword [ecx + edi]
mov edi, dword [esi + 0x14]
fld qword [eax - 8]
add ebx, eax
fstp qword [ecx + edi + 8]
mov edi, dword [esi + 0x14]
fld qword [eax]
fstp qword [ecx + edi + 0x10]
mov edi, dword [esi + 0x14]
fld qword [eax + 8]
fstp qword [ecx + edi + 0x18]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x10]
fstp qword [ebx + edi]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x18]
fstp qword [ecx + edi + 0x28]
mov edi, dword [esp + 0x28]
fld qword [eax + 0x20]
mov ebx, dword [esi + 0x14]
add edi, eax
fstp qword [edi + ebx]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x28]
add eax, 0x40
sub edx, 1
fstp qword [ecx + edi + 0x38]
jne 0x100937b1
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
cmp ecx, edi
jge 0x1009385b
mov eax, ecx
shl eax, 4
sub edi, ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x14]
fld qword [eax + ecx]
fstp qword [eax + edx]
mov edx, dword [esi + 0x14]
fld qword [eax + ecx + 8]
add eax, 0x10
sub edi, 1
fstp qword [eax + edx - 8]
jne 0x10093832
jmp 0x1009385f
push esi
call fcn.100b8f00
add esp, 4
xor esi, esi
mov ecx, dword [esp + 0x34]
push ecx
call fcn.100b8f00
add esp, 4
test esi, esi
je 0x1009387a
cmp dword [esp + 0x54], 0
je 0x1009387a
mov dword [esi + 8], 0
push ebx
call fcn.100b8f00
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret