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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x2b4
mov edi, dword [0x1020ed34]
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x184], edx
mov dword [esp + 0x2a0], edi
mov edx, dword [0x10219190]
mov esi, dword [0x102839e0]
mov dword [esp + 0x254], esi
mov ebx, eax
imul eax, ebx, 0xa10
mov edi, dword [eax + edx + 0x87c]
inc dword [0x10219c30]
mov dword [esp + 0x28c], eax
cmp ecx, 8
je 0x10177552
mov eax, dword [0x10219178]
cmp eax, dword [0x1020cabc]
jle 0x101733a4
mov esi, dword [0x10219c40]
mov ecx, dword [0x10219c48]
mov dword [0x1020cabc], eax
mov eax, dword [0x10219c3c]
mov dword [esp + 0x88], eax
mov eax, dword [0x10219c44]
mov dword [esp + 0x80], ecx
mov edx, 0xffffffff
mov ecx, dword [0x10219c4c]
mov dword [0x1020cac0], edx
mov dword [0x10219c34], edx
mov edx, dword [0x10219c38]
mov dword [esp + 0x98], ecx
mov ecx, dword [0x10219c50]
test edx, edx
mov dword [esp + 0x90], ecx
mov ecx, dword [0x10219c54]
mov dword [esp + 0x94], ecx
jle 0x101731c2
mov dword [esp + 0x9c], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x84], edx
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x90]
xor ecx, ecx
mov esi, ecx
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x80]
xor eax, eax
mov edi, eax
mov edx, dword [esp + 0x9c]
mov edx, dword [edx + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
mov edx, dword [esp + 0x94]
mov edx, dword [edx + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
mov edx, dword [ebx + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
add esp, 0x14
inc edi
cmp edi, 3
jle 0x101730d7
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x9c]
push dword [eax + esi*4]
call fcn.101bceaa
push dword [edi + esi*4]
call fcn.101bceaa
push dword [ebx + esi*4]
call fcn.101bceaa
mov eax, dword [esp + 0xa4]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [esp + 0xa4]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [esp + 0x9c]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [esp + 0xa4]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 0x1c
inc esi
cmp esi, dword [esp + 0x84]
jl 0x101730d3
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
push eax
call fcn.101bceaa
push dword [esp + 0x94]
mov dword [0x10219c44], 0
call fcn.101bceaa
push dword [esp + 0x88]
mov dword [0x10219c50], 0
call fcn.101bceaa
push dword [esp + 0xa4]
mov dword [0x10219c48], 0
call fcn.101bceaa
push dword [esp + 0xa4]
mov dword [0x10219c4c], 0
call fcn.101bceaa
push dword [esp + 0x9c]
mov dword [0x10219c54], 0
call fcn.101bceaa
mov dword [0x10219c3c], 0
push esi
call fcn.101bceaa
push dword [0x10219c58]
mov dword [0x10219c40], 0
call fcn.101bceaa
push dword [0x10219c5c]
mov dword [0x10219c58], 0
call fcn.101bceaa
mov dword [0x10219c5c], 0
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c44], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c50], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c48], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c4c], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c54], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
mov dword [0x10219c3c], eax
push 4
push dword [0x10220314]
call fcn.101beb7a
add esp, 0x5c
mov edx, dword [0x10220314]
mov dword [0x10219c40], eax
test edx, edx
jle 0x1017339e
mov dword [esp + 0xc0], ebx
xor eax, eax
mov esi, 4
mov ebx, eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c44]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c50]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c48]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c4c]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c54]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
mov edx, dword [0x10219c3c]
mov dword [edx + ebx*4], eax
push esi
push esi
call fcn.101beb7a
add esp, 0x38
mov edx, dword [0x10219c40]
mov dword [edx + ebx*4], eax
mov edx, dword [0x10220314]
inc ebx
cmp ebx, edx
jl 0x10173319
mov ebx, dword [esp + 0xc0]
mov dword [0x10219c38], edx
mov eax, dword [0x10219180]
cmp eax, dword [0x1020cac0]
je 0x1017359b
movsd xmm0, qword [0x101f4788]
mov edx, dword [0x10219c34]
movsd qword [0x10219c28], xmm0
add edx, 5
mov dword [0x1020cac0], eax
cmp eax, edx
jge 0x101733e4
call fcn.1013a3b0
test eax, eax
jne 0x1017358a
xor eax, eax
mov dword [0x10219c60], eax
mov dword [0x10219c64], eax
mov dword [0x10219c68], eax
mov dword [0x10219c6c], eax
mov dword [0x10219c70], eax
mov dword [0x10219c74], eax
mov eax, dword [0x102202f0]
test eax, eax
jle 0x1017341c
cmp eax, 2
jg 0x1017341c
movsd xmm1, qword [0x101f4790]
jmp 0x10173424
movsd xmm1, qword [0x101f4880]
cmp dword [0x10282f80], 2
jl 0x10173460
movsd qword [esp + 0x88], xmm1
mov esi, 2
push esi
push 1
call fcn.100edec0
add esp, 8
test eax, eax
je 0x1017358a
inc esi
cmp esi, dword [0x10282f80]
jle 0x1017343b
movsd xmm1, qword [esp + 0x88]
movsd qword [esp + 0x88], xmm1
call fcn.1013a3b0
movsd xmm1, qword [esp + 0x88]
test eax, eax
jne 0x1017358a
cmp dword [0x1021f838], 0
je 0x10173495
cmp dword [0x1021f834], 0
jne 0x1017358a
cmp dword [0x1021f82c], 0
jne 0x1017358a
movsd qword [esp + 0x88], xmm1
call fcn.100ed480
movsd xmm1, qword [esp + 0x88]
fstp qword [esp + 0x80]
movsd xmm2, qword [esp + 0x80]
movaps xmm0, xmm1
mulsd xmm0, qword [0x101f4798]
comisd xmm0, xmm2
jbe 0x101734f3
mov eax, dword [0x10219180]
mov dword [0x10219c70], 1
mov dword [0x10219c34], eax
jmp 0x1017358a
movaps xmm0, xmm1
mulsd xmm0, qword [0x101f47a0]
comisd xmm0, xmm2
jbe 0x1017351a
mov eax, dword [0x10219180]
mov dword [0x10219c74], 1
mov dword [0x10219c34], eax
jmp 0x1017358a
movaps xmm0, xmm1
mulsd xmm0, qword [0x101f47a8]
comisd xmm0, xmm2
jbe 0x10173541
mov eax, dword [0x10219180]
mov dword [0x10219c6c], 1
mov dword [0x10219c34], eax
jmp 0x1017358a
movaps xmm0, xmm1
mulsd xmm0, qword [0x101f47b0]
comisd xmm0, xmm2
jbe 0x10173568
mov eax, dword [0x10219180]
mov dword [0x10219c68], 1
mov dword [0x10219c34], eax
jmp 0x1017358a
mulsd xmm1, qword [0x101f47c0]
comisd xmm1, xmm2
jbe 0x1017358a
mov eax, dword [0x10219180]
mov dword [0x10219c64], 1
mov dword [0x10219c34], eax
mov eax, 0xffffffff
mov dword [0x1020cac4], eax
mov dword [0x1020cac8], eax
jmp 0x101735a0
mov eax, dword [0x1020cac4]
test ebx, ebx
jle 0x101735c0
cmp ebx, dword [0x10282f80]
jg 0x101735c0
mov edx, dword [0x1021fee8]
mov ecx, dword [edx + ebx*4]
mov esi, dword [ecx]
mov dword [esp + 0x258], esi
jmp 0x101735cb
mov dword [esp + 0x258], 0xffffffff
cmp dword [esp + 0x184], 1
je 0x101735f7
cmp dword [esp + 0x184], 2
jne 0x101735e6
mov esi, 2
jmp 0x101735fc
mov edx, dword [esp + 0x184]
xor esi, esi
cmp edx, 3
cmove esi, edx
jmp 0x101735fc
mov esi, 1
cmp eax, ebx
jne 0x1017360f
mov eax, dword [esp + 0x184]
cmp eax, dword [0x1020cac8]
je 0x10173673
push dword [0x10219c58]
mov dword [0x10219c78], 0xffffffff
call fcn.101bceaa
push dword [0x10219c5c]
mov dword [0x10219c58], 0
call fcn.101bceaa
add esp, 8
cmp dword [esp + 0x27c], 9
mov dword [0x10219c5c], 0
je 0x1017758d
mov eax, dword [esp + 0x184]
mov dword [esp + 0x180], 1
mov dword [0x1020cac4], ebx
mov dword [0x1020cac8], eax
jmp 0x10173688
cmp dword [esp + 0x27c], 9
je 0x1017360f
mov dword [esp + 0x180], 0
push ebx
call fcn.100ee540
pop ecx
mov dword [esp + 0x24c], eax
fldz
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
cmp dword [edx + esi*4], 0
fstp dword [esp + 0x280]
jne 0x10174ce7
fld dword [esp + 0x280]
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x28c]
mov eax, dword [edx + ecx + 0xd0]
mov ecx, dword [eax]
fcomp qword [ecx + 0x18]
fnstsw ax
mov dword [esp + 0xec], ecx
sahf
jb 0x101736f6
mov edx, ecx
lea eax, [edx + 0x18]
push eax
push dword [edx + 0x10]
push dword [edx]
call fcn.100b0a90
add esp, 0xc
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x28c]
movsd xmm0, qword [edx + eax + 0x68]
comisd xmm0, xmmword [0x101f47b8]
jbe 0x10173755
cmp dword [0x1021f64c], 1
jle 0x1017371f
cmp dword [0x1021f648], 1
jg 0x10173755
mov ecx, dword [edx + eax + 0x934]
mov dword [esp + 0x80], ecx
test ecx, ecx
je 0x101764cf
mov eax, dword [0x1021fee4]
mov ecx, dword [esp + 0x258]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x80]
cmp dword [eax + ecx*4], 0
jle 0x101764cf
fld qword [0x101f47c8]
fstp qword [esp + 0xf8]
mov dword [esp + 0x100], 0
cmp dword [0x1021f838], 0
je 0x10173939
mov ecx, dword [0x10219b44]
mov dword [esp + 0x80], ecx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x8c], eax
mov ecx, eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x28c]
lea eax, [eax + edx]
jle 0x1017394b
mov dword [esp + 0x90], 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x290], esi
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0xc0], ebx
mov ebx, dword [0x10219b3c]
test ebx, ebx
je 0x1017390b
mov esi, dword [edx + eax + 0x888]
cmp dword [ebx + esi*4], 0
je 0x1017390b
mov ebx, dword [esp + 0xf4]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x90], ecx
xor esi, esi
test esi, esi
jne 0x1017384d
mov ecx, dword [esp + 0x28c]
mov edi, dword [0x10219b3c]
mov ecx, dword [edx + ecx + 0x888]
mov edi, dword [edi + ecx*4]
mov ecx, dword [esp + 0x90]
movsd xmm0, qword [edi + ecx*8]
jmp 0x10173870
mov ecx, dword [esp + 0x28c]
mov edi, dword [0x10219b40]
mov ecx, dword [edx + ecx + 0x888]
mov edi, dword [edi + ecx*4]
mov ecx, dword [esp + 0x90]
movsd xmm0, qword [edi + ecx*8]
test ebx, ebx
jle 0x10173889
xor ecx, ecx
mov edi, ecx
shl edi, 4
ucomisd xmm0, qword [eax + edi]
jp 0x10173884
je 0x101738df
inc ecx
cmp ecx, ebx
jl 0x10173876
mov edx, ebx
shl edx, 4
add edx, 0x10
push edx
push eax
movsd qword [esp + 0x88], xmm0
call fcn.101bcb76
movsd xmm0, qword [esp + 0x88]
add esp, 8
mov ecx, dword [esp + 0x28c]
mov edx, ebx
shl edx, 4
movsd qword [eax + edx], xmm0
inc ebx
mov dword [eax + edx + 8], 0
mov dword [eax + edx + 0xc], 4
mov edx, dword [0x10219190]
lea edi, [ecx + edx]
mov dword [esp + 0x88], edi
inc esi
cmp esi, 1
jle 0x10173824
mov ecx, dword [esp + 0x90]
mov edi, dword [0x10219b44]
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x28c]
inc ecx
cmp ecx, edi
jl 0x101737ee
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
jmp 0x1017394b
mov eax, dword [esp + 0x28c]
xor ecx, ecx
mov dword [esp + 0xf4], ecx
add eax, edx
add eax, 0x820
cmp dword [0x10282f80], 5
jg 0x1017399b
movsd xmm0, qword [0x101f47d0]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
mov eax, 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
lea edx, [esp + 0x228]
mov dword [esp + 0x14], edx
lea eax, [esp + 0x29c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x8c], ecx
call fcn.100ee6e0
jmp 0x101739db
movsd xmm0, qword [0x101f47d8]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
mov eax, 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
lea edx, [esp + 0x228]
mov dword [esp + 0x14], edx
lea eax, [esp + 0x29c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x8c], ecx
call fcn.100ee6e0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x29c]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x80], eax
shl eax, 4
shl edx, 4
mov dword [esp + 0x84], eax
add edx, eax
push edx
push ecx
call fcn.101bcb76
mov dword [esp + 0xf8], eax
push dword [esp + 0x8c]
push 0
call fcn.101bcb76
mov dword [esp + 0xbc], eax
push 4
push dword [esp + 0x94]
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0x29c]
test edx, edx
jle 0x10173bf4
mov eax, dword [esp + 0x228]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xac]
and eax, 0xf
je 0x10173a77
test al, 7
jne 0x10176941
mov eax, 1
lea ecx, [eax + 8]
cmp edx, ecx
jl 0x10176941
mov ecx, edx
sub ecx, eax
and ecx, 7
neg ecx
add ecx, edx
test eax, eax
jbe 0x10173aea
mov dword [esp + 0x80], 0
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0xac]
movsd xmm0, qword [edi + esi*8]
movsd qword [ebx + esi*8], xmm0
inc esi
cmp esi, eax
jb 0x10173ac6
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x84]
lea ecx, [ecx + eax*8]
test cl, 0xf
mov ecx, dword [esp + 0x80]
je 0x10173b6e
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x84]
movsd xmm0, qword [ebx + eax*8]
movhpd xmm0, qword [ebx + eax*8 + 8]
movsd xmm1, qword [ebx + eax*8 + 0x10]
movhpd xmm1, qword [ebx + eax*8 + 0x18]
movsd xmm2, qword [ebx + eax*8 + 0x20]
movhpd xmm2, qword [ebx + eax*8 + 0x28]
movsd xmm3, qword [ebx + eax*8 + 0x30]
movhpd xmm3, qword [ebx + eax*8 + 0x38]
movaps xmmword [edi + eax*8], xmm0
movaps xmmword [edi + eax*8 + 0x10], xmm1
movaps xmmword [edi + eax*8 + 0x20], xmm2
movaps xmmword [edi + eax*8 + 0x30], xmm3
add eax, 8
cmp eax, ecx
jb 0x10173b23
jmp 0x10173bb7
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x84]
movaps xmm0, xmmword [ebx + eax*8]
movaps xmm1, xmmword [ebx + eax*8 + 0x10]
movaps xmm2, xmmword [ebx + eax*8 + 0x20]
movaps xmm3, xmmword [ebx + eax*8 + 0x30]
movaps xmmword [edi + eax*8], xmm0
movaps xmmword [edi + eax*8 + 0x10], xmm1
movaps xmmword [edi + eax*8 + 0x20], xmm2
movaps xmmword [edi + eax*8 + 0x30], xmm3
add eax, 8
cmp eax, ecx
jb 0x10173b8a
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
cmp ecx, edx
jae 0x10173bf4
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0xac]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebx + ecx*8], xmm0
inc ecx
cmp ecx, edx
jb 0x10173bde
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xa4], 0
cmp edx, 2
mov dword [esp + 0xe8], 2
jl 0x10173e5c
fld dword [esp + 0x280]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x108], edx
fild dword [esp + 0x108]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0xc0], ebx
mov ebx, edx
pxor xmm0, xmm0
mov edx, dword [esp + 0xf4]
fxch st(1)
cvtsi2ss xmm1, ebx
comiss xmm1, xmm0
mov dword [esp + 0x108], esi
fild dword [esp + 0x108]
fdivr st(2)
jbe 0x101775b7
mov dword [esp + 0xe8], esi
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
mov dword [esp + 0xa0], eax
fxch st(2)
fxch st(1)
mov esi, dword [esp + 0xb8]
fst qword [esp + 0x108]
cvttsd2si eax, qword [esp + 0x108]
cmp dword [esi + eax*4], 0
fxch st(1)
jne 0x10173dff
fstp st(0)
mov ebx, dword [esp + 0xac]
fld qword [ebx + eax*8]
test edx, edx
fxch st(2)
jle 0x10173dc4
fld qword [0x1020c110]
fst qword [esp + 0x98]
fxch st(3)
fstp qword [esp + 0xb0]
fxch st(1)
fstp qword [esp + 0x88]
fstp qword [esp + 0x80]
mov dword [esp + 0xa8], eax
fchs
fstp qword [esp + 0x90]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x100]
xor ebx, ebx
fld qword [esp + 0xb0]
mov esi, ebx
shl esi, 4
fld qword [edi + esi]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10173d32
je 0x10173d6f
test ecx, ecx
je 0x10173d96
fadd qword [esp + 0xf8]
fld qword [0x101f4818]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10173d45
fstp st(1)
fsubr qword [esp + 0xb0]
fld qword [esp + 0x98]
fcomp st(1)
fnstsw ax
sahf
jbe 0x10173d96
fcom qword [esp + 0x90]
fnstsw ax
sahf
jbe 0x10173d96
fstp st(0)
fld qword [esp + 0x88]
fld qword [esp + 0x80]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
or dword [esi + edi + 0xc], 1
fxch st(1)
jmp 0x10173de2
fstp st(0)
inc ebx
cmp ebx, edx
jl 0x10173d18
fld qword [esp + 0xb0]
fld qword [esp + 0x88]
mov eax, dword [esp + 0xa8]
fld qword [esp + 0x80]
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov esi, edx
shl esi, 4
fxch st(2)
fstp qword [edi + esi]
inc edx
mov dword [edi + esi + 0xc], 1
mov dword [edi + esi + 8], ebx
fild dword [esp + 0x29c]
mov ebx, dword [esp + 0xb8]
inc ecx
mov dword [ebx + eax*4], 1
mov ebx, dword [esp + 0x29c]
fxch st(1)
fadd st(2)
fcom st(1)
fnstsw ax
sahf
jp 0x10173e10
jb 0x10173c99
fstp st(0)
fstp st(1)
fld dword [esp + 0x280]
mov esi, dword [esp + 0xe8]
add esi, esi
cmp esi, ebx
jle 0x10173c61
fstp st(1)
mov edi, dword [esp + 0x288]
mov dword [esp + 0xf4], edx
mov edx, ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x290]
mov dword [esp + 0xa4], ecx
fstp st(0)
mov ecx, dword [esp + 0xe8]
mov eax, ecx
shr eax, 0x1f
add ecx, eax
sar ecx, 1
cmp edx, dword [esp + 0xa4]
mov dword [esp + 0xe8], ecx
jle 0x10173fdd
test edx, edx
jle 0x10173fdd
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0xf0]
xor eax, eax
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0xc0], ebx
cmp dword [edi + eax*4], 0
jne 0x10173fb8
test ecx, ecx
jle 0x10173f80
fld qword [0x1020c110]
mov edx, dword [esp + 0xac]
fld qword [edx + eax*8]
mov edi, dword [esp + 0x100]
fstp qword [esp + 0x98]
fst qword [esp + 0x88]
mov dword [esp + 0x90], eax
xor ebx, ebx
fchs
fstp qword [esp + 0x80]
fld qword [esp + 0x98]
mov edx, ebx
shl edx, 4
fld qword [esi + edx]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10173f17
je 0x10173f54
test edi, edi
je 0x10173f6b
fadd qword [esp + 0xf8]
fld qword [0x101f4818]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10173f2a
fstp st(1)
fsubr qword [esp + 0x98]
fld qword [esp + 0x88]
fcomp st(1)
fnstsw ax
sahf
jbe 0x10173f6b
fcom qword [esp + 0x80]
fnstsw ax
sahf
jbe 0x10173f6b
fstp st(0)
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0xb8]
or dword [edx + esi + 0xc], 1
jmp 0x10173faa
fstp st(0)
inc ebx
cmp ebx, ecx
jl 0x10173efd
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xe8]
mov edx, ecx
shl edx, 4
mov dword [esi + edx + 8], ebx
mov ebx, dword [esp + 0xac]
movsd xmm0, qword [ebx + eax*8]
movsd qword [esi + edx], xmm0
inc ecx
mov dword [esi + edx + 0xc], 1
mov edx, dword [esp + 0x29c]
mov dword [edi + eax*4], 1
inc eax
cmp eax, edx
jl 0x10173eb4
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xf4], ecx
push dword [esp + 0xb8]
mov dword [esp + 0x90], edx
call fcn.101bceaa
push dword [esp + 0xb0]
call fcn.101bceaa
mov edx, dword [esp + 0x94]
add esp, 8
fld qword [esp + 0xf8]
mov ecx, dword [0x10219190]
mov eax, dword [esp + 0x28c]
fld qword [ecx + eax + 0x988]
fdivr st(1), st(0)
fxch st(1)
fmul qword [0x101f4828]
fcom qword [0x101f4830]
fnstsw ax
mov dword [esp + 0x90], ecx
sahf
jb 0x1017404d
mov eax, dword [0x10282f80]
cmp eax, 0xfa
jg 0x1017404d
fstp st(0)
jmp 0x1017409e
fcom qword [0x101f4838]
fnstsw ax
sahf
jb 0x10174068
mov eax, dword [0x10282f80]
cmp eax, 0x96
jg 0x10174068
fstp st(0)
jmp 0x1017409e
fcom qword [0x101f4848]
fnstsw ax
sahf
jb 0x10174081
mov eax, dword [0x10282f80]
cmp eax, 0x64
jg 0x10174081
fstp st(0)
jmp 0x1017409e
fcomp qword [0x101f4850]
fnstsw ax
sahf
jb 0x101745d0
mov eax, dword [0x10282f80]
cmp eax, 0x32
jg 0x101745d0
mov ecx, dword [esp + 0xec]
movsd xmm1, qword [0x1021fc80]
divsd xmm1, qword [0x101f4840]
movsd xmm0, qword [ecx + 0x18]
comisd xmm0, xmm1
ja 0x1017416a
movsd xmm1, qword [0x101f47c0]
mulsd xmm1, qword [0x1021fca8]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
mov ecx, dword [ecx]
shl eax, 4
movsd xmm0, qword [eax + edx]
shl ecx, 4
subsd xmm0, qword [ecx + edx]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
comisd xmm0, xmm1
ja 0x1017416a
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0xc]
shl ecx, 4
mov dword [esp + 0x88], eax
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x84]
shl eax, 4
movsd xmm0, qword [eax + edx + 8]
subsd xmm0, qword [ecx + edx + 8]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
comisd xmm0, xmm1
jbe 0x101745d0
cmp edx, 0x64
jg 0x101745d0
cmp eax, 5
jg 0x1017417f
mov eax, 0x10
jmp 0x101741b3
cmp eax, 0xa
jg 0x1017418b
mov eax, 8
jmp 0x101741b3
cmp eax, 0xf
jg 0x10174197
mov eax, 6
jmp 0x101741b3
cmp eax, 0x1e
jg 0x101741a3
mov eax, 5
jmp 0x101741b3
mov edx, 4
cmp eax, 0x46
mov eax, 2
cmovle eax, edx
fld dword [esp + 0x280]
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x90]
fld qword [edx + ecx + 0x990]
mov dword [esp + 0x108], eax
fucom st(1)
fnstsw ax
fxch st(1)
fstp st(0)
fild dword [esp + 0x108]
sahf
jp 0x101741ea
je 0x10174213
fld st(2)
fdiv st(2)
fdivrp st(1)
fld st(0)
frndint
fcom st(1)
fnstsw ax
sahf
fstp st(1)
jae 0x10174201
fld1
faddp st(1)
fistp dword [esp + 0x108]
fild dword [esp + 0x108]
fmulp st(1)
jmp 0x10174219
fstp st(1)
fld st(1)
fdivrp st(1)
fld st(0)
fsub qword [0x101f4860]
fcom st(2)
fnstsw ax
sahf
mov edx, dword [esp + 0xf4]
ja 0x101775be
jp 0x101775be
cmp dword [esp + 0xf4], 0
jle 0x101775be
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xd4], edx
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x288], edi
mov dword [esp + 0xc0], ebx
fxch st(2)
fxch st(2)
fstp qword [esp + 0x98]
fstp qword [esp + 0x90]
fstp qword [esp + 0xc8]
xor ebx, ebx
mov eax, esi
shl eax, 4
add eax, 0x20
push eax
push ecx
call fcn.101bcb76
add esp, 8
mov ecx, eax
fld qword [esp + 0xc8]
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x28c]
fdivr qword [eax + edx + 0x988]
fld st(0)
frndint
fcom st(1)
fnstsw ax
sahf
fstp st(1)
jae 0x101742cb
fld1
faddp st(1)
mov eax, dword [esp + 0xe8]
fistp dword [esp + 0x108]
mov edi, dword [esp + 0x108]
lea edi, [edi + eax + 1]
mov eax, ebx
shl eax, 4
test esi, esi
jle 0x101743cd
fld qword [0x1020c110]
fld qword [esp + 0xc8]
fadd qword [eax + ecx]
fxch st(1)
fst qword [esp + 0xa8]
fxch st(1)
fstp qword [esp + 0xd8]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x8c], ebx
xor edx, edx
fchs
fstp qword [esp + 0xa0]
fld qword [esp + 0xd8]
mov ebx, edx
shl ebx, 4
fld qword [ecx + ebx]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10174354
je 0x10174391
test edi, edi
je 0x101743b1
fadd qword [esp + 0xf8]
fld qword [0x101f4818]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10174367
fstp st(1)
fsubr qword [esp + 0xd8]
fld qword [esp + 0xa8]
fcomp st(1)
fnstsw ax
sahf
jbe 0x101743b1
fcom qword [esp + 0xa0]
fnstsw ax
sahf
jbe 0x101743b1
fstp st(0)
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc4]
mov edx, ebx
mov ebx, dword [esp + 0x8c]
or dword [edx + ecx + 0xc], 2
jmp 0x101743f4
fstp st(0)
inc edx
cmp edx, esi
jl 0x1017433a
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x8c]
fld qword [esp + 0xc8]
mov edx, esi
shl edx, 4
inc esi
test esi, esi
mov dword [ecx + edx + 0xc], 2
mov dword [ecx + edx + 8], edi
fadd qword [ecx + eax]
fstp qword [ecx + edx]
jle 0x101744c2
fld qword [0x1020c110]
fld qword [esp + 0xc8]
fsubr qword [eax + ecx]
fxch st(1)
fst qword [esp + 0xb8]
fxch st(1)
fstp qword [esp + 0xe0]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x8c], ebx
xor edx, edx
fchs
fstp qword [esp + 0xb0]
mov ebx, edx
fld qword [esp + 0xe0]
mov edx, ebx
shl edx, 4
fld qword [ecx + edx]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10174459
je 0x10174496
test edi, edi
je 0x101744a6
fadd qword [esp + 0xf8]
fld qword [0x101f4818]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x1017446c
fstp st(1)
fsubr qword [esp + 0xe0]
fld qword [esp + 0xb8]
fcomp st(1)
fnstsw ax
sahf
jbe 0x101744a6
fcom qword [esp + 0xb0]
fnstsw ax
sahf
jbe 0x101744a6
fstp st(0)
mov ebx, dword [esp + 0x8c]
or dword [edx + ecx + 0xc], 2
jmp 0x101744e1
fstp st(0)
inc ebx
cmp ebx, esi
jl 0x1017443f
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x8c]
fld qword [esp + 0xc8]
mov edx, esi
shl edx, 4
inc esi
mov dword [ecx + edx + 8], edi
mov dword [ecx + edx + 0xc], 2
fsubr qword [ecx + eax]
fstp qword [ecx + edx]
inc ebx
cmp ebx, dword [esp + 0xd4]
jl 0x1017428c
fld qword [esp + 0x98]
fld qword [esp + 0x90]
fld qword [esp + 0xc8]
fsub st(1)
fcom st(2)
fnstsw ax
sahf
jae 0x10174273
fstp st(2)
fstp st(1)
fstp st(0)
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x290]
cmp dword [esp + 0xf4], 0
jle 0x101745d2
fld qword [0x101f4818]
fld dword [esp + 0x280]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x288], edi
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0xf4]
xor edx, edx
mov edi, edx
shl edi, 4
fld qword [ecx + edi]
fcom st(1)
fnstsw ax
sahf
jae 0x1017459a
jp 0x1017459a
fstp st(0)
fld qword [edi + ecx]
fadd st(2)
fcom st(1)
fnstsw ax
sahf
jp 0x10174594
jb 0x10174589
fstp qword [edi + ecx]
fld qword [ecx + edi]
fcomp st(2)
fnstsw ax
sahf
jb 0x101745b0
fld qword [edi + ecx]
fsub st(2)
fcom st(2)
fnstsw ax
sahf
jae 0x101745a4
fstp qword [edi + ecx]
inc edx
cmp edx, ebx
jl 0x10174573
fstp st(1)
mov edi, dword [esp + 0x288]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xc0]
fstp st(0)
jmp 0x101745d2
fstp st(0)
push dword [esp + 0x228]
call fcn.101bceaa
pop ecx
cmp dword [esp + 0x24c], 4
je 0x10176aab
cmp dword [esp + 0xf4], 0
jle 0x101748dd
mov dword [esp + 0x290], esi
xor eax, eax
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x28c]
mov dword [esp + 0xc0], ebx
mov ebx, eax
mov edx, dword [0x1021f8f8]
cmp edx, 2
je 0x1017462b
cmp edx, 1
jne 0x1017464e
movsd xmm0, qword [0x1021fb88]
addsd xmm0, qword [0x1021fbb8]
mulsd xmm0, qword [0x101f47e0]
movsd qword [esp + 0x88], xmm0
jmp 0x10174677
movsd xmm1, qword [0x1021fb88]
movsd xmm0, qword [0x1021fbb8]
subsd xmm0, xmm1
divsd xmm0, qword [0x101f4790]
addsd xmm1, xmm0
movsd qword [esp + 0x88], xmm1
mov edx, dword [0x10219190]
mov edx, dword [edx + edi + 0x9fc]
test edx, edx
je 0x10176a62
mov edx, dword [edx + 0x10]
shl edx, 4
push edx
call fcn.101bcde0
mov esi, eax
mov edx, dword [0x10219190]
mov edx, dword [edx + edi + 0x9fc]
mov ecx, dword [edx + 0x10]
shl ecx, 4
push ecx
push dword [edx]
push esi
call fcn.101d7590
add esp, 0x10
mov eax, dword [0x10219190]
mov edx, dword [eax + edi + 0x9fc]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x90], ecx
mov edx, ecx
mov dword [esp + 4], 0
lea ecx, [esp + 0xc]
mov dword [esp], esi
mov dword [esp + 8], edx
movsd xmm0, qword [edi + eax + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + eax + 0x80]
movsd qword [ecx + 8], xmm1
mov edx, dword [esp + 0x184]
mov dword [esp + 0x1c], edx
call fcn.100ae980
mov edx, dword [esp + 0x90]
mov ecx, dword [0x10219190]
mov dword [esp], esi
mov eax, ebx
shl eax, 4
mov dword [esp + 0x84], eax
mov dword [esp + 4], edx
movsd xmm0, qword [ecx + edi + 0x78]
lea edx, [esp + 8]
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + edi + 0x80]
movsd qword [edx + 8], xmm1
mov ecx, dword [esp + 0xf0]
movsd xmm2, qword [eax + ecx]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 1
call fcn.100aef80
lea edx, [esp + 0x22c]
push edx
push dword [esp + 0x94]
push esi
call fcn.100ae040
add esp, 0xc
mov edx, dword [0x10219190]
cmp dword [edx + edi + 0x9fc], 0
je 0x10176989
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
shl edx, 4
movsd xmm0, qword [esi + edx + 8]
shl ecx, 4
subsd xmm0, qword [esi + ecx + 8]
cmp dword [0x1021f690], 0
jne 0x101747cc
comisd xmm0, xmmword [0x1021f8d8]
ja 0x1017485c
jmp 0x101747dc
jle 0x101747dc
comisd xmm0, xmmword [0x1021f678]
ja 0x1017485c
cmp dword [0x1021f6c8], 0
je 0x1017480d
mov edx, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
shl edx, 4
movsd xmm0, qword [esi + edx]
shl ecx, 4
subsd xmm0, qword [esi + ecx]
comisd xmm0, xmmword [0x1021f688]
ja 0x1017485c
cmp dword [0x1021f8f8], 0
je 0x101748b3
mov edx, dword [0x1021ff78]
mov ecx, dword [esp + 0x258]
cmp dword [edx + ecx*4], 0
je 0x101748b3
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
shl edx, 4
movsd xmm0, qword [esi + edx + 8]
shl ecx, 4
subsd xmm0, qword [esi + ecx + 8]
comisd xmm0, xmmword [esp + 0x88]
jbe 0x101748b3
mov edx, dword [esp + 0xf4]
mov eax, ebx
dec edx
mov dword [esp + 0xf4], edx
cmp ebx, edx
jge 0x101748b2
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x80], esi
mov esi, eax
shl esi, 4
movsd xmm0, qword [esi + ecx + 0x10]
mov edi, dword [esi + ecx + 0x18]
movsd qword [esi + ecx], xmm0
mov dword [esi + ecx + 8], edi
mov edi, dword [esi + ecx + 0x1c]
mov dword [esi + ecx + 0xc], edi
inc eax
cmp eax, edx
jl 0x1017487f
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x28c]
dec ebx
push esi
call fcn.101bceaa
pop ecx
inc ebx
cmp ebx, dword [esp + 0xf4]
jl 0x1017461b
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
mov edx, dword [0x10219c40]
mov eax, dword [esp + 0xf4]
mov ecx, dword [edx + edi*4]
mov edx, dword [0x10219c3c]
mov dword [esp + 0x88], edx
mov dword [ecx + esi*4], eax
mov ecx, dword [edx + edi*4]
mov dword [ecx + esi*4], eax
shl eax, 3
push eax
call fcn.101bcde0
mov edx, dword [0x10219c44]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x90], edx
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 3
push edx
call fcn.101bcde0
mov edx, dword [0x10219c50]
lea ecx, [edx + edi*4]
mov edx, dword [ecx]
mov dword [esp + 0x9c], ecx
mov dword [edx + esi*4], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 2
push edx
call fcn.101bcde0
mov edx, dword [0x10219c48]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x9c], edx
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 3
push edx
call fcn.101bcde0
mov edx, dword [0x10219c4c]
mov ecx, dword [edx + edi*4]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 3
push edx
call fcn.101bcde0
add esp, 0x14
mov edx, dword [0x10219c54]
mov ecx, dword [edx + edi*4]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x88]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
test edx, edx
jle 0x10174a57
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
mov ecx, dword [ecx + esi*4]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x288], edi
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x80]
mov edi, ebx
shl edi, 4
movsd xmm0, qword [ecx + edi]
mov edi, dword [edi + ecx + 0xc]
movsd qword [esi + ebx*8], xmm0
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, edx
jl 0x10174a25
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
test edx, edx
fld dword [esp + 0x280]
jle 0x10174c8d
fld qword [0x101f4870]
fstp st(0)
fld qword [0x101f4878]
fstp st(0)
fstp qword [esp + 0x80]
xor eax, eax
mov dword [esp + 0x290], esi
mov dword [esp + 0x288], edi
mov dword [esp + 0xc0], ebx
mov ebx, eax
mov edx, dword [esp + 0xec]
mov ecx, dword [edx + 0x10]
shl ecx, 4
push ecx
call fcn.101bcde0
mov esi, eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push esi
call fcn.101d7590
add esp, 0x10
mov edi, dword [esp + 0xec]
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x28c]
mov edi, dword [edi + 0x10]
lea eax, [esp + 0xc]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], edi
movsd xmm0, qword [edx + ecx + 0x78]
movsd qword [eax], xmm0
movsd xmm1, qword [edx + ecx + 0x80]
movsd qword [eax + 8], xmm1
mov edx, dword [esp + 0x184]
mov dword [esp + 0x1c], edx
call fcn.100ae980
mov dword [esp], esi
mov dword [esp + 4], edi
lea edx, [esp + 8]
movsd xmm0, qword [0x10210c48]
movsd qword [edx], xmm0
movsd xmm1, qword [0x10210c50]
movsd qword [edx + 8], xmm1
mov ecx, dword [0x10219c44]
mov edx, dword [esp + 0x288]
mov edx, dword [ecx + edx*4]
mov ecx, dword [esp + 0x290]
mov edx, dword [edx + ecx*4]
movsd xmm2, qword [edx + ebx*8]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 1
call fcn.100aef80
lea edx, [esp + 0x22c]
push edx
push edi
push esi
call fcn.100ae040
fld qword [0x101f4878]
fld qword [0x101f4870]
mov edi, dword [0x10219c50]
fld qword [esp + 0x8c]
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x294]
lea edi, [edi + edx*4]
mov eax, dword [esp + 0x29c]
mov dword [esp + 0xa0], edi
mov edi, dword [edi]
mov edi, dword [edi + eax*4]
shl ecx, 4
mov eax, dword [esp + 0x238]
fld qword [ecx + esi]
mov ecx, dword [esp + 0x240]
shl eax, 4
fsub qword [eax + esi]
fld st(0)
mov eax, dword [esp + 0x244]
shl ecx, 4
shl eax, 4
fld qword [ecx + esi + 8]
fsub qword [eax + esi + 8]
fmul st(1), st(0)
fld st(0)
fdiv st(3)
fxch st(6)
fcom st(6)
fnstsw ax
mov ecx, dword [esp + 0xf8]
fxch st(2)
fdivr qword [ecx + 0x18]
mov ecx, dword [esp + 0x29c]
sahf
fxch st(6)
fcmovnbe st(0), st(2)
fstp st(2)
fxch st(1)
fcom st(4)
fnstsw ax
sahf
fcmovnbe st(0), st(4)
fstp st(4)
fxch st(3)
fmulp st(4)
fxch st(3)
fst qword [edi + ebx*8]
faddp st(1)
mov edi, dword [0x10219c4c]
mov edi, dword [edi + edx*4]
mov edi, dword [edi + ecx*4]
fxch st(2)
fstp qword [edi + ebx*8]
mov edi, dword [0x10219c54]
mov edx, dword [edi + edx*4]
mov edx, dword [edx + ecx*4]
fxch st(1)
fstp qword [esp + 0x8c]
fstp qword [edx + ebx*8]
push esi
call fcn.101bceaa
add esp, 0x10
mov edi, dword [0x10219c3c]
mov edx, dword [esp + 0x288]
mov esi, dword [esp + 0x290]
mov ecx, dword [edi + edx*4]
inc ebx
cmp ebx, dword [ecx + esi*4]
jl 0x10174a94
fld qword [esp + 0x80]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x88], edi
mov edi, edx
mov eax, dword [esp + 0x88]
mov edx, dword [eax + edi*4]
mov eax, dword [edx + esi*4]
test eax, eax
jle 0x101775c9
mov ecx, dword [esp + 0x94]
mov ecx, dword [ecx]
mov ecx, dword [ecx + esi*4]
xor edx, edx
jmp 0x10174cb5
fstp qword [ecx - 8]
fld st(0)
fdivr qword [ecx]
add ecx, 8
inc edx
cmp edx, eax
jl 0x10174cb2
fstp qword [ecx - 8]
fstp st(0)
push dword [esp + 0xf0]
call fcn.101bceaa
pop ecx
mov eax, dword [esp + 0x88]
mov edx, dword [eax + edi*4]
cmp dword [edx + esi*4], 0
je 0x10176948
cmp dword [0x1021f830], 0
je 0x101755a1
cmp dword [0x1021f82c], 0
je 0x101755a1
cmp dword [esp + 0x180], 0
je 0x101755a1
fld dword [esp + 0x280]
mov edx, dword [0x1021fee8]
mov dword [esp + 0x1a8], ebx
xor eax, eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [edx + ebx*4]
mov ebx, dword [ecx]
fst qword [esp + 0x1b0]
fst qword [esp + 0x1c0]
fstp qword [esp + 0x1c8]
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1d0], 2
mov dword [esp + 0x1b8], eax
mov eax, dword [0x1021fc78]
mov dword [esp + 0x1d4], 1
cmp eax, 5
jge 0x10174d97
mov ebx, 0x1e
jmp 0x10174dfd
cmp eax, 0xa
jge 0x10174da3
mov ebx, 0x14
jmp 0x10174dfd
cmp eax, 0x14
jge 0x10174daf
mov ebx, 0xf
jmp 0x10174dfd
cmp eax, 0x28
jge 0x10174dbb
mov ebx, 0xd
jmp 0x10174dfd
cmp eax, 0x3c
jge 0x10174dc7
mov ebx, 0xc
jmp 0x10174dfd
cmp eax, 0x50
jge 0x10174dd3
mov ebx, 0xa
jmp 0x10174dfd
cmp eax, 0x64
jge 0x10174ddf
mov ebx, 7
jmp 0x10174dfd
cmp eax, 0x78
jge 0x10174deb
mov ebx, 6
jmp 0x10174dfd
mov edx, 5
mov ebx, 4
cmp eax, 0x8c
cmovl ebx, edx
push 1
push 0xffffffffffffffff
push 0x1021fee0
call fcn.10177800
lea ecx, [esp + 0x278]
lea edx, [esp + 0x27c]
lea eax, [esp + 0x280]
push eax
push edx
push ecx
lea eax, [esp + 0x280]
push eax
lea edx, [esp + 0x280]
push edx
push 1
push ebx
lea ebx, [esp + 0x1d0]
push ebx
push 0x1021fee0
call fcn.10178a40
add esp, 0x30
cmp dword [esp + 0x274], 0
jle 0x10175555
fld qword [0x101f47d0]
fstp st(0)
xor ebx, ebx
mov dword [esp + 0x290], esi
mov dword [esp + 0x288], edi
fld qword [0x101f47d0]
fld qword [0x101f47d8]
mov edx, dword [esp + 0x26c]
fld qword [edx + ebx*8]
fst qword [esp + 0x208]
faddp st(2)
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10174e92
fstp st(1)
fsubr qword [0x101f47d0]
fadd qword [esp + 0x208]
mov eax, dword [0x1021f8f8]
fstp qword [edx + ebx*8]
cmp eax, 2
je 0x10174eba
cmp eax, 1
jne 0x10174edd
movsd xmm0, qword [0x1021fb88]
addsd xmm0, qword [0x1021fbb8]
mulsd xmm0, qword [0x101f47e0]
movsd qword [esp + 0x180], xmm0
jmp 0x10174f06
movsd xmm1, qword [0x1021fb88]
movsd xmm0, qword [0x1021fbb8]
subsd xmm0, xmm1
divsd xmm0, qword [0x101f4790]
addsd xmm1, xmm0
movsd qword [esp + 0x180], xmm1
mov eax, dword [0x10219190]
mov esi, dword [esp + 0x28c]
mov edx, dword [esi + eax + 0xd0]
mov esi, dword [edx]
mov ecx, dword [esi + 0x10]
shl ecx, 4
push ecx
call fcn.101bcde0
mov edi, eax
mov eax, dword [esi + 0x10]
shl eax, 4
push eax
push dword [esi]
push edi
call fcn.101d7590
add esp, 0x10
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x28c]
mov esi, dword [esi + 0x10]
mov dword [esp], edi
lea ecx, [esp + 0xc]
mov dword [esp + 4], 0
mov dword [esp + 8], esi
movsd xmm0, qword [eax + edx + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
mov eax, dword [esp + 0x268]
mov edx, dword [eax + ebx*4]
mov dword [esp + 0x1c], edx
call fcn.100ae980
mov eax, dword [0x10219190]
mov edx, dword [esp + 0x28c]
mov dword [esp], edi
lea ecx, [esp + 8]
mov dword [esp + 4], esi
movsd xmm0, qword [eax + edx + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
mov eax, dword [esp + 0x26c]
movsd xmm2, qword [eax + ebx*8]
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x20], 1
call fcn.100aef80
lea eax, [esp + 0x22c]
push eax
push esi
push edi
call fcn.100ae040
add esp, 0xc
mov eax, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
shl eax, 4
movsd xmm1, qword [eax + edi + 8]
shl edx, 4
subsd xmm1, qword [edx + edi + 8]
comisd xmm1, xmmword [0x1021f8d8]
ja 0x10175071
cmp dword [0x1021f6c8], 0
je 0x10175043
mov eax, dword [esp + 0x230]
mov edx, dword [esp + 0x22c]
shl eax, 4
movsd xmm0, qword [edi + eax]
shl edx, 4
subsd xmm0, qword [edi + edx]
comisd xmm0, xmmword [0x1021f6c0]
ja 0x10175071
cmp dword [0x1021f8f8], 0
je 0x101750ec
mov eax, dword [0x1021ff78]
mov edx, dword [esp + 0x258]
cmp dword [eax + edx*4], 0
je 0x101750ec
comisd xmm1, xmmword [esp + 0x180]
jbe 0x101750ec
mov esi, dword [esp + 0x274]
mov eax, ebx
lea edx, [esi - 1]
cmp ebx, edx
jge 0x101750e1
mov esi, dword [esp + 0x264]
mov edx, eax
shl edx, 4
movsd xmm0, qword [esi + edx + 0x10]
movsd xmm1, qword [esi + edx + 0x18]
movsd qword [esi + edx], xmm0
movsd qword [esi + edx + 8], xmm1
mov ecx, dword [esp + 0x26c]
movsd xmm2, qword [ecx + eax*8 + 8]
movsd qword [ecx + eax*8], xmm2
mov edx, dword [esp + 0x268]
mov esi, dword [edx + eax*4 + 4]
mov dword [edx + eax*4], esi
mov esi, dword [esp + 0x270]
mov ecx, dword [esi + eax*4 + 4]
mov dword [esi + eax*4], ecx
mov esi, dword [esp + 0x274]
inc eax
lea edx, [esi - 1]
cmp eax, edx
jl 0x10175081
dec esi
mov dword [esp + 0x274], esi
dec ebx
jmp 0x101750f3
mov esi, dword [esp + 0x274]
push edi
call fcn.101bceaa
pop ecx
inc ebx
cmp ebx, esi
jl 0x10174e71
mov edi, dword [esp + 0x288]
mov dword [esp + 0x210], esi
mov esi, dword [esp + 0x290]
cmp dword [esp + 0x210], 0
jle 0x10175555
mov ebx, dword [0x10219c40]
mov eax, dword [esp + 0x210]
mov ecx, dword [0x10219c3c]
mov dword [esp + 0x204], ecx
lea ebx, [ebx + edi*4]
mov edx, dword [ebx]
mov dword [edx + esi*4], eax
mov edx, dword [ecx + edi*4]
mov dword [edx + esi*4], eax
mov eax, dword [0x10219c44]
mov ecx, dword [eax + edi*4]
mov dword [esp + 0x208], eax
push dword [ecx + esi*4]
call fcn.101bceaa
mov eax, dword [0x10219c50]
mov edx, dword [eax + edi*4]
mov dword [esp + 0x188], eax
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [0x10219c48]
mov edx, dword [eax + edi*4]
mov dword [esp + 0x188], eax
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [esp + 0x210]
mov edx, dword [eax + edi*4]
mov ecx, dword [edx + esi*4]
shl ecx, 3
push ecx
call fcn.101bcde0
mov edx, dword [esp + 0x218]
mov ecx, dword [edx + edi*4]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x214]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 3
push edx
call fcn.101bcde0
mov edx, dword [esp + 0x198]
mov ecx, dword [edx + edi*4]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x218]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + esi*4]
shl edx, 2
push edx
call fcn.101bcde0
add esp, 0x18
mov edx, dword [esp + 0x180]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x204], ecx
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x184]
mov edx, dword [eax + edi*4]
mov eax, dword [edx + esi*4]
mov dword [esp + 0x20c], eax
and eax, 0xf
je 0x1017523a
test al, 7
jne 0x10177159
mov eax, 1
lea edx, [eax + 8]
cmp edx, dword [esp + 0x210]
jg 0x10177159
mov edx, dword [esp + 0x210]
cvtsi2sd xmm1, edx
mov ecx, edx
sub ecx, eax
movsd xmm0, qword [0x101f4880]
and ecx, 7
neg ecx
add ecx, edx
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x180]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx + esi*4]
test eax, eax
mov dword [esp + 0x184], ecx
jbe 0x10177167
divsd xmm0, xmm1
mov dword [esp + 0x180], edx
mov edx, dword [esp + 0x214]
mov dword [esp + 0x290], esi
mov esi, ecx
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x20c]
xor ecx, ecx
movsd xmm1, qword [edx + ecx*8]
movsd qword [esi + ecx*8], xmm1
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x101752bd
mov edx, dword [esp + 0x180]
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ecx, dword [esp + 0x184]
lea ecx, [ecx + eax*8]
test cl, 0xf
je 0x1017539d
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x184]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x20c]
unpcklpd xmm0, xmm0
movsd xmm1, qword [ecx + eax*8]
movhpd xmm1, qword [ecx + eax*8 + 8]
movsd xmm2, qword [ecx + eax*8 + 0x10]
movhpd xmm2, qword [ecx + eax*8 + 0x18]
movsd xmm3, qword [ecx + eax*8 + 0x20]
movhpd xmm3, qword [ecx + eax*8 + 0x28]
movsd xmm4, qword [ecx + eax*8 + 0x30]
movhpd xmm4, qword [ecx + eax*8 + 0x38]
movsd qword [esi + eax*8], xmm1
movhpd qword [esi + eax*8 + 8], xmm1
movaps xmmword [edi + eax*8], xmm0
movsd qword [esi + eax*8 + 0x10], xmm2
movhpd qword [esi + eax*8 + 0x18], xmm2
movaps xmmword [edi + eax*8 + 0x10], xmm0
movsd qword [esi + eax*8 + 0x20], xmm3
movhpd qword [esi + eax*8 + 0x28], xmm3
movaps xmmword [edi + eax*8 + 0x20], xmm0
movsd qword [esi + eax*8 + 0x30], xmm4
movhpd qword [esi + eax*8 + 0x38], xmm4
movaps xmmword [edi + eax*8 + 0x30], xmm0
add eax, 8
cmp eax, edx
jb 0x10175320
jmp 0x10175420
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x184]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x20c]
unpcklpd xmm0, xmm0
movsd xmm1, qword [ecx + eax*8]
movhpd xmm1, qword [ecx + eax*8 + 8]
movsd xmm2, qword [ecx + eax*8 + 0x10]
movhpd xmm2, qword [ecx + eax*8 + 0x18]
movsd xmm3, qword [ecx + eax*8 + 0x20]
movhpd xmm3, qword [ecx + eax*8 + 0x28]
movsd xmm4, qword [ecx + eax*8 + 0x30]
movhpd xmm4, qword [ecx + eax*8 + 0x38]
movaps xmmword [esi + eax*8], xmm1
movaps xmmword [edi + eax*8], xmm0
movaps xmmword [esi + eax*8 + 0x10], xmm2
movaps xmmword [edi + eax*8 + 0x10], xmm0
movaps xmmword [esi + eax*8 + 0x20], xmm3
movaps xmmword [edi + eax*8 + 0x20], xmm0
movaps xmmword [esi + eax*8 + 0x30], xmm4
movaps xmmword [edi + eax*8 + 0x30], xmm0
add eax, 8
cmp eax, edx
jb 0x101753c4
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
cmp edx, dword [esp + 0x210]
jae 0x101754a5
cvtsi2sd xmm1, dword [esp + 0x210]
mov eax, dword [esp + 0x208]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + esi*4]
movsd xmm0, qword [0x101f4880]
mov ecx, dword [esp + 0x214]
divsd xmm0, xmm1
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x20c]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x210]
movsd xmm1, qword [ecx + edx*8]
movsd qword [eax + edx*8], xmm1
movsd qword [esi + edx*8], xmm0
inc edx
cmp edx, edi
jb 0x1017547c
mov esi, dword [esp + 0x290]
mov dword [esp + 0x210], edi
mov edi, dword [esp + 0x288]
mov eax, dword [esp + 0x204]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x180], edx
and edx, 0xf
je 0x101754cc
test dl, 3
jne 0x10177160
neg edx
add edx, 0x10
shr edx, 2
lea eax, [edx + 4]
cmp eax, dword [esp + 0x210]
jg 0x10177160
mov ecx, dword [esp + 0x210]
mov eax, ecx
sub eax, edx
and eax, 3
neg eax
add eax, ecx
test edx, edx
jbe 0x10175515
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x180]
xor ecx, ecx
mov dword [edi + ecx*4], 1
inc ecx
cmp ecx, edx
jb 0x10175502
mov edi, dword [esp + 0x288]
movdqa xmm0, xmmword [0x101f4680]
mov ecx, dword [esp + 0x180]
movdqa xmmword [ecx + edx*4], xmm0
add edx, 4
cmp edx, eax
jb 0x10175524
cmp eax, dword [esp + 0x210]
jae 0x1017556c
mov edx, dword [esp + 0x180]
mov ecx, dword [esp + 0x210]
mov dword [edx + eax*4], 1
inc eax
cmp eax, ecx
jb 0x10175547
jmp 0x1017556c
mov edx, dword [0x10219c40]
mov eax, dword [esp + 0x26c]
mov dword [esp + 0x214], eax
lea ebx, [edx + edi*4]
push dword [esp + 0x264]
call fcn.101bceaa
push dword [esp + 0x26c]
call fcn.101bceaa
push dword [esp + 0x21c]
call fcn.101bceaa
push dword [esp + 0x27c]
call fcn.101bceaa
add esp, 0x10
jmp 0x101755a9
mov eax, dword [0x10219c40]
lea ebx, [eax + edi*4]
mov eax, dword [ebx]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x250], edx
test edx, edx
je 0x101764a5
mov edx, dword [0x1021fc78]
cmp edx, 2
jge 0x101755e3
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x168
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 3
jge 0x10175603
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0xb4
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 4
jge 0x10175623
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x5a
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 5
jge 0x10175643
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x28
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0xa
jge 0x10175663
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x1e
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0x14
jge 0x10175683
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x16
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0x28
jge 0x101756a3
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x13
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0x3c
jge 0x101756c0
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0x10
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0x50
jge 0x101756dd
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0xd
mov dword [esp + 0x184], eax
jmp 0x10175732
cmp edx, 0x64
jge 0x101756fa
mov eax, dword [0x10219c3c]
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 0xa
mov dword [esp + 0x184], eax
jmp 0x10175732
mov eax, dword [0x10219c3c]
mov dword [esp + 0x184], eax
cmp edx, 0x78
jge 0x10175717
mov edx, dword [eax + edi*4]
mov dword [edx + esi*4], 8
jmp 0x10175732
mov eax, dword [eax + edi*4]
cmp edx, 0x8c
jge 0x1017572b
mov dword [eax + esi*4], 6
jmp 0x10175732
mov dword [eax + esi*4], 4
mov ebx, dword [0x10219180]
mov edx, dword [esp + 0x184]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x290], esi
mov esi, dword [ecx + esi*4]
mov dword [esp + 0x210], ebx
mov dword [esp + 0x204], ecx
mov ecx, dword [0x1021fc9c]
mov eax, 0x66666667
imul ebx
sar ebx, 0x1f
mov eax, 0x10624dd3
sar edx, 2
sub edx, ebx
cmp edx, ecx
cmovge ecx, edx
imul ecx, esi
imul ecx
lea eax, [esi + esi]
sar ecx, 0x1f
sar edx, 5
sub edx, ecx
cmp edx, eax
mov ecx, esi
jl 0x10175791
mov edx, eax
sar ecx, 1
shr ecx, 0x1e
add ecx, esi
mov esi, dword [esp + 0x250]
sar ecx, 2
cmp ecx, 4
jge 0x101757ac
mov ecx, 4
cmp edx, ecx
jge 0x101757b2
mov edx, ecx
cmp edx, esi
jl 0x101757b8
mov edx, esi
cmp dword [0x1021f838], 0
mov esi, dword [esp + 0x290]
je 0x101757df
mov eax, dword [esp + 0x250]
cmp eax, 6
jl 0x101757d9
mov eax, 6
cmp eax, edx
jl 0x101757df
mov edx, eax
cmp dword [0x1021f830], 0
cmovne edx, dword [esp + 0x250]
mov eax, dword [0x10219c70]
mov dword [esp + 0x218], eax
xor ecx, ecx
test eax, eax
mov dword [esp + 0x208], edx
je 0x1017582f
mov ecx, dword [0x10219190]
mov eax, dword [esp + 0x28c]
movsd xmm0, qword [eax + ecx + 0x838]
ucomisd xmm0, qword [0x101f4788]
jp 0x1017582d
je 0x10177170
xor ecx, ecx
mov ebx, dword [0x10219c74]
mov dword [esp + 0x214], ebx
xor eax, eax
test ebx, ebx
mov dword [esp + 0x20c], eax
je 0x10175930
cmp dword [esp + 0x250], 0
jle 0x101771f3
mov ebx, dword [0x10219c44]
movsd xmm4, qword [0x1020c110]
movsd xmm3, qword [0x10219c28]
movsd xmm2, qword [0x101f47e8]
xor eax, eax
pxor xmm0, xmm0
mov dword [esp + 0x180], eax
mov eax, dword [ebx + edi*4]
mov ebx, dword [esp + 0x180]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x250]
subsd xmm0, xmm4
movsd xmm1, qword [eax + ebx*8]
subsd xmm1, xmm3
andps xmm1, xmmword [0x101f4690]
comisd xmm4, xmm1
jbe 0x101758c1
comisd xmm1, xmm0
ja 0x10175907
movaps xmm5, xmm1
subsd xmm5, xmm2
comisd xmm4, xmm5
jbe 0x101758d4
comisd xmm5, xmm0
ja 0x10175907
movaps xmm6, xmm1
movsd xmm5, qword [0x101f47c8]
subsd xmm6, xmm5
comisd xmm4, xmm6
jbe 0x101758ef
comisd xmm6, xmm0
ja 0x10175907
movsd xmm5, qword [0x101f47f0]
subsd xmm1, xmm5
comisd xmm4, xmm1
jbe 0x1017591b
comisd xmm1, xmm0
jbe 0x1017591b
mov edi, dword [esp + 0x288]
mov dword [esp + 0x20c], 1
jmp 0x10175930
inc ebx
cmp ebx, edi
jl 0x101758a5
mov edi, dword [esp + 0x288]
xor eax, eax
mov dword [esp + 0x20c], eax
mov ebx, dword [0x10219c6c]
mov dword [esp + 0x21c], ebx
xor eax, eax
test ebx, ebx
mov dword [esp + 0x23c], eax
je 0x10175979
mov ebx, dword [0x10219190]
mov eax, dword [esp + 0x28c]
movsd xmm0, qword [eax + ebx + 0x838]
ucomisd xmm0, qword [0x101f4788]
jp 0x10175970
je 0x10177201
xor eax, eax
mov dword [esp + 0x23c], eax
mov ebx, dword [0x10219c68]
mov dword [esp + 0x220], ebx
xor eax, eax
test ebx, ebx
mov dword [esp + 0x240], eax
je 0x10175af6
cmp dword [esp + 0x250], 0
jle 0x101772c5
mov ebx, dword [0x10219c44]
movsd xmm3, qword [0x1020c110]
movsd xmm2, qword [0x10219c28]
mov dword [esp + 0x288], edi
xor eax, eax
mov dword [esp + 0x180], eax
mov eax, dword [ebx + edi*4]
mov ebx, dword [esp + 0x180]
mov eax, dword [eax + esi*4]
pxor xmm0, xmm0
mov edi, dword [esp + 0x250]
subsd xmm0, xmm3
movsd xmm1, qword [eax + ebx*8]
subsd xmm1, xmm2
andps xmm1, xmmword [0x101f4690]
comisd xmm3, xmm1
jbe 0x10175a07
comisd xmm1, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f47c8]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175a26
comisd xmm5, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f47e8]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175a45
comisd xmm5, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f47f0]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175a60
comisd xmm5, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f47f8]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175a7b
comisd xmm5, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f4800]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175a96
comisd xmm5, xmm0
ja 0x10175ac9
movaps xmm5, xmm1
movsd xmm4, qword [0x101f4808]
subsd xmm5, xmm4
comisd xmm3, xmm5
jbe 0x10175ab1
comisd xmm5, xmm0
ja 0x10175ac9
movsd xmm4, qword [0x101f4810]
subsd xmm1, xmm4
comisd xmm3, xmm1
jbe 0x10175add
comisd xmm1, xmm0
jbe 0x10175add
mov edi, dword [esp + 0x288]
mov dword [esp + 0x240], 1
jmp 0x10175af6
inc ebx
cmp ebx, edi
jl 0x101759e7
mov edi, dword [esp + 0x288]
xor eax, eax
mov dword [esp + 0x240], eax
mov eax, dword [0x10219c64]
mov dword [esp + 0x224], eax
test eax, eax
je 0x10175b21
mov ebx, 1
xor eax, eax
cmp dword [esp + 0x24c], 4
cmovne ebx, eax
mov dword [esp + 0x248], ebx
jmp 0x10175b2a
xor eax, eax
mov dword [esp + 0x248], eax
mov eax, dword [0x10219c60]
mov dword [esp + 0x180], eax
test eax, eax
je 0x10175b55
mov ebx, 1
xor eax, eax
cmp dword [esp + 0x24c], 4
cmovne ebx, eax
mov dword [esp + 0x244], ebx
jmp 0x10175b5e
xor eax, eax
mov dword [esp + 0x244], eax
cmp dword [esp + 0x224], 0
je 0x10175b72
cmp dword [esp + 0x248], 0
jne 0x10175bd0
cmp dword [esp + 0x180], 0
je 0x10175b86
cmp dword [esp + 0x244], 0
jne 0x10175bd0
cmp dword [esp + 0x218], 0
je 0x10175b94
test ecx, ecx
jne 0x10175bd0
cmp dword [esp + 0x21c], 0
je 0x10175ba8
cmp dword [esp + 0x23c], 0
jne 0x10175bd0
cmp dword [esp + 0x214], 0
je 0x10175bbc
cmp dword [esp + 0x20c], 0
jne 0x10175bd0
cmp dword [esp + 0x220], 0
je 0x10175bde
cmp dword [esp + 0x240], 0
je 0x10175bde
mov edx, dword [esp + 0x250]
mov dword [esp + 0x208], edx
fld dword [esp + 0x280]
test edx, edx
jle 0x101775d0
mov eax, dword [0x10219c50]
mov dword [esp + 0x288], edi
xor ebx, ebx
mov dword [esp + 0x180], ebx
mov ebx, dword [eax + edi*4]
mov edi, dword [esp + 0x180]
mov ebx, dword [ebx + esi*4]
fadd qword [ebx + edi*8]
inc edi
cmp edi, edx
jl 0x10175c0f
mov edi, dword [esp + 0x288]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + esi*4]
xor ebx, ebx
jmp 0x10175c2b
fstp qword [eax - 8]
fld qword [eax]
fdiv st(1)
add eax, 8
inc ebx
cmp ebx, edx
jl 0x10175c28
fstp qword [eax - 8]
fstp st(0)
mov ebx, dword [0x10219c30]
mov eax, 0x66666667
imul ebx
mov eax, ebx
sar eax, 0x1f
sar edx, 2
sub edx, eax
lea eax, [edx + edx*4]
add eax, eax
sub ebx, eax
cmp ebx, 9
je 0x101774be
mov edx, dword [esp + 0x204]
mov eax, dword [esp + 0x208]
mov dword [edx + esi*4], eax
fld qword [ebp + 0x14]
fld qword [0x101f4858]
fld qword [0x101f4860]
fld qword [0x101f4818]
fld qword [ebp + 0x14]
fld qword [0x101f4860]
fld qword [0x101f4818]
fld qword [0x101f4818]
fxch st(5)
fsubp st(3)
fxch st(2)
fsub qword [ebp + 0x1c]
fsub qword [ebp + 0x1c]
fst qword [esp + 0x220]
fxch st(6)
faddp st(1)
fadd qword [ebp + 0x1c]
fadd qword [ebp + 0x1c]
fcom st(2)
fnstsw ax
fxch st(2)
fstp st(0)
faddp st(4)
fxch st(3)
fstp qword [esp + 0x218]
fsubr st(2)
mov dword [esp + 0x250], ecx
mov dword [esp + 0x288], edi
xor edx, edx
mov dword [esp + 0x24c], edx
xor ebx, ebx
sahf
fcmovb st(0), st(2)
fstp st(2)
mov eax, dword [esp + 0x184]
fxch st(1)
fstp qword [esp + 0x210]
mov edi, esi
mov esi, edx
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edi*4]
lea eax, [ecx + ecx]
cmp esi, eax
jg 0x101774a0
inc esi
cmp dword [esp + 0x27c], 0
je 0x10175de8
cmp dword [esp + 0x27c], 2
jne 0x10175d83
cmp dword [0x10219c58], 0
je 0x101772d3
test ecx, ecx
jle 0x10175d76
mov edx, dword [0x10219c58]
mov eax, dword [0x10219c5c]
xor ebx, ebx
cmp dword [edx + ebx*4], 0
jne 0x10175d61
cmp dword [eax + ebx*4], 0
je 0x10175df5
inc ebx
cmp ebx, ecx
jl 0x10175d51
mov esi, esi
xor eax, eax
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jl 0x10175d6a
mov dword [esp + 0x24c], 1
jmp 0x10175df5
cmp dword [esp + 0x27c], 1
jne 0x10175f0d
mov eax, dword [0x10219c78]
mov dword [esp + 0x260], esi
lea ebx, [ecx - 1]
mov edx, 1
cmp eax, ebx
mov ebx, dword [esp + 0x24c]
cmove ebx, edx
inc eax
cdq
idiv ecx
mov ecx, dword [0x10219c44]
mov eax, dword [esp + 0x288]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x24c], ebx
mov ebx, edx
movsd xmm0, qword [eax + ebx*8]
mov eax, dword [ebp + 0x2c]
movsd qword [eax], xmm0
mov dword [0x10219c78], ebx
jmp 0x10175f0d
cmp dword [0x10219c58], 0
je 0x101772d3
fstp st(0)
call fcn.100ed480
fld qword [0x101f4858]
mov ebx, dword [0x10219c3c]
mov eax, dword [esp + 0x288]
mov ecx, dword [ebx + eax*4]
mov eax, dword [ecx + edi*4]
mov dword [esp + 0x294], ecx
mov ebx, 0xffffffff
test eax, eax
mov dword [esp + 0x25c], eax
jle 0x101775d7
fld dword [esp + 0x280]
mov ecx, dword [0x10219c44]
mov eax, dword [0x10219c58]
xor edx, edx
mov dword [esp + 0x278], ecx
mov ecx, dword [esp + 0x288]
mov dword [esp + 0x254], eax
mov eax, dword [0x10219c5c]
mov dword [esp + 0x284], eax
mov eax, dword [0x10219c50]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edi*4]
mov ecx, dword [esp + 0x27c]
mov dword [esp + 0x298], eax
mov dword [esp + 0x260], esi
cmp ecx, 2
je 0x10177479
mov eax, dword [esp + 0x284]
cmp dword [eax + edx*4], 0
jne 0x10175ebd
mov esi, dword [esp + 0x288]
mov eax, dword [esp + 0x278]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + edi*4]
movsd xmm0, qword [eax + edx*8]
mov ebx, edx
mov eax, dword [ebp + 0x2c]
movsd qword [eax], xmm0
mov eax, dword [esp + 0x298]
fadd qword [eax + edx*8]
fcom st(2)
fnstsw ax
sahf
jb 0x10175ed6
test ebx, ebx
jge 0x10177403
mov eax, dword [esp + 0x294]
inc edx
cmp edx, dword [eax + edi*4]
jl 0x10175e85
fstp st(2)
fstp st(1)
mov esi, dword [esp + 0x260]
cmp ebx, 0xffffffff
je 0x10177439
cmp dword [esp + 0x27c], 2
jne 0x10175f0d
mov eax, dword [0x10219c58]
mov dword [eax + ebx*4], 1
fld qword [ebp + 0x14]
fcomp dword [esp + 0x280]
fnstsw ax
sahf
jb 0x10175f72
fld qword [esp + 0x220]
fld dword [esp + 0x280]
fcomp st(1)
fnstsw ax
fstp st(1)
sahf
fld qword [esp + 0x218]
fcmovbe st(0), st(1)
fstp st(1)
fld qword [esp + 0x210]
mov ecx, dword [ebp + 0x2c]
movsd xmm0, qword [ecx]
fxch st(1)
fstp qword [esp]
fstp qword [esp + 8]
movsd qword [esp + 0x10], xmm0
call fcn.100adeb0
fld qword [0x101f4858]
test eax, eax
jne 0x10175f72
mov eax, dword [0x10219c3c]
jmp 0x10175d02
fld qword [0x1021f6d0]
fld dword [esp + 0x280]
fucomp st(1)
fnstsw ax
sahf
jp 0x10175f8c
je 0x10177413
mov ecx, dword [0x10219c4c]
mov eax, dword [esp + 0x288]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + edi*4]
fld qword [eax + ebx*8]
fcompp
fnstsw ax
sahf
jbe 0x10175fb3
mov eax, dword [0x10219c3c]
jmp 0x10175d02
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x28c]
fld qword [edx + ecx + 0x988]
fxch st(1)
fcom st(1)
fnstsw ax
sahf
fxch st(1)
fcmovbe st(0), st(1)
cmp dword [0x10219c70], 0
je 0x10176056
fld qword [0x10219c28]
fld qword [0x101f4788]
fucomp st(1)
fnstsw ax
sahf
jp 0x10175ff4
je 0x101775de
cmp dword [esp + 0x250], 0
mov eax, dword [ebp + 0x2c]
fld qword [eax]
fsubrp st(1)
fabs
je 0x10176048
fld st(0)
fld qword [0x101f4860]
fadd st(3)
fadd st(3)
fxch st(1)
fabs
fcomp st(1)
fnstsw ax
sahf
jbe 0x1017603f
fld st(1)
fld qword [0x101f47c8]
fsubp st(1)
fabs
fcompp
fnstsw ax
sahf
jbe 0x10176048
fstp st(0)
fstp st(0)
mov eax, dword [0x10219c3c]
jmp 0x10175d02
fstp st(0)
mov eax, dword [0x10219c74]
jmp 0x1017604d
mov eax, dword [0x10219c74]
test eax, eax
jne 0x10176085
jmp 0x1017614f
cmp dword [0x10219c74], 0
je 0x101760fd
fld qword [0x10219c28]
fld qword [0x101f4788]
fucomp st(1)
fnstsw ax
sahf
jp 0x1017607c
je 0x101775de
mov eax, dword [ebp + 0x2c]
fld qword [eax]
fsubrp st(1)
fabs
cmp dword [esp + 0x20c], 0
je 0x1017614f
fld st(0)
fld qword [0x101f4860]
fadd st(3)
fadd st(3)
fxch st(1)
fabs
fcomp st(1)
fnstsw ax
sahf
jbe 0x101775e5
fld st(1)
fld qword [0x101f47e8]
fsubp st(1)
fabs
fcomp st(1)
fnstsw ax
sahf
jbe 0x101775e5
fld st(1)
fld qword [0x101f47c8]
fsubp st(1)
fabs
fcomp st(1)
fnstsw ax
sahf
jbe 0x101775e5
fld st(1)
fld qword [0x101f47f0]
fsubp st(1)
fabs
fcompp
fnstsw ax
sahf
jbe 0x1017614f
fstp st(0)
fstp st(0)
mov eax, dword [0x10219c3c]
jmp 0x10175d02
cmp dword [0x10219c6c], 0
je 0x10176120
fld qword [0x10219c28]
fld qword [0x101f4788]
fucomp st(1)
fnstsw ax
sahf
jne 0x10176146
jp 0x10176146
jmp 0x101775de
cmp dword [0x10219c68], 0
je 0x10176269
fld qword [0x10219c28]
fld qword [0x101f4788]
fucomp st(1)
fnstsw ax
sahf
jp 0x10176146
je 0x101775de
mov eax, dword [ebp + 0x2c]
fld qword [eax]
fsubrp st(1)
fabs
cmp dword [0x10219c6c], 0
je 0x101761a4
cmp dword [esp + 0x23c], 0
je 0x101761a4
fld st(0)
fsub qword [0x101f47e8]
fabs
fld qword [0x101f4860]
fadd st(3)
fadd st(3)
fxch st(1)
fcomp st(1)
fnstsw ax
sahf
jbe 0x101775ec
fld st(1)
fld qword [0x101f47f0]
fsubp st(1)
fabs
fcompp
fnstsw ax
sahf
jbe 0x101761a4
fstp st(0)
fstp st(0)
mov eax, dword [0x10219c3c]
jmp 0x10175d02
cmp dword [0x10219c68], 0
je 0x10176267
cmp dword [esp + 0x240], 0
je 0x10176267
fld st(0)
fld qword [0x101f4860]
fadd st(3)
faddp st(3)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f47f8]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f47e8]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f4800]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f47c8]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f4808]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld st(0)
fld qword [0x101f47f0]
fsubp st(1)
fabs
fcomp st(2)
fnstsw ax
sahf
jbe 0x10176267
fld qword [0x101f4810]
fsubp st(1)
fabs
fcomp st(1)
fnstsw ax
sahf
jbe 0x10176269
fstp st(0)
mov eax, dword [0x10219c3c]
jmp 0x10175d02
fstp st(0)
fstp st(0)
cmp dword [0x10219c64], 0
je 0x101762a0
cmp dword [esp + 0x248], 0
je 0x101762a0
mov eax, dword [0x10219c48]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edi*4]
test byte [ecx + ebx*4], 8
jne 0x101762a0
mov eax, dword [0x10219c3c]
jmp 0x10175d02
cmp dword [0x10219c60], 0
je 0x101762d5
cmp dword [esp + 0x244], 0
je 0x101762d5
mov eax, dword [0x10219c48]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edi*4]
test byte [ecx + ebx*4], 0x10
jne 0x101762d5
mov eax, dword [0x10219c3c]
jmp 0x10175d02
mov eax, dword [0x1021f654]
test eax, eax
je 0x10176378
mov ecx, dword [0x1021ffac]
mov dword [esp + 0x208], ecx
cmp eax, ecx
jne 0x10176378
cmp dword [esp + 0x208], 0
jg 0x1017630b
mov eax, dword [0x10219c3c]
jmp 0x10175d02
mov eax, dword [ebp + 0x2c]
movsd xmm1, qword [0x1020c110]
movsd xmm2, qword [eax]
mov eax, dword [0x1021ffb0]
mov dword [esp + 0x290], edi
mov edi, ecx
mov dword [esp + 0x204], 0
pxor xmm0, xmm0
mov ecx, dword [esp + 0x204]
subsd xmm0, xmm1
movsd xmm3, qword [eax + ecx*8]
subsd xmm3, xmm2
comisd xmm1, xmm3
jbe 0x10176360
comisd xmm3, xmm0
jbe 0x10176360
mov edi, dword [esp + 0x290]
jmp 0x10176378
inc ecx
cmp ecx, edi
jl 0x10176342
mov esi, esi
mov edi, dword [esp + 0x290]
mov eax, dword [0x10219c3c]
jmp 0x10175d02
mov eax, dword [esp + 0x28c]
mov eax, dword [edx + eax + 0x934]
test eax, eax
je 0x10176455
mov ecx, dword [0x1021fee4]
mov edx, dword [esp + 0x258]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + ecx*4]
test eax, eax
jle 0x10176455
cmp dword [ebp + 0x24], 0
je 0x10176455
mov ecx, dword [ebp + 0x24]
cmp dword [ecx + eax*4], 0
je 0x10176455
fld qword [0x101f4860]
fld qword [0x101f4860]
mov ecx, dword [0x1021f85c]
fld qword [ecx + eax*8]
fmul qword [0x101f4868]
fld qword [0x101f4818]
fld qword [0x101f4818]
fld dword [esp + 0x280]
mov ecx, dword [ebp + 0x28]
fld qword [ecx + eax*8]
fsubr st(5), st(0)
faddp st(6)
fld qword [0x101f4818]
fxch st(4)
fsub st(5), st(0)
fxch st(1)
fcomp st(5)
fnstsw ax
faddp st(5)
fadd st(3)
fxch st(2)
fsubr st(4)
sahf
fxch st(4)
fcom st(1)
fnstsw ax
fxch st(1)
fstp st(0)
fxch st(2)
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp]
sahf
fcmovnb st(0), st(1)
fstp st(1)
mov eax, dword [ebp + 0x2c]
movsd xmm0, qword [eax]
fstp qword [esp + 8]
movsd qword [esp + 0x10], xmm0
fstp st(0)
call fcn.100adeb0
fld qword [0x101f4858]
test eax, eax
jne 0x10176455
mov eax, dword [0x10219c3c]
jmp 0x10175d02
fstp st(0)
cmp dword [esp + 0x24c], 0
jne 0x10176485
fld qword [0x10219c28]
fld qword [0x101f4788]
fucompp
fnstsw ax
sahf
jne 0x10176485
jp 0x10176485
mov eax, dword [ebp + 0x2c]
movsd xmm0, qword [eax]
movsd qword [0x10219c28], xmm0
mov ecx, dword [esp + 0x2a0]
call fcn.101bc753
mov eax, dword [esp + 0x24c]
add esp, 0x2b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x280]
mov eax, dword [ebp + 0x2c]
fstp qword [eax]
mov ecx, dword [esp + 0x2a0]
call fcn.101bc753
mov eax, 9
add esp, 0x2b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28c]
mov ecx, dword [edx + eax + 0x9fc]
mov dword [esp + 0x94], ecx
test ecx, ecx
je 0x10176924
mov edx, dword [edx + eax + 0xd0]
mov ecx, dword [edx]
mov dword [esp + 0x90], ecx
push 8
call fcn.101bcde0
mov dword [esp + 0x18c], eax
push 8
call fcn.101bcde0
mov dword [esp + 0x194], eax
push 8
call fcn.101bcde0
fld dword [esp + 0x28c]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x19c], eax
fst qword [eax]
mov eax, dword [esp + 0x198]
fst qword [eax]
mov edx, dword [esp + 0x194]
fstp qword [edx]
mov dword [esp + 0x1a0], 1
mov eax, dword [ecx + 0x10]
shl eax, 4
push eax
call fcn.101bcde0
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0xa4]
call fcn.101d7590
add esp, 0x1c
fld qword [0x101f47c8]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x8c]
mov ecx, dword [eax + 0x10]
mov eax, dword [0x10219190]
fst qword [esp + 0xf8]
mov dword [esp], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x80], ecx
mov dword [esp + 4], ecx
movsd xmm0, qword [eax + edx + 0x78]
lea ecx, [esp + 8]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
fstp qword [esp + 0x18]
mov dword [esp + 0x20], 1
call fcn.100aef80
mov eax, dword [esp + 0x94]
mov ecx, dword [0x10219190]
movsd xmm0, qword [eax + 0x48]
movsd qword [esp + 0x198], xmm0
movsd xmm1, qword [eax + 0x50]
movsd qword [esp + 0x1a0], xmm1
lea eax, [esp + 8]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x28c]
lea edx, [esp + 0x198]
mov dword [esp], edx
mov edx, 1
mov dword [esp + 4], edx
movsd xmm2, qword [ecx + esi + 0x78]
movsd qword [eax], xmm2
movsd xmm3, qword [ecx + esi + 0x80]
movsd qword [eax + 8], xmm3
mov esi, dword [esp + 0x290]
fld qword [esp + 0xf8]
fstp qword [esp + 0x18]
mov dword [esp + 0x20], edx
call fcn.100aef80
mov edx, dword [esp + 0x94]
movsd xmm2, qword [edx + 0x18]
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
movsd qword [esp + 8], xmm2
mov dword [esp], ecx
mov dword [esp + 4], eax
movsd xmm0, qword [edx + 0x48]
lea ecx, [esp + 0x10]
movsd qword [ecx], xmm0
lea eax, [esp + 0x188]
movsd xmm1, qword [edx + 0x50]
movsd qword [ecx + 8], xmm1
mov edx, dword [edx + 0x10]
movsd qword [esp + 0x34], xmm2
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x24], 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], edx
movsd xmm3, qword [esp + 0x198]
movsd qword [ecx], xmm3
movsd xmm4, qword [esp + 0x1a0]
movsd qword [ecx + 8], xmm4
mov edx, dword [esp + 0x80]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 1
lea eax, [esp + 0x200]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x1d8]
mov dword [esp + 0x60], eax
lea edx, [esp + 0x1e0]
mov dword [esp + 0x64], edx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x68], ecx
lea eax, [esp + 0x1f0]
mov dword [esp + 0x6c], eax
lea edx, [esp + 0x1f8]
mov dword [esp + 0x70], edx
call fcn.101894f0
movsd xmm0, qword [0x101f4820]
comisd xmm0, xmmword [esp + 0x1f8]
ja 0x1017678c
comisd xmm0, xmmword [esp + 0x1e0]
ja 0x1017678c
comisd xmm0, xmmword [esp + 0x1e8]
ja 0x1017678c
comisd xmm0, xmmword [esp + 0x1f0]
jbe 0x1017679c
mov dword [esp + 0x100], 0
jmp 0x101768e6
mov edx, dword [esp + 0x90]
movsd xmm2, qword [0x1020c0f8]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x94]
mov eax, dword [edi]
mov ebx, dword [edi + 0xc]
mov ecx, dword [ebx]
shl ecx, 4
movsd xmm1, qword [ecx + eax]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x290], esi
mov esi, dword [edx]
mov edx, dword [edx + 0xc]
mov edi, dword [edx]
mov dword [esp + 0x80], ebx
mov ebx, dword [edx + 4]
shl edi, 4
subsd xmm1, qword [edi + esi]
andps xmm1, xmmword [0x101f4690]
mov edi, dword [esp + 0x288]
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edx
shl ecx, 4
movsd xmm0, qword [ecx + eax]
shl ebx, 4
subsd xmm0, qword [ebx + esi]
mov esi, dword [esp + 0x290]
andps xmm0, xmmword [0x101f4690]
mov ebx, dword [esp + 0xc0]
subsd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x1017678c
pxor xmm3, xmm3
subsd xmm3, xmm2
comisd xmm1, xmm3
jbe 0x1017678c
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x288], edi
shl edx, 4
movsd xmm1, qword [edx + eax + 8]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x84]
mov edi, dword [esi + 8]
mov esi, dword [esi + 0xc]
shl edi, 4
subsd xmm1, qword [edi + edx + 8]
shl ecx, 4
andps xmm1, xmmword [0x101f4690]
mov edi, dword [esp + 0x288]
movsd xmm0, qword [ecx + eax + 8]
shl esi, 4
subsd xmm0, qword [esi + edx + 8]
andps xmm0, xmmword [0x101f4690]
subsd xmm1, xmm0
comisd xmm2, xmm1
mov esi, dword [esp + 0x290]
jbe 0x1017678c
comisd xmm1, xmm3
jbe 0x1017678c
mov eax, 1
mov dword [esp + 0x100], eax
push dword [esp + 0x8c]
call fcn.101bceaa
push dword [esp + 0x18c]
call fcn.101bceaa
push dword [esp + 0x194]
call fcn.101bceaa
push dword [esp + 0x19c]
call fcn.101bceaa
add esp, 0x10
mov edx, dword [0x10219190]
jmp 0x1017376d
fld qword [0x101f47c8]
fstp qword [esp + 0xf8]
mov dword [esp + 0x100], 1
jmp 0x1017376d
xor ecx, ecx
jmp 0x10173bc5
lea eax, [esp + 0x80]
push dword [esp + 0x184]
push str.Keinen_sinnvollen_Drehwinkel_gefunden_fuer_Flipwert__d.
push eax
call fcn.101bc928
push 1
lea eax, [esp + 0x90]
push eax
push dword [0x10219c30]
push dword [0x10219180]
push str.hg_bestimme_sinnvollen_drehwinkel
call fcn.100e45a0
add esp, 0x20
jmp 0x10174ce7
fld qword [0x1020c110]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x84]
fld qword [ecx + eax]
fcom st(1)
fnstsw ax
sahf
jae 0x101769b6
jp 0x101769b6
fld st(1)
fchs
fcomp st(1)
fnstsw ax
sahf
jp 0x101769b6
jb 0x101769d5
fsub qword [esp + 0xf8]
fcom st(1)
fnstsw ax
sahf
jae 0x101769ee
jp 0x101769ee
fxch st(1)
fchs
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jae 0x101769ee
jp 0x101769ee
fstp st(1)
fstp st(0)
mov ecx, dword [edx + edi + 0x30]
mov edx, dword [edx + edi + 0x28]
movsd xmm0, qword [ecx]
subsd xmm0, qword [edx]
jmp 0x101747b3
fstp st(1)
fstp st(0)
movsd xmm2, qword [0x1020c110]
mov eax, dword [esp + 0xf0]
movsd xmm3, qword [ecx + eax]
movaps xmm0, xmm3
subsd xmm0, qword [0x101f47e8]
comisd xmm2, xmm0
jbe 0x10176a25
pxor xmm1, xmm1
subsd xmm1, xmm2
comisd xmm0, xmm1
ja 0x10176a4d
movsd xmm0, qword [0x101f47f0]
subsd xmm3, xmm0
comisd xmm2, xmm3
jbe 0x10174793
pxor xmm0, xmm0
subsd xmm0, xmm2
comisd xmm3, xmm0
jbe 0x10174793
mov ecx, dword [edx + edi + 0x2c]
mov edx, dword [edx + edi + 0x24]
movsd xmm0, qword [ecx]
subsd xmm0, qword [edx]
jmp 0x101747b3
mov edx, dword [esp + 0xec]
mov ecx, dword [edx + 0x10]
shl ecx, 4
push ecx
call fcn.101bcde0
mov esi, eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 0x10]
shl edx, 4
push edx
push dword [ecx]
push esi
call fcn.101d7590
add esp, 0x10
mov edx, dword [esp + 0xec]
mov eax, dword [0x10219190]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x90], ecx
jmp 0x101746cf
push ebx
push 2
call fcn.100e6d00
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x294]
mov ecx, dword [eax + edx + 0x238]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
shl edx, 4
mov dword [esp + 0x88], eax
push edx
call fcn.101bcde0
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x8c]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0xa0]
call fcn.101d7590
add esp, 0x18
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x28c]
mov dword [esp], eax
mov eax, dword [0x10219190]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
movsd xmm0, qword [eax + edx + 0x78]
lea ecx, [esp + 0xc]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1c], eax
call fcn.100ae980
mov edx, dword [esp + 0x8c]
movsd xmm0, qword [edx]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [eax + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edx + 0x10]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + 0x18]
movsd qword [ecx + 8], xmm3
call fcn.100ac820
fstp qword [esp + 0x80]
mov edx, dword [esp + 0xf4]
push 0x10
lea eax, [edx + 4]
push eax
push edx
push dword [esp + 0xfc]
call fcn.100db0e0
add esp, 0x10
mov dword [esp + 0x88], eax
fld qword [0x101f4818]
fld qword [esp + 0x80]
fld dword [esp + 0x280]
fxch st(2)
fstp qword [esp + 0xb0]
fld qword [0x101f47e8]
fld qword [esp + 0xb0]
xor edx, edx
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0xc0], ebx
mov ebx, eax
fxch st(1)
fxch st(2)
fld st(1)
mov dword [esp + 0x108], edx
fild dword [esp + 0x108]
fmul st(4)
fsub st(2)
fxch st(5)
fcom st(5)
fnstsw ax
fxch st(1)
fadd st(5)
sahf
fcmovbe st(0), st(5)
fstp st(5)
test esi, esi
jle 0x10176d40
fld qword [0x1020c110]
fst qword [esp + 0xa0]
fxch st(5)
fstp qword [esp + 0xb8]
fxch st(3)
fstp qword [esp + 0x90]
mov dword [esp + 0xa8], edx
xor ecx, ecx
fxch st(3)
fchs
fstp qword [esp + 0x98]
fstp st(0)
fstp st(0)
fstp st(0)
fld qword [esp + 0xb8]
mov edx, ecx
shl edx, 4
fld qword [ebx + edx]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10176c8f
je 0x10176ccd
test edi, edi
je 0x10176d0b
fadd qword [esp + 0xf8]
fld qword [esp + 0xb0]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10176ca3
fstp st(1)
fsubr qword [esp + 0xb8]
fld qword [esp + 0xa0]
fcomp st(1)
fnstsw ax
sahf
jbe 0x10176d0b
fcom qword [esp + 0x98]
fnstsw ax
sahf
jbe 0x10176d0b
fstp st(0)
fld qword [esp + 0x90]
fld qword [esp + 0xb0]
mov eax, edx
mov edx, dword [esp + 0xa8]
fld qword [esp + 0x80]
fld dword [esp + 0x280]
or dword [eax + ebx + 0xc], 8
inc edx
cmp edx, 3
fxch st(3)
fxch st(2)
fxch st(1)
jle 0x10176c11
jmp 0x10176d65
fstp st(0)
inc ecx
cmp ecx, esi
jl 0x10176c75
fld qword [esp + 0xb8]
fld qword [esp + 0x90]
mov edx, dword [esp + 0xa8]
fld qword [esp + 0xb0]
fld qword [esp + 0x80]
fld dword [esp + 0x280]
mov eax, esi
shl eax, 4
fxch st(4)
fstp qword [ebx + eax]
inc esi
inc edx
mov dword [ebx + eax + 8], 4
cmp edx, 3
mov dword [ebx + eax + 0xc], 8
jle 0x10176c11
fstp st(2)
fstp st(1)
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x290]
fstp st(0)
fstp st(0)
push dword [esp + 0x8c]
call fcn.101bceaa
push ebx
push 2
call fcn.100e6e80
mov edx, dword [0x10219190]
mov eax, dword [esp + 0x298]
mov ecx, dword [eax + edx + 0x1f0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
shl edx, 4
mov dword [esp + 0x8c], eax
push edx
call fcn.101bcde0
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0x10]
shl eax, 4
push eax
push dword [edx]
push dword [esp + 0xb8]
call fcn.101d7590
add esp, 0x1c
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa0]
mov ecx, dword [eax + 0x10]
mov eax, dword [0x10219190]
mov dword [esp + 0x9c], ecx
mov dword [esp + 4], 0
mov dword [esp], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 8], ecx
movsd xmm0, qword [eax + edx + 0x78]
lea ecx, [esp + 0xc]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 0x80]
movsd qword [ecx + 8], xmm1
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1c], eax
call fcn.100ae980
cmp dword [esp + 0x9c], 0
fld dword [esp + 0x280]
fstp qword [esp + 0x90]
jle 0x10176ee0
fld qword [esp + 0x90]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0xc0], ebx
xor ecx, ecx
lea ebx, [ecx + 1]
mov eax, ebx
cdq
idiv edi
shl ecx, 4
shl edx, 4
fld qword [esi + edx]
fsub qword [esi + ecx]
fmul st(0)
fld qword [edx + esi + 8]
fsub qword [ecx + esi + 8]
fmul st(0)
faddp st(1)
fsqrt
mov ecx, ebx
fxch st(1)
fcom st(1)
fnstsw ax
sahf
fcmovbe st(0), st(1)
fstp st(1)
cmp ebx, edi
jl 0x10176e8f
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
fstp qword [esp + 0x90]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xf4]
push 0x10
lea edx, [ecx + eax]
push edx
push ecx
push dword [esp + 0x94]
call fcn.100db0e0
add esp, 0x10
mov dword [esp + 0xf0], eax
cmp dword [esp + 0x9c], 0
jle 0x10177147
fld qword [esp + 0x90]
fmul qword [0x101f47c0]
fstp qword [esp + 0x90]
fld qword [esp + 0x90]
mov dword [esp + 0x290], esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xc0], ebx
xor ecx, ecx
lea ebx, [ecx + 1]
mov eax, ebx
cdq
idiv esi
shl ecx, 4
shl edx, 4
fld qword [edi + edx]
fsub qword [edi + ecx]
fmul st(0)
fld qword [edx + edi + 8]
fsub qword [ecx + edi + 8]
fmul st(0)
faddp st(1)
fsqrt
fcomp st(1)
fnstsw ax
sahf
jp 0x10176f8a
jb 0x10177126
movsd xmm0, qword [edi + ecx]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [edi + ecx + 8]
movsd qword [eax + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edi + edx]
movsd qword [ecx], xmm2
movsd xmm3, qword [edi + edx + 8]
movsd qword [ecx + 8], xmm3
fstp qword [esp + 0x90]
call fcn.100ac820
fld qword [esp + 0x90]
fxch st(1)
fsubr qword [esp + 0xb0]
cmp dword [esp + 0xf4], 0
fxch st(1)
jle 0x101770f6
fld qword [0x1020c110]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0x100]
fst qword [esp + 0x88]
fxch st(2)
fstp qword [esp + 0xa8]
fstp qword [esp + 0x90]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xf0]
xor edx, edx
fchs
fstp qword [esp + 0x80]
fld qword [esp + 0xa8]
mov ecx, edx
shl ecx, 4
fld qword [ebx + ecx]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jp 0x10177042
je 0x10177080
test edi, edi
je 0x101770ba
fadd qword [esp + 0xf8]
fld qword [esp + 0xb0]
fxch st(1)
fprem
fnstsw ax
sahf
jp 0x10177056
fstp st(1)
fsubr qword [esp + 0xa8]
fld qword [esp + 0x88]
fcomp st(1)
fnstsw ax
sahf
jbe 0x101770ba
fcom qword [esp + 0x80]
fnstsw ax
sahf
jbe 0x101770ba
fstp st(0)
fld qword [esp + 0x90]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0xf0]
or dword [ecx + eax + 0xc], 0x10
jmp 0x10177126
fstp st(0)
inc edx
cmp edx, esi
jl 0x10177028
fld qword [esp + 0xa8]
fld qword [esp + 0x90]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x9c]
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
mov edx, ecx
shl edx, 4
fxch st(1)
fstp qword [eax + edx]
mov dword [eax + edx + 8], 4
inc ecx
mov dword [esp + 0xf4], ecx
mov dword [eax + edx + 0xc], 0x10
mov ecx, ebx
cmp ebx, esi
jl 0x10176f59
fstp st(0)
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0xc0]
push dword [esp + 0xa0]
call fcn.101bceaa
pop ecx
jmp 0x101745ed
xor edx, edx
jmp 0x1017542e
xor eax, eax
jmp 0x10175530
divsd xmm0, xmm1
jmp 0x101752e6
cmp dword [esp + 0x250], 0
jle 0x1017582d
mov ecx, dword [0x10219c44]
movsd xmm3, qword [0x1020c110]
movsd xmm2, qword [0x10219c28]
movsd xmm1, qword [0x101f47c8]
mov ebx, dword [ecx + edi*4]
mov ecx, dword [ebx + esi*4]
mov ebx, dword [esp + 0x250]
xor eax, eax
pxor xmm0, xmm0
subsd xmm0, xmm3
movsd xmm4, qword [ecx + eax*8]
subsd xmm4, xmm2
andps xmm4, xmmword [0x101f4690]
comisd xmm3, xmm4
jbe 0x101771cf
comisd xmm4, xmm0
ja 0x101771df
subsd xmm4, xmm1
comisd xmm3, xmm4
jbe 0x101771e9
comisd xmm4, xmm0
jbe 0x101771e9
mov ecx, 1
jmp 0x1017582f
inc eax
cmp eax, ebx
jl 0x101771b3
jmp 0x1017582d
xor eax, eax
mov dword [esp + 0x20c], eax
jmp 0x10175930
cmp dword [esp + 0x250], 0
jle 0x10175970
mov ebx, dword [0x10219c44]
movsd xmm4, qword [0x1020c110]
movsd xmm3, qword [0x10219c28]
movsd xmm2, qword [0x101f47e8]
movsd xmm1, qword [0x101f47f0]
mov dword [esp + 0x288], edi
xor eax, eax
mov dword [esp + 0x180], eax
mov eax, dword [ebx + edi*4]
mov ebx, dword [esp + 0x180]
mov edi, dword [esp + 0x250]
mov eax, dword [eax + esi*4]
pxor xmm0, xmm0
subsd xmm0, xmm4
movsd xmm6, qword [eax + ebx*8]
subsd xmm6, xmm3
andps xmm6, xmmword [0x101f4690]
movaps xmm5, xmm6
subsd xmm5, xmm2
comisd xmm4, xmm5
jbe 0x10177284
comisd xmm5, xmm0
ja 0x10177294
subsd xmm6, xmm1
comisd xmm4, xmm6
jbe 0x101772ab
comisd xmm6, xmm0
jbe 0x101772ab
mov edi, dword [esp + 0x288]
mov dword [esp + 0x23c], 1
jmp 0x10175979
inc ebx
cmp ebx, edi
jl 0x10177261
mov edi, dword [esp + 0x288]
xor eax, eax
mov dword [esp + 0x23c], eax
jmp 0x10175979
xor eax, eax
mov dword [esp + 0x240], eax
jmp 0x10175af6
mov eax, dword [0x10219c40]
mov ecx, dword [esp + 0x288]
push 4
mov ebx, dword [eax + ecx*4]
fstp st(0)
push dword [ebx + edi*4]
call fcn.101beb7a
fld qword [0x101f4858]
mov ecx, dword [esp + 0x290]
mov dword [0x10219c58], eax
mov eax, dword [0x10219c40]
mov ebx, dword [eax + ecx*4]
fstp st(0)
push 4
push dword [ebx + edi*4]
call fcn.101beb7a
fld qword [0x101f4858]
add esp, 0x10
cmp dword [0x10219c64], 0
mov dword [0x10219c5c], eax
je 0x10177380
cmp dword [esp + 0x248], 0
je 0x10177380
mov ecx, dword [0x10219c3c]
mov ebx, dword [esp + 0x288]
mov edx, dword [ecx + ebx*4]
cmp dword [edx + edi*4], 0
jle 0x10177380
mov ecx, dword [0x10219c48]
mov ecx, dword [ecx + ebx*4]
mov ebx, dword [ecx + edi*4]
mov edx, dword [edx + edi*4]
mov dword [esp + 0x180], 0
mov ecx, ebx
mov ebx, dword [esp + 0x180]
test byte [ecx + ebx*4], 8
jne 0x1017737b
mov dword [eax + ebx*4], 1
inc ebx
cmp ebx, edx
jl 0x1017736e
cmp dword [0x10219c60], 0
je 0x101773de
cmp dword [esp + 0x244], 0
je 0x101773de
mov ecx, dword [0x10219c3c]
mov ebx, dword [esp + 0x288]
mov edx, dword [ecx + ebx*4]
cmp dword [edx + edi*4], 0
jle 0x101773de
mov ecx, dword [0x10219c48]
mov ecx, dword [ecx + ebx*4]
mov ebx, dword [ecx + edi*4]
mov edx, dword [edx + edi*4]
mov dword [esp + 0x184], 0
mov ecx, ebx
mov ebx, dword [esp + 0x184]
test byte [ecx + ebx*4], 0x10
jne 0x101773d9
mov dword [eax + ebx*4], 1
inc ebx
cmp ebx, edx
jl 0x101773cc
cmp dword [esp + 0x27c], 2
jne 0x10175df5
mov eax, dword [0x10219c3c]
mov ecx, dword [esp + 0x288]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebx + edi*4]
jmp 0x10175d40
fstp st(2)
fstp st(1)
mov esi, dword [esp + 0x260]
jmp 0x10175ef7
fstp st(0)
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x28c]
fld qword [edx + ecx + 0x988]
fxch st(1)
fcom st(1)
fnstsw ax
sahf
fxch st(1)
fcmovbe st(0), st(1)
jmp 0x10175fd2
mov eax, dword [esp + 0x25c]
dec eax
push eax
push 0
fstp st(0)
call fcn.100ed700
fld qword [0x101f4858]
add esp, 8
mov ebx, eax
mov eax, dword [0x10219c44]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edi*4]
movsd xmm0, qword [eax + ebx*8]
mov eax, dword [ebp + 0x2c]
movsd qword [eax], xmm0
jmp 0x10175ef7
mov eax, dword [esp + 0x254]
cmp dword [eax + edx*4], 0
jne 0x10175ebd
mov eax, dword [esp + 0x284]
cmp dword [eax + edx*4], 0
je 0x10175e9b
jmp 0x10175ebd
fstp st(0)
fld dword [esp + 0x280]
mov eax, dword [ebp + 0x2c]
fstp qword [eax]
mov dword [esp + 0x24c], 9
jmp 0x10176485
cmp dword [esp + 0x210], 5
jle 0x10175c63
imul eax, dword [esp + 0x254], 0xfffe7960
add eax, 0x1312d00
cdq
xor eax, edx
sub eax, edx
test eax, eax
jle 0x10175c63
mov dword [esp + 0x290], esi
mov ebx, ecx
mov dword [esp + 0x288], edi
xor edx, edx
mov edi, eax
mov esi, edx
cvtsi2sd xmm0, esi
call fcn.101b9860
call fcn.101baec0
call fcn.101baec0
movsd xmm1, qword [0x101f4880]
maxsd xmm1, xmm0
inc esi
cmp esi, edi
cvttsd2si eax, xmm1
jl 0x101774ff
mov esi, dword [esp + 0x290]
mov edi, dword [esp + 0x288]
mov edx, dword [esp + 0x204]
mov dword [edx + esi*4], eax
mov ecx, ebx
mov eax, dword [0x10219c3c]
mov dword [esp + 0x184], eax
jmp 0x10175c74
cmp dword [0x1021f690], 0
movsd xmm1, qword [0x101f4788]
pxor xmm0, xmm0
jne 0x1017756a
movaps xmm1, xmm0
movsd qword [0x10219c28], xmm1
mov ecx, dword [esp + 0x2a0]
call fcn.101bc753
xor eax, eax
add esp, 0x2b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffff
mov dword [0x1020cac4], eax
mov dword [0x1020cac8], eax
mov ecx, dword [esp + 0x2a0]
call fcn.101bc753
xor eax, eax
add esp, 0x2b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fstp st(0)
jmp 0x10173e22
fstp st(0)
fstp st(1)
fstp st(0)
jmp 0x1017453a
fstp st(0)
jmp 0x10174cc6
fstp st(0)
jmp 0x10175c3c
fstp st(1)
jmp 0x10175ef7
fstp st(0)
jmp 0x10176269
fstp st(0)
jmp 0x1017614f
fstp st(0)
jmp 0x101761a4