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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xb4
mov ebx, eax
inc dword [0x10219a5c]
push str.AN20AP07CK
call fcn.101bf9ba
pop ecx
test eax, eax
je 0x10166300
mov ecx, 1
xor edx, edx
cmp byte [eax], 0x31
cmove edx, ecx
mov dword [esp + 0x88], edx
jmp 0x1016630b
mov dword [esp + 0x88], 0
mov eax, dword [0x1021fa80]
mov edx, dword [0x1021fa84]
mov ecx, dword [0x1021fa88]
mov esi, dword [0x1021fa8c]
mov edi, dword [0x1021fa90]
movsd xmm0, qword [0x1020ca50]
movsd qword [0x1021f990], xmm0
mov dword [0x1021fc00], eax
mov eax, dword [0x1021fa94]
inc dword [0x10219178]
cmp dword [0x1021f6c8], 0
mov dword [0x1021fc04], edx
mov edx, dword [0x1021fa98]
mov dword [0x1021fd28], 0x4b
mov dword [0x1021fc08], ecx
mov ecx, dword [0x1021fa9c]
mov dword [0x1021fcec], 0xc8
mov dword [0x1021fc0c], esi
mov esi, dword [0x1021faa0]
mov dword [0x1021fc10], edi
mov edi, dword [0x1021faa4]
mov dword [0x1021f998], 0x64
mov dword [0x1021fc14], eax
mov eax, dword [0x1021fac0]
mov dword [0x1021fc18], edx
mov edx, dword [0x1021fac4]
mov dword [0x1021fc1c], ecx
mov ecx, dword [0x1021fac8]
mov dword [0x1021fc20], esi
mov esi, dword [0x1021facc]
mov dword [0x1021fc24], edi
mov edi, dword [0x1021fad0]
mov dword [0x1021f960], eax
mov eax, dword [0x1021fad4]
mov dword [0x1021f964], edx
mov edx, dword [0x1021fad8]
mov dword [0x1021f968], ecx
mov ecx, dword [0x1021fadc]
mov dword [0x1021f96c], esi
mov esi, dword [0x1021fae0]
mov dword [0x1021f970], edi
mov edi, dword [0x1021fae4]
mov dword [0x1021f974], eax
mov eax, dword [0x1020ca6c]
mov dword [0x1021f978], edx
mov edx, dword [0x1021fb40]
mov dword [0x1021f97c], ecx
mov ecx, dword [0x1021fb44]
mov dword [0x1021f980], esi
mov esi, dword [0x1021fb48]
mov dword [0x1021f984], edi
mov edi, dword [0x1021fb4c]
mov dword [0x1021f988], eax
mov eax, dword [0x1021fb50]
mov dword [0x1021fd40], edx
mov edx, dword [0x1021fb54]
mov dword [0x1021fd44], ecx
mov ecx, dword [0x1021fb58]
mov dword [0x1021fd48], esi
mov esi, dword [0x1021fb5c]
mov dword [0x1021fd4c], edi
mov edi, dword [0x1021fb60]
mov dword [0x1021fd50], eax
mov eax, dword [0x1021fb64]
mov dword [0x1021fd54], edx
mov edx, dword [0x1021fa40]
mov dword [0x1021fd58], ecx
mov ecx, dword [0x1021fa44]
mov dword [0x1021fd5c], esi
mov esi, dword [0x1021fa48]
mov dword [0x1021fd60], edi
mov edi, dword [0x1021fa4c]
mov dword [0x1021fd64], eax
mov eax, dword [0x1021fa50]
mov dword [0x1021fcc0], edx
mov edx, dword [0x1021fa54]
mov dword [0x1021fcc4], ecx
mov ecx, dword [0x1021fa58]
mov dword [0x1021fcc8], esi
mov esi, dword [0x1021fa5c]
mov dword [0x1021fccc], edi
mov edi, dword [0x1021fa60]
mov dword [0x1021fcd0], eax
mov eax, dword [0x1021fa64]
mov dword [0x1021fcd4], edx
mov edx, dword [0x1021fa00]
mov dword [0x1021fcd8], ecx
mov ecx, dword [0x1021fa04]
mov dword [0x1021fcdc], esi
mov esi, dword [0x1021fa08]
mov dword [0x1021fce0], edi
mov edi, dword [0x1021fa0c]
mov dword [0x1021fce4], eax
mov eax, dword [0x1021fa10]
mov dword [0x1021fd00], edx
mov edx, dword [0x1021fa14]
mov dword [0x1021fd04], ecx
mov ecx, dword [0x1021fa18]
mov dword [0x1021fd08], esi
mov esi, dword [0x1021fa1c]
mov dword [0x1021fd0c], edi
mov edi, dword [0x1021fa20]
mov dword [0x1021fd10], eax
mov eax, dword [0x1021fa24]
mov dword [0x1021fd14], edx
mov edx, dword [0x1021fb00]
mov dword [0x1021fd18], ecx
mov ecx, dword [0x1021fb04]
mov dword [0x1021fd1c], esi
mov esi, dword [0x1021fb08]
mov dword [0x1021fd20], edi
mov edi, dword [0x1021fb0c]
mov dword [0x1021fd24], eax
mov eax, dword [0x1021fb10]
mov dword [0x10220000], edx
mov edx, dword [0x1021fb14]
mov dword [0x10220004], ecx
mov ecx, dword [0x1021fb18]
mov dword [0x10220008], esi
mov esi, dword [0x1021fb1c]
mov dword [0x1022000c], edi
mov edi, dword [0x1021fb20]
mov dword [0x10220010], eax
mov eax, dword [0x1021fb24]
mov dword [0x10220014], edx
mov dword [0x10220018], ecx
mov dword [0x1022001c], esi
mov dword [0x10220020], edi
mov ecx, 1
mov dword [0x10220024], eax
mov dword [0x1021fec8], ecx
mov dword [0x1021f99c], ecx
mov edx, 0xffffffff
mov dword [0x1021fec4], edx
mov dword [0x1021fec0], edx
mov esi, 0
mov dword [0x1021fcf8], esi
mov dword [0x1021febc], esi
mov dword [0x10219b2c], esi
je 0x1016664f
mov dword [0x10219b28], 2
jmp 0x10166659
mov dword [0x10219b28], 0
mov edi, dword [0x10282f80]
mov dword [0x1021f620], 1
test edi, edi
mov dword [0x1021fb70], 0
jle 0x10166700
mov edx, dword [0x10219190]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], ebx
xor esi, esi
mov dword [esp + 0x38], esi
mov ecx, 1
mov eax, 0xa10
mov esi, dword [eax + edx + 0x9f8]
test esi, esi
jne 0x101666b0
mov dword [0x1021f620], 0
jmp 0x101666d7
jle 0x101666d7
mov edi, dword [eax + edx + 0x9f4]
xor ebx, ebx
mov dword [esp + 0x34], edx
mov edx, ebx
cmp dword [edx + edi], 1
jne 0x101682c6
add edx, 0x58
inc ebx
cmp ebx, esi
jl 0x101666c1
mov edx, dword [esp + 0x34]
cmp dword [eax + edx + 0x878], 0
jne 0x101666f0
mov ebx, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x38], ebx
mov dword [0x1021fb70], ebx
add eax, 0xa10
inc ecx
cmp ecx, dword [esp + 0x3c]
jle 0x10166699
mov ebx, dword [esp + 0x30]
call fcn.10165860
mov dword [0x10219b24], ebx
mov eax, ebx
test ebx, ebx
jl 0x1016671d
push ebx
call fcn.100e3720
pop ecx
mov eax, dword [0x10219b24]
mov dword [0x10219b10], 1
test eax, eax
je 0x101667f1
lea ecx, [esp + 0x50]
lea edx, [esp + 0x54]
push edx
xor eax, eax
mov dword [0x1020ca80], eax
push ecx
mov dword [0x1020ca84], eax
mov dword [0x1020c788], eax
push ebx
mov dword [0x1020c784], eax
call fcn.100ef400
add esp, 0xc
mov eax, dword [esp + 0x50]
cmp eax, 0x258
jl 0x10166779
cmp dword [esp + 0x54], 0x1f4
jl 0x10166779
cmp dword [0x10282f80], 0x1f4
jle 0x10166783
mov dword [0x10219b10], 0
cmp eax, 0x3e8
jge 0x101667af
movsd xmm0, qword [0x101f3aa0]
cmp eax, 0x258
jl 0x101667d9
mov eax, dword [esp + 0x54]
movsd qword [0x1020c258], xmm0
movsd qword [0x1020c250], xmm0
jmp 0x101667d2
mov eax, dword [esp + 0x54]
cmp eax, 0x2bc
jge 0x101667f1
movsd xmm0, qword [0x101f3aa0]
movsd qword [0x1020c250], xmm0
movsd qword [0x1020c258], xmm0
cmp eax, 0x1f4
jge 0x101667f1
movsd xmm0, qword [0x101f3ab0]
movsd qword [0x1020c250], xmm0
movsd qword [0x1020c258], xmm0
cmp dword [0x1021f6c8], 0
mov edx, dword [0x10220314]
je 0x10166883
fldz
fst qword [esp + 0x58]
test edx, edx
jle 0x10166858
fstp qword [esp + 0x30]
xor ebx, ebx
mov eax, dword [0x10220310]
push 1
mov edx, dword [eax + ebx*4]
push dword [edx]
call fcn.100e0540
add esp, 8
fld qword [esp + 0x30]
fcompp
fnstsw ax
sahf
ja 0x1016684b
mov eax, dword [0x10220310]
push 1
mov edx, dword [eax + ebx*4]
push dword [edx]
call fcn.100e0540
add esp, 8
fstp qword [esp + 0x30]
inc ebx
cmp ebx, dword [0x10220314]
jl 0x10166814
fld qword [esp + 0x30]
fld qword [0x1021f8e0]
fld qword [0x1021f6c0]
fadd st(2)
fadd st(2)
fxch st(1)
fcom st(1)
fnstsw ax
fld qword [0x1021f8d8]
sahf
fxch st(2)
fcmovnbe st(0), st(1)
fstp st(1)
fst qword [0x1021f8e0]
jmp 0x101668fc
fldz
fst qword [esp + 0x58]
test edx, edx
jle 0x101668bc
mov ecx, dword [0x1022030c]
mov ebx, dword [0x10219190]
mov esi, dword [0x10220310]
xor eax, eax
jmp 0x101668a5
faddp st(1)
fild dword [ecx + eax*4]
mov edi, dword [esi + eax*4]
imul edi, dword [edi], 0xa10
fmul qword [edi + ebx + 0x48]
inc eax
cmp eax, edx
jl 0x101668a3
faddp st(1)
fld qword [0x1021f8d8]
fcom qword [esp + 0x58]
fnstsw ax
sahf
fld qword [0x1021f8e0]
jbe 0x101668fc
fld st(0)
fld qword [0x101f3a98]
fmul st(3)
fmul st(1), st(0)
fxch st(1)
fcomp st(4)
fnstsw ax
sahf
jae 0x101682d9
jp 0x101682d9
fstp st(1)
fld st(2)
fdivrp st(1)
fst qword [0x1021f8e0]
fstp st(2)
mov eax, dword [0x1021f8f8]
cmp eax, 2
je 0x101682af
fld qword [0x101f3aa8]
fstp qword [esp + 0x60]
cmp eax, 3
jne 0x10166925
fmul qword [esp + 0x60]
fst qword [0x1021f8d8]
fld qword [esp + 0x58]
mov edx, dword [0x1021f820]
fst qword [0x1021fb88]
fst qword [0x1021fb98]
fxch st(1)
fst qword [0x1021fbb8]
fst qword [0x1021fba8]
fxch st(1)
fst qword [0x1021fb90]
fst qword [0x1021fba0]
fxch st(2)
fst qword [0x1021fbb0]
fst qword [0x1021fb80]
fxch st(2)
fsubp st(1)
fmulp st(1)
fstp qword [0x1021f9a0]
test edx, edx
jle 0x10166a23
mov ecx, dword [0x1021f828]
mov esi, ecx
xor eax, eax
mov ebx, dword [ecx]
cmp dword [ebx + 0x2c], 1
jne 0x101669bc
movsd xmm0, qword [0x1021fb80]
mov ebx, dword [ebx]
movsd qword [ebx + 0x30], xmm0
mov edi, dword [ecx]
mov ebx, dword [edi]
movsd qword [ebx], xmm0
movsd xmm1, qword [0x1021fb90]
mov edi, dword [ecx]
mov ebx, dword [edi]
movsd qword [ebx + 0x20], xmm1
mov edi, dword [ecx]
mov ebx, dword [edi]
movsd qword [ebx + 0x10], xmm1
add ecx, 4
inc eax
cmp eax, edx
jl 0x10166983
movsd xmm0, qword [0x101f3ac8]
xor ebx, ebx
mov edx, dword [esi + ebx*4]
movsd xmm1, qword [edx + 0x18]
comisd xmm1, xmm0
jbe 0x101669fb
lea eax, [edx + 0x18]
push eax
push dword [edx + 0x10]
push dword [edx]
call fcn.100b0a90
movsd xmm0, qword [0x101f3ac8]
add esp, 0xc
mov esi, dword [0x1021f828]
mov ecx, dword [esi + ebx*4]
cmp dword [ecx + 4], 0
je 0x10168281
cmp dword [ecx + 0xc], 0
je 0x10168246
inc ebx
cmp ebx, dword [0x1021f820]
jge 0x10166a23
mov esi, dword [0x1021f828]
jmp 0x101669ce
mov eax, dword [0x1021f810]
test eax, eax
je 0x10166a43
mov edx, dword [0x1021f80c]
movsd xmm0, qword [0x1021fb80]
shl edx, 4
movsd qword [eax + edx - 0x10], xmm0
fld qword [0x1021fbb0]
fld qword [0x1021fba0]
movsd xmm0, qword [0x1021fbb8]
fld qword [0x1021fba8]
fld qword [0x1021fb98]
movsd xmm1, qword [0x1021fb80]
fld qword [0x101f3ac0]
fld qword [esp + 0x58]
movsd xmm2, qword [0x1021fb88]
movsd xmm3, qword [0x1021fb90]
mov ecx, dword [0x1021f690]
fxch st(5)
fst qword [0x10219a70]
movsd qword [0x10219a78], xmm0
movsd qword [0x10219a60], xmm1
movsd qword [0x10219a68], xmm2
fxch st(4)
fst qword [0x10219a80]
fxch st(3)
fst qword [0x10219a88]
movsd qword [0x10219a90], xmm3
fxch st(2)
fst qword [0x10219a98]
fxch st(1)
fst qword [0x1021f660]
fst qword [0x1021f670]
fstp qword [0x1021f680]
fxch st(4)
fstp qword [0x1021f658]
fld1
fst dword [esp + 0x8c]
fsub st(2), st(0)
fxch st(2)
fst qword [0x10222c98]
fstp qword [0x102233d8]
fld qword [0x101f3ab8]
fst qword [0x1021f668]
fst qword [0x1021f678]
fst qword [0x1021f688]
fxch st(2)
fadd st(3), st(0)
fxch st(3)
fst qword [0x10222c88]
fstp qword [0x102233c8]
fxch st(2)
fsub st(3), st(0)
fxch st(3)
fst qword [0x10222ca0]
fstp qword [0x102233e0]
fxch st(2)
faddp st(1)
fst qword [0x10222c90]
fstp qword [0x102233d0]
mov dword [0x10222c80], 1
mov dword [0x102233c0], 2
test ecx, ecx
mov dword [0x1021f6b8], 0
jle 0x101682e0
fld qword [0x101f3ab8]
fld qword [0x101f3ab8]
mov ebx, dword [0x1021f6b4]
xor edx, edx
fld qword [0x101f3ac0]
fld qword [0x101f3ac0]
fld qword [0x101f3ac0]
fld qword [esp + 0x58]
mov esi, dword [ebx + edx*4]
mov eax, dword [esi + 0xc]
mov esi, dword [esi]
mov edi, dword [eax + 4]
mov eax, dword [eax]
shl edi, 4
fld qword [esi + edi]
shl eax, 4
fsub qword [esi + eax]
fxch st(5)
fcom st(5)
fnstsw ax
sahf
fxch st(5)
fcom st(2)
fnstsw ax
fxch st(5)
fcmovbe st(0), st(5)
fst qword [0x1021f688]
sahf
fxch st(2)
fcmovbe st(0), st(5)
fstp st(5)
fxch st(4)
fst qword [0x1021f680]
mov edi, dword [ebx + edx*4]
mov eax, dword [edi + 0xc]
mov esi, dword [edi]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
shl edi, 4
fld qword [edi + esi + 8]
shl eax, 4
fsub qword [eax + esi + 8]
fxch st(6)
fcom st(6)
fnstsw ax
sahf
fxch st(6)
fcom st(3)
fnstsw ax
fxch st(6)
fcmovbe st(0), st(6)
fst qword [0x1021f678]
sahf
fxch st(3)
fcmovbe st(0), st(6)
fstp st(6)
fxch st(5)
fst qword [0x1021f670]
mov esi, dword [ebx + edx*4]
inc edx
fld qword [esi + 0x18]
fxch st(7)
fcom st(7)
fnstsw ax
fxch st(5)
fadd st(7)
fst qword [0x1021f658]
sahf
fxch st(7)
fcom st(4)
fnstsw ax
fxch st(5)
fcmovbe st(0), st(5)
fst qword [0x1021f668]
sahf
fxch st(4)
fcmovbe st(0), st(5)
fstp st(5)
fxch st(4)
fst qword [0x1021f660]
cmp edx, ecx
fxch st(3)
fxch st(6)
fxch st(5)
fxch st(1)
fxch st(4)
fxch st(2)
fxch st(5)
jl 0x10166b9c
fstp st(0)
fstp st(0)
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
cmp dword [0x1021f6c8], 0
je 0x10166c9d
test ecx, ecx
jne 0x10166c9d
movsd xmm0, qword [0x1021f6c0]
movsd qword [0x1021f680], xmm0
movsd qword [0x1021f688], xmm0
call fcn.1014c2e0
fld qword [esp + 0x58]
fld qword [0x101f3ac0]
mov edx, dword [0x10282f80]
fxch st(1)
fst qword [0x1021f9a8]
fst qword [0x1021fc80]
fst qword [0x1021f9b0]
fst qword [0x1021fca8]
fst qword [0x1021fcb8]
fst qword [0x1021fcf0]
fst qword [0x1021f9b8]
fxch st(1)
fstp qword [0x1021f9c0]
xor eax, eax
mov dword [0x1021fb68], eax
mov dword [0x1021f9c8], eax
mov dword [0x1021fc98], eax
test edx, edx
mov dword [0x1021fc94], eax
mov dword [esp + 0x40], eax
jle 0x1016823d
mov ecx, dword [0x10219190]
fstp qword [esp + 0x30]
xor eax, eax
mov ebx, 1
mov dword [esp + 0x68], eax
mov esi, 0xa10
mov eax, dword [ecx + esi + 0x878]
test eax, eax
jle 0x10168029
cmp eax, 2
je 0x10168029
add esi, 0xa10
inc ebx
cmp ebx, edx
jle 0x10166d22
fld qword [esp + 0x30]
fld qword [0x1021fcf0]
mov esi, dword [0x10220314]
mov dword [0x1021fc78], 0
test esi, esi
jle 0x10166dd0
mov ebx, dword [0x1022030c]
mov edi, dword [0x10219190]
mov eax, dword [0x10220310]
mov dword [esp + 0x6c], eax
xor ecx, ecx
mov dword [esp + 0x3c], edi
xor eax, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x38], edx
xor esi, esi
cmp dword [ebx + eax*4], 0
jle 0x10166dc5
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x68], ecx
mov edi, esi
mov esi, dword [esp + 0x3c]
imul ecx, dword [edx + edi*4], 0xa10
cmp dword [ecx + esi + 0x878], 0
je 0x10168017
inc edi
cmp edi, dword [ebx + eax*4]
jl 0x10166da1
lea esi, [esi]
mov ecx, dword [esp + 0x68]
xor esi, esi
inc eax
cmp eax, dword [esp + 0x70]
jl 0x10166d8a
mov edx, dword [esp + 0x38]
mov esi, dword [0x102202f0]
mov dword [0x1021fcb0], 0
xor ecx, ecx
test esi, esi
jle 0x10166e71
mov eax, dword [0x10219190]
mov ebx, dword [0x102202fc]
movsd xmm0, qword [0x101f3ad8]
mulsd xmm0, qword [0x1021fc80]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x6c], ecx
xor edi, edi
mov dword [esp + 0x68], edi
xor ebx, ebx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x38], edx
cmp dword [eax + ebx*4], 0
jle 0x10166e59
mov edx, dword [0x10220300]
mov edi, dword [esp + 0x70]
mov esi, dword [edx + ebx*4]
mov dword [esp + 0x3c], edx
xor ecx, ecx
imul edx, dword [esi + ecx*4], 0xa10
cmp dword [edx + edi + 0x878], 0
je 0x10167fd9
inc ecx
cmp ecx, dword [eax + ebx*4]
jl 0x10166e3e
mov esi, esi
lea edi, [edi]
inc ebx
cmp ebx, dword [esp + 0x74]
jl 0x10166e25
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x38]
cmp ecx, 2
jg 0x10166e82
mov dword [0x1021f9cc], 1
jmp 0x10166e8c
mov dword [0x1021f9cc], 0
fcomp qword [0x1021f9a0]
fnstsw ax
sahf
jbe 0x10166ea4
cmp dword [0x1021f6c8], 0
je 0x101673d3
fld qword [0x101f3ae0]
fmul qword [0x1021f9b8]
fcompp
fnstsw ax
sahf
jae 0x10166ecc
jp 0x10166ecc
mov eax, dword [esp + 0x40]
mov dword [0x1021f9c8], 1
mov dword [0x1021fc98], eax
fld qword [esp + 0x58]
fld qword [esp + 0x58]
xor ebx, ebx
test edx, edx
jle 0x10167fb6
fld qword [esp + 0x58]
fld qword [esp + 0x58]
xor eax, eax
mov edi, 1
mov ecx, dword [0x10219190]
mov esi, 0xa10
cmp dword [esi + ecx + 0x878], 0
jle 0x10167f71
add esi, 0xa10
inc edi
cmp edi, edx
jle 0x10166ef8
fstp st(0)
fstp st(0)
fstp qword [0x1021f950]
fstp qword [0x1021f958]
mov dword [0x1021fc88], ebx
mov dword [0x1021f9d0], 0
test edx, edx
jle 0x10166f6c
mov esi, dword [0x10219190]
xor ebx, ebx
mov dword [0x1021f9d4], ebx
mov dword [0x1021f9d8], ebx
add esi, 0xa10
mov ecx, 1
cmp dword [esi + 0x878], 0
jle 0x10167f4d
add esi, 0xa10
inc ecx
cmp ecx, edx
jle 0x10166f54
mov ecx, 0x102226cc
and ecx, 0xf
xor eax, eax
xor edx, edx
neg ecx
add ecx, 0x10
shr ecx, 2
xor ebx, ebx
mov esi, dword [ebx*4 + 0x10222e0c]
add edx, esi
add eax, esi
inc ebx
cmp ebx, ecx
jb 0x10166f82
mov ebx, ecx
neg ebx
inc ebx
and ebx, 3
neg ebx
add ebx, 0x11
movd xmm1, edx
movd xmm0, eax
movdqa xmm2, xmmword [ecx*4 + 0x10222e0c]
paddd xmm1, xmm2
paddd xmm0, xmm2
add ecx, 4
cmp ecx, ebx
jb 0x10166fa7
movdqa xmm2, xmm0
cmp ebx, 0x11
psrldq xmm2, 8
paddd xmm0, xmm2
movdqa xmm3, xmm0
psrldq xmm3, 4
paddd xmm0, xmm3
movd edx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm4, xmm1
psrldq xmm4, 4
paddd xmm1, xmm4
movd eax, xmm1
jae 0x10167011
mov ecx, dword [ebx*4 + 0x10222e0c]
add eax, ecx
add edx, ecx
inc ebx
cmp ebx, 0x11
jb 0x10167000
push 0x1021fee0
test eax, eax
mov dword [0x1021f9d8], edx
mov edx, 0
cmovle eax, edx
mov dword [0x1021f9d4], eax
call fcn.10135f00
push 0x1021fd80
call fcn.10135f00
push 0x1021fee0
call fcn.10135480
push 0x1021fd80
call fcn.10135480
add esp, 0x10
mov eax, 0x1021fee0
call fcn.10165db4
mov dword [0x10220028], 0
push 0x168
push 1
call fcn.101beb7a
add esp, 8
cmp dword [0x1021ff48], 0
mov dword [0x10220028], eax
mov eax, 0
mov dword [0x1022002c], 1
mov dword [0x1021fe00], eax
mov dword [0x1021ff60], eax
jle 0x1016716c
movsd xmm0, qword [0x101f3ae8]
mov ebx, 1
mov esi, ebx
mov edx, dword [0x1021fee0]
imul edi, dword [edx + ebx*4], 0xa10
mov eax, dword [0x10219190]
movsd xmm1, qword [eax + edi + 0x838]
ucomisd xmm1, xmm0
jp 0x101670d1
je 0x101670e8
cmp dword [0x10223b04], 0
jne 0x101670e8
xor edx, edx
cmp dword [0x10223b00], 0
cmove edx, esi
jmp 0x101670ea
xor edx, edx
cmp dword [eax + edi + 0x878], 0
jg 0x10167123
test edx, edx
jne 0x10167123
mov edx, dword [0x1021fff4]
mov eax, dword [0x1021fff0]
mov dword [eax + edx*4], ebx
mov edi, dword [0x1021fffc]
mov ecx, dword [0x1021fff8]
inc dword [0x1021fff4]
mov dword [ecx + edi*4], ebx
inc dword [0x1021fffc]
jmp 0x1016715f
mov eax, 0x1021fee0
mov edx, ebx
mov ecx, 0x10
call fcn.10165d9c
movsd xmm0, qword [0x101f3ae8]
mov eax, dword [0x10219190]
cmp dword [edi + eax + 0x878], 2
jne 0x1016715f
mov edx, dword [0x1021fffc]
mov eax, dword [0x1021fff8]
mov dword [eax + edx*4], ebx
inc dword [0x1021fffc]
inc ebx
cmp ebx, dword [0x1021ff48]
jle 0x101670ae
push dword [0x10219b30]
call fcn.101bceaa
mov eax, dword [0x10282f80]
push 4
inc eax
push eax
call fcn.101beb7a
add esp, 0xc
cmp dword [0x10220314], 1
mov dword [0x10219b30], eax
je 0x10167786
cmp dword [0x1021fd10], 2
mov dword [0x1021f830], 0
je 0x1016768e
cmp dword [0x1021fcd0], 2
je 0x10167537
cmp dword [0x1021fd50], 2
je 0x1016744a
push dword [0x1021ff48]
push 0x1021fc40
xor eax, eax
mov dword [0x1021fc90], eax
mov dword [0x10219ad4], eax
mov dword [0x10219ad0], eax
call fcn.10177760
push dword [0x1021ff48]
push 0x10219af4
call fcn.10177760
push dword [0x1021ff48]
push 0x10219ab4
call fcn.10177760
push dword [0x1021ff48]
push 0x1021f9e0
call fcn.10177760
add esp, 0x20
cmp dword [0x1021fc54], 0
jle 0x1016729e
fld qword [esp + 0x58]
xor eax, eax
mov edx, 0xffffffff
xor ebx, ebx
mov esi, dword [0x1021fc40]
lea ecx, [eax + 1]
mov dword [esi + eax*4], ecx
mov edi, dword [0x10219ab4]
mov dword [edi + eax*4], ecx
mov esi, dword [0x1021fc44]
fst qword [esi + eax*8]
mov edi, dword [0x10219ab8]
fst qword [edi + eax*8]
mov esi, dword [0x1021fc48]
mov dword [esi + eax*4], ebx
mov edi, dword [0x10219abc]
mov dword [edi + eax*4], ebx
mov esi, dword [0x1021fc4c]
mov dword [esi + eax*4], edx
mov edi, dword [0x10219ac0]
mov dword [edi + eax*4], edx
mov esi, dword [0x1021fc50]
mov dword [esi + eax*4], edx
mov edi, dword [0x10219ac4]
mov dword [edi + eax*4], edx
cmp ecx, dword [0x1021fc54]
mov eax, ecx
jl 0x10167235
fstp st(0)
push 0x10219adc
xor eax, eax
mov dword [0x10219180], eax
mov dword [0x1021fc9c], eax
mov dword [0x10219ae4], eax
call fcn.100e37a0
push 0x3e8
push dword [0x10219adc]
call fcn.100e38a0
push 0x10219aec
call fcn.100e37a0
push 0x14
push dword [0x10219aec]
call fcn.100e38a0
add esp, 0x18
mov eax, dword [0x10219aec]
movsd xmm0, qword [0x101f3b08]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
call fcn.100e38f0
push 0x10219ae8
call fcn.100e37a0
pop ecx
fild dword [0x1021ff48]
fmul qword [0x101f3ad0]
mov edx, dword [0x10219ae8]
fld dword [esp + 0x8c]
fcom st(1)
fnstsw ax
sahf
fcmovbe st(0), st(1)
fstp st(1)
fstp qword [esp + 4]
mov dword [esp], edx
call fcn.100e38f0
push 0x10219af0
call fcn.100e37a0
push 0xa
push dword [0x10219af0]
call fcn.100e38a0
add esp, 0xc
fld qword [esp + 0x60]
mov eax, dword [0x10219af0]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.100e38f0
push 0x10219ae0
call fcn.100e37a0
push 0xa
push dword [0x10219ae0]
call fcn.100e38a0
add esp, 0xc
fld qword [esp + 0x60]
mov eax, dword [0x10219ae0]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.100e38f0
cmp dword [esp + 0x88], 0
je 0x101673c4
push 0x101e5730
push str.c:_anap.txt
call fcn.101bf160
mov ebx, eax
push ebx
push str.a1n14c3f6h8g7
call fcn.101bf177
push ebx
call fcn.101bd510
add esp, 0x14
xor eax, eax
add esp, 0xb4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push 9
push 0xa4
fstp qword [esp + 0x38]
call fcn.100e43b0
fld qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x1021fb80]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100e42f0
fld qword [esp + 0x30]
fstp qword [esp + 0x30]
call fcn.100e4260
fld qword [esp + 0x30]
push eax
push 1
push dword [0x10219a5c]
push dword [0x10219180]
push str.P7847817
fstp qword [esp + 0x44]
call fcn.100e4740
fld qword [esp + 0x44]
add esp, 0x14
mov edx, dword [0x10282f80]
mov dword [0x1021fca4], 1
jmp 0x10166ea4
mov esi, dword [0x1021fd5c]
push 0x10
push esi
call fcn.101beb7a
add esp, 8
mov ebx, eax
cmp dword [0x1021fd5c], 0
jle 0x1016750d
xor edx, edx
mov eax, ebx
mov ecx, dword [0x1021fd40]
dec ecx
cmp ecx, 5
ja case.0x10167481.3
mov ecx, dword [ecx*4 + 0x101f35d0]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x101674b3
mov ecx, dword [0x1021fd54]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x101674b3
mov ecx, dword [0x1021fd54]
fld qword [ecx + edx*8]
jmp 0x101674b3
mov ecx, dword [0x1021fd54]
fild dword [ecx + edx*8]
fstp qword [eax]
mov ecx, dword [0x1021fd40]
dec ecx
cmp ecx, 5
ja case.0x101674c8.3
mov ecx, dword [ecx*4 + 0x101f35e8]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x101674fa
mov ecx, dword [0x1021fd58]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x101674fa
mov ecx, dword [0x1021fd58]
fld qword [ecx + edx*8]
jmp 0x101674fa
mov ecx, dword [0x1021fd58]
fild dword [ecx + edx*8]
fstp qword [eax + 8]
add eax, 0x10
inc edx
cmp edx, dword [0x1021fd5c]
jl 0x1016746e
push 0
mov eax, 0xffffffff
push eax
push eax
push eax
push eax
push closesocket
push esi
push ebx
push str.hg_auslege_strat5_eqd_vertex_num
call fcn.1011e980
push ebx
call fcn.101bceaa
add esp, 0x28
jmp 0x101671cb
mov esi, dword [0x1021fcdc]
test esi, esi
jne 0x1016759b
push 0x10
push 4
call fcn.101beb7a
add esp, 8
mov ebx, eax
fld dword [esp + 0x8c]
movsd xmm0, qword [0x101f3af0]
movsd xmm1, qword [0x101f3af8]
movsd xmm2, qword [0x101f3b00]
fst qword [ebx]
fstp qword [ebx + 8]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 0x18], xmm0
movsd qword [ebx + 0x20], xmm1
movsd qword [ebx + 0x28], xmm1
movsd qword [ebx + 0x30], xmm2
movsd qword [ebx + 0x38], xmm2
mov esi, 4
jmp 0x1016764f
push 0x10
push esi
call fcn.101beb7a
add esp, 8
mov ebx, eax
test esi, esi
jle 0x1016764f
xor edx, edx
mov eax, ebx
mov ecx, dword [0x1021fcc0]
dec ecx
cmp ecx, 5
ja case.0x101675c7.3
mov ecx, dword [ecx*4 + 0x101f35a0]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x101675f9
mov ecx, dword [0x1021fcd4]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x101675f9
mov ecx, dword [0x1021fcd4]
fld qword [ecx + edx*8]
jmp 0x101675f9
mov ecx, dword [0x1021fcd4]
fild dword [ecx + edx*8]
fstp qword [eax]
mov ecx, dword [0x1021fcc0]
dec ecx
cmp ecx, 5
ja case.0x1016760e.3
mov ecx, dword [ecx*4 + 0x101f35b8]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x10167640
mov ecx, dword [0x1021fcd8]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x10167640
mov ecx, dword [0x1021fcd8]
fld qword [ecx + edx*8]
jmp 0x10167640
mov ecx, dword [0x1021fcd8]
fild dword [ecx + edx*8]
fstp qword [eax + 8]
add eax, 0x10
inc edx
cmp edx, esi
jl 0x101675b4
push 0
push 0x82
push 0x172
push 0x158
push 0x2fd
push closesocket
push esi
push ebx
push str.hg_links_rechts_plazieren
call fcn.1011e980
mov dword [0x1021fd28], 0x64
push ebx
call fcn.101bceaa
add esp, 0x28
jmp 0x101671be
mov esi, dword [0x1021fd1c]
push 0x10
push esi
call fcn.101beb7a
add esp, 8
mov ebx, eax
cmp dword [0x1021fd1c], 0
jle 0x10167751
xor edx, edx
mov eax, ebx
mov ecx, dword [0x1021fd00]
dec ecx
cmp ecx, 5
ja case.0x101676c5.3
mov ecx, dword [ecx*4 + 0x101f3570]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x101676f7
mov ecx, dword [0x1021fd14]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x101676f7
mov ecx, dword [0x1021fd14]
fld qword [ecx + edx*8]
jmp 0x101676f7
mov ecx, dword [0x1021fd14]
fild dword [ecx + edx*8]
fstp qword [eax]
mov ecx, dword [0x1021fd00]
dec ecx
cmp ecx, 5
ja case.0x1016770c.3
mov ecx, dword [ecx*4 + 0x101f3588]
jmp ecx
fld qword [0x101f3ac0]
jmp 0x1016773e
mov ecx, dword [0x1021fd18]
movsx edi, byte [ecx + edx*8]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
jmp 0x1016773e
mov ecx, dword [0x1021fd18]
fld qword [ecx + edx*8]
jmp 0x1016773e
mov ecx, dword [0x1021fd18]
fild dword [ecx + edx*8]
fstp qword [eax + 8]
add eax, 0x10
inc edx
cmp edx, dword [0x1021fd1c]
jl 0x101676b2
push 0
push 0x82
push 0x172
push 0xbb
push 0x2fd
push closesocket
push esi
push ebx
push str.hg_auslege_reihenfolge_exp
call fcn.1011e980
push ebx
call fcn.101bceaa
add esp, 0x28
jmp 0x101671b1
mov edi, dword [0x1021ff48]
lea esi, [edi*4]
push esi
call fcn.101bcde0
mov dword [esp + 0x6c], eax
push esi
call fcn.101bcde0
mov dword [esp + 0x74], eax
lea ebx, [edi*8]
push ebx
call fcn.101bcde0
mov dword [esp + 0x7c], eax
mov eax, edi
shl eax, 4
push eax
call fcn.101bcde0
mov dword [esp + 0x84], eax
push esi
call fcn.101bcde0
mov dword [esp + 0x8c], eax
push ebx
call fcn.101bcde0
mov dword [esp + 0x94], eax
mov eax, dword [0x102202f0]
shl eax, 2
push eax
call fcn.101bcde0
mov dword [esp + 0x9c], eax
mov eax, dword [0x102202f0]
shl eax, 2
push eax
call fcn.101bcde0
mov dword [esp + 0xa4], eax
mov eax, dword [0x102202f0]
shl eax, 2
push eax
call fcn.101bcde0
add esp, 0x24
mov ebx, eax
mov edx, dword [0x102202f0]
test edx, edx
jle 0x10167850
xor esi, esi
mov eax, esi
shl eax, 4
add eax, 0x10
push eax
call fcn.101bcde0
pop ecx
mov dword [ebx + esi*4], eax
mov edx, dword [0x102202f0]
inc esi
cmp esi, edx
jl 0x1016782d
mov edi, dword [0x1021ff48]
xor esi, esi
test edi, edi
jle 0x10167943
mov eax, dword [0x10219190]
mov dword [esp + 0x90], ebx
mov edx, 1
mov dword [esp + 0x30], edx
mov ebx, dword [0x1021fee0]
mov edi, dword [esp + 0x30]
imul ebx, dword [ebx + edi*4], 0xa10
mov eax, dword [eax + ebx + 0xd0]
mov edi, dword [eax]
mov edx, dword [edi + 0x10]
shl edx, 4
push edx
call fcn.101bcde0
mov edx, dword [esp + 0x6c]
mov dword [edx + esi*4], eax
mov ecx, dword [edi + 0x10]
shl ecx, 4
push ecx
push dword [edi]
push eax
call fcn.101d7590
add esp, 0x10
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [edi + 0x10]
mov dword [edx + esi*4], eax
movsd xmm0, qword [edi + 0x18]
mov edx, dword [0x10219190]
mov edi, dword [esp + 0x74]
movsd qword [ecx + esi*8], xmm0
movsd xmm1, qword [edx + ebx + 0x78]
mov eax, esi
shl eax, 4
movsd qword [edi + eax], xmm1
movsd xmm2, qword [edx + ebx + 0x80]
movsd qword [edi + eax + 8], xmm2
mov edi, dword [esp + 0x78]
mov ecx, dword [edx + ebx + 0x888]
mov dword [edi + esi*4], ecx
mov eax, dword [0x10219190]
mov edi, dword [esp + 0x30]
mov edx, dword [ebx + eax + 0x87c]
mov ebx, dword [0x10220308]
mov ecx, dword [ebx + edx*4]
movsd xmm3, qword [ecx + 0x28]
inc edi
mov ebx, dword [esp + 0x7c]
movsd qword [ebx + esi*8], xmm3
mov dword [esp + 0x30], edi
inc esi
cmp edi, dword [0x1021ff48]
jle 0x1016786f
mov ebx, dword [esp + 0x90]
mov edx, dword [0x102202f0]
test edx, edx
jle 0x10167a60
fld qword [esp + 0x58]
mov dword [esp + 0x40], esi
mov dword [esp + 0x90], ebx
xor eax, eax
mov esi, dword [0x10220300]
mov edx, dword [0x10219190]
mov ebx, dword [esp + 0x84]
mov edi, dword [esi + eax*4]
mov esi, dword [edi]
imul edi, esi, 0xa10
test eax, eax
lea ecx, [edx + edi + 0x820]
mov dword [ebx + eax*4], ecx
mov edx, dword [0x10219190]
mov ebx, dword [esp + 0x80]
mov ecx, dword [edi + edx + 0x980]
mov dword [ebx + eax*4], ecx
jl 0x10167a44
mov ecx, dword [0x10282f80]
mov ebx, dword [0x102202cc]
mov dword [esp + 0x98], ecx
mov ecx, dword [0x10219190]
xor edx, edx
test ebx, ebx
je 0x10167f12
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x38], eax
mov eax, 1
cmp dword [esp + 0x98], 0
jle 0x10167a1f
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
mov ecx, 0xa10
cmp edx, dword [ecx + ebx + 0x888]
jne 0x10167a14
cmp eax, edi
jne 0x10167e96
add ecx, 0xa10
inc eax
cmp eax, esi
jle 0x10167a03
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x38]
mov ecx, dword [ebx + edi*4]
shl eax, 4
fst qword [eax + ecx + 8]
mov esi, dword [ebx + edi*4]
fst qword [eax + esi]
inc edx
cmp edx, edi
jle 0x101679dd
lea esi, [esi]
mov eax, edi
mov edx, dword [0x102202f0]
inc eax
cmp eax, edx
jl 0x1016795c
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
fstp st(0)
cmp dword [0x1021f6c8], 0
je 0x10167ad4
mov eax, dword [0x1021f690]
test eax, eax
jne 0x10167a84
movsd xmm3, qword [0x1021f6c0]
movsd xmm2, qword [0x1021f8d8]
jmp 0x10167ac8
mov ecx, dword [0x1021f6b4]
mov edi, dword [ecx + eax*4 - 4]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 4]
shl ecx, 4
mov dword [esp + 0x30], edx
mov edx, dword [edi]
mov edi, dword [eax]
movsd xmm3, qword [ecx + edx]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
shl edi, 4
subsd xmm3, qword [edi + edx]
shl ecx, 4
movsd xmm2, qword [ecx + edx + 8]
shl eax, 4
subsd xmm2, qword [eax + edx + 8]
mov edx, dword [esp + 0x30]
mov dword [0x10219b44], 3
jmp 0x10167aee
movsd xmm2, qword [0x1021f8d8]
movsd xmm3, qword [0x101f3ae8]
mov dword [0x10219b44], 1
mov ecx, 3
xor eax, eax
cmp dword [0x1021f654], 1
cmove ecx, eax
cmp edx, 1
jg 0x10167b1f
cmp esi, 1
jle 0x10167b1f
cmp dword [0x102202ec], 0
jne 0x10167b1f
cmp dword [0x1021f690], 1
jle 0x10167bd1
mov dword [0x1021f838], 0
test esi, esi
jle 0x10167b4f
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x68]
xor edi, edi
push dword [ebx + edi*4]
call fcn.101bceaa
pop ecx
inc edi
cmp edi, esi
jl 0x10167b3a
mov ebx, dword [esp + 0x90]
push dword [esp + 0x68]
call fcn.101bceaa
push dword [esp + 0x70]
call fcn.101bceaa
push dword [esp + 0x78]
call fcn.101bceaa
push dword [esp + 0x80]
call fcn.101bceaa
push dword [esp + 0x90]
call fcn.101bceaa
push dword [esp + 0x98]
call fcn.101bceaa
add esp, 0x18
cmp dword [0x102202f0], 0
jle 0x10167bae
xor esi, esi
push dword [ebx + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, dword [0x102202f0]
jl 0x10167b9c
push ebx
call fcn.101bceaa
push dword [esp + 0x7c]
call fcn.101bceaa
push dword [esp + 0x84]
call fcn.101bceaa
add esp, 0xc
jmp 0x1016719a
push fcn.10166290
push 0x100eddc0
push 0x100eda30
push ecx
push esi
push edx
push ebx
push dword [esp + 0xa0]
push dword [esp + 0xa0]
push dword [esp + 0xa0]
push dword [esp + 0xa0]
push dword [esp + 0xa0]
push dword [esp + 0x9c]
push dword [esp + 0xa4]
push dword [esp + 0xa0]
movsd qword [esp + 0x6c], xmm2
movsd qword [esp + 0x74], xmm3
call fcn.10079c30
movsd xmm3, qword [esp + 0x74]
movsd xmm2, qword [esp + 0x6c]
add esp, 0x3c
cmp eax, 1
je 0x10167cac
test eax, eax
je 0x10167c54
mov dword [0x1021f838], 0
jmp 0x10167b2d
cmp dword [0x102202f0], 1
jg 0x10167b2d
mov dword [0x1021f838], 1
movsd xmm0, qword [0x1021fb90]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [0x1021fb98]
movsd qword [eax + 8], xmm1
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x18], xmm3
mov dword [esp + 0x20], 0x10219b3c
mov dword [esp + 0x24], 0x10219b40
call fcn.10078780
cmp eax, 1
jne 0x10167cc5
mov dword [0x1021fca4], 1
mov dword [0x1021f838], 0
jmp 0x10167b2d
cmp eax, 2
jne 0x10167cd9
mov dword [0x1021f838], 0
jmp 0x10167b2d
fld qword [0x101f3b10]
fstp st(0)
movsd xmm1, qword [0x101f3b18]
movsd xmm0, qword [0x101f3b20]
xor edi, edi
xor edx, edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x90], ebx
cmp dword [0x102202f0], 0
jle 0x10167e60
mov ebx, edx
fld qword [0x101f3b10]
mov edx, dword [0x10219b3c]
mov ecx, dword [edx + ebx*4]
fld qword [ecx + edi*8]
fprem
fnstsw ax
sahf
jp 0x10167d21
fstp st(1)
fld qword [esp + 0x58]
fxch st(1)
fstp qword [ecx + edi*8]
mov ecx, dword [edx + ebx*4]
fld qword [ecx + edi*8]
fxch st(1)
fcomp st(1)
fnstsw ax
sahf
jbe 0x10167d4b
fadd qword [0x101f3b10]
fst qword [ecx + edi*8]
fstp st(0)
fld qword [0x101f3b10]
mov esi, dword [0x10219b40]
mov ecx, dword [esi + ebx*4]
fld qword [ecx + edi*8]
fprem
fnstsw ax
sahf
jp 0x10167d5f
fstp st(1)
fld qword [esp + 0x58]
fxch st(1)
fstp qword [ecx + edi*8]
mov ecx, dword [esi + ebx*4]
fld qword [ecx + edi*8]
fxch st(1)
fcomp st(1)
fnstsw ax
sahf
jbe 0x10167d89
fadd qword [0x101f3b10]
fst qword [ecx + edi*8]
fstp st(0)
mov esi, dword [0x10220300]
mov ecx, dword [0x10219190]
mov eax, dword [esi + ebx*4]
imul esi, dword [eax], 0xa10
mov edx, dword [edx + ebx*4]
movsd xmm0, qword [edx + edi*8]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x10], 0
lea eax, [ecx + esi + 0x820]
mov dword [esp], eax
lea eax, [esp + 0x30]
mov dword [esp + 0xc], eax
call fcn.100ee900
movsd xmm1, qword [esp + 0x30]
comisd xmm1, xmmword [0x101f3b18]
ja 0x10167e88
movsd xmm0, qword [0x101f3b20]
comisd xmm0, xmm1
ja 0x10167e88
mov eax, dword [0x10219190]
mov ecx, dword [0x10219b40]
mov dword [esp + 0x10], 0
lea edx, [eax + esi + 0x820]
mov esi, dword [ecx + ebx*4]
movsd xmm0, qword [esi + edi*8]
movsd qword [esp + 4], xmm0
mov dword [esp], edx
lea eax, [esp + 0x30]
mov dword [esp + 0xc], eax
call fcn.100ee900
movsd xmm1, qword [esp + 0x30]
comisd xmm1, xmmword [0x101f3b18]
ja 0x10167e7a
movsd xmm0, qword [0x101f3b20]
comisd xmm0, xmm1
ja 0x10167e7a
inc ebx
cmp ebx, dword [0x102202f0]
jl 0x10167d0f
nop
lea esi, [esi]
xor edx, edx
inc edi
cmp edi, 2
jle 0x10167d00
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
jmp 0x10167b2d
xor edx, edx
mov dword [0x1021f838], 0
jmp 0x10167e60
xor edx, edx
mov dword [0x1021f838], 0
jmp 0x10167e60
test eax, eax
jle 0x10167a1f
cmp dword [esp + 0x94], 0
jle 0x10167a1f
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov edi, dword [esi + ebx + 0x898]
mov ebx, dword [ecx + esi + 0x898]
cmp edi, ebx
mov esi, edi
mov ecx, dword [esp + 0x90]
jge 0x10167ed1
mov esi, ebx
cmovl ebx, edi
shl eax, 4
inc edx
mov edi, dword [esp + 0x38]
mov ecx, dword [ecx + edi*4]
mov edi, dword [esp + 0x30]
mov esi, dword [edi + esi*4]
shl ebx, 4
movsd xmm0, qword [ebx + esi]
cmp edx, dword [esp + 0x38]
movsd qword [ecx + eax], xmm0
movsd xmm1, qword [ebx + esi + 8]
movsd qword [ecx + eax + 8], xmm1
jle 0x101679dd
mov eax, dword [esp + 0x38]
jmp 0x10167a44
mov esi, dword [esp + 0x90]
movsd xmm0, qword [0x102202d0]
mov ecx, dword [esi + eax*4]
mov ebx, edx
shl ebx, 4
movsd qword [ecx + ebx], xmm0
movsd xmm1, qword [0x102202d8]
movsd qword [ecx + ebx + 8], xmm1
inc edx
cmp edx, eax
jle 0x10167f19
mov dword [esp + 0x90], esi
jmp 0x10167a44
xor eax, eax
mov edi, 1
add eax, dword [esi + edi*4 + 0x3e8]
inc edi
cmp edi, 0x11
jle 0x10167f54
cmp ebx, eax
cmovl ebx, eax
mov dword [0x1021f9d0], ebx
jmp 0x10166f61
cmp dword [esi + ecx + 0x5c], 0
je 0x10166f06
cmp dword [esi + ecx + 0x948], 1
jne 0x10166f06
fstp st(2)
fstp st(2)
fild dword [esi + ecx + 0x70]
fld qword [esi + ecx + 0x48]
fmul st(1)
faddp st(2)
fld st(1)
fld qword [esi + ecx + 0x50]
fmulp st(2)
fxch st(1)
faddp st(3)
fld st(2)
inc eax
mov ebx, eax
fxch st(3)
fxch st(1)
fxch st(2)
jmp 0x10166f06
fstp st(0)
fstp st(0)
fld qword [esp + 0x58]
fst qword [0x1021f950]
fstp qword [0x1021f958]
mov dword [0x1021fc88], 0
jmp 0x10166f27
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
inc esi
mov dword [esp + 0x68], esi
mov dword [0x1021fcb0], esi
mov edx, dword [edx + ebx*4]
imul ecx, dword [edx + ecx*4], 0xa10
lea esi, [edi + 1]
mov edx, dword [esp + 0x70]
movsd xmm1, qword [ecx + edx + 0x48]
comisd xmm1, xmm0
cmova edi, esi
mov dword [esp + 0x6c], edi
jmp 0x10166e59
mov ecx, dword [esp + 0x68]
xor esi, esi
inc ecx
mov dword [0x1021fc78], ecx
jmp 0x10166dc5
cmp dword [ecx + esi + 0x948], 1
je 0x101681b0
movsd xmm0, qword [ecx + esi + 0x48]
movaps xmm1, xmm0
minsd xmm0, qword [0x1021f9c0]
maxsd xmm1, qword [0x1021fc80]
movsd qword [0x1021f9c0], xmm0
movsd qword [0x1021fc80], xmm1
push 1
push ebx
call fcn.100e0540
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
add esp, 8
movsd xmm1, qword [0x1021fca8]
comisd xmm1, xmm0
ja 0x10168098
push 1
push ebx
call fcn.100e0540
fstp qword [esp + 0x40]
movsd xmm1, qword [esp + 0x40]
add esp, 8
movsd qword [0x1021fca8], xmm1
push 1
push ebx
call fcn.100e0800
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
add esp, 8
movsd xmm1, qword [0x1021f9b0]
comisd xmm1, xmm0
ja 0x101680d8
push 1
push ebx
call fcn.100e0800
fstp qword [esp + 0x40]
movsd xmm1, qword [esp + 0x40]
add esp, 8
movsd qword [0x1021f9b0], xmm1
push ebx
call fcn.100ee540
pop ecx
mov ecx, dword [0x10219190]
mov edx, dword [esi + ecx + 0x2c]
mov edi, dword [esi + ecx + 0x24]
movsd xmm0, qword [edx]
subsd xmm0, qword [edi]
comisd xmm0, xmmword [0x1021f9a8]
jbe 0x10168118
cmp eax, 2
je 0x10168110
test eax, eax
jne 0x10168118
movsd qword [0x1021f9a8], xmm0
cmp dword [esi + ecx + 0x928], 0
je 0x1016812c
mov dword [0x1021fb68], 1
mov eax, dword [0x102222a0]
imul edx, dword [eax + ebx*4], 0xa10
mov edi, dword [esp + 0x68]
mov dword [esp + 0x74], edx
mov edx, dword [edx + ecx + 0x70]
add edi, edx
cmp edi, 8
mov dword [esp + 0x70], edx
mov edx, dword [0x10282f80]
mov dword [esp + 0x6c], edi
jg 0x10166d3a
imul eax, dword [eax + 4], 0xa10
mov edi, dword [esp + 0x74]
fld qword [edi + ecx + 0x48]
fld qword [eax + ecx + 0x48]
fmul qword [0x101f3ad0]
fcomp st(1)
fnstsw ax
sahf
jae 0x101682e7
jp 0x101682e7
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x68], eax
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
fmulp st(1)
fld qword [esp + 0x30]
faddp st(1)
fstp qword [esp + 0x30]
mov dword [esp + 0x40], ebx
jmp 0x10166d3a
cmp dword [ecx + esi + 0x84c], 0
jne 0x10168037
cvtsi2sd xmm3, dword [ecx + esi + 0x70]
movsd xmm1, qword [0x1021f9b8]
movsd xmm0, qword [ecx + esi + 0x48]
movaps xmm4, xmm0
mulsd xmm4, xmm3
movsd xmm5, qword [ecx + esi + 0x50]
movaps xmm2, xmm5
mulsd xmm2, xmm3
addsd xmm2, qword [0x1021fcf0]
mov eax, dword [ecx + esi + 0x9fc]
movsd qword [0x1021fcf0], xmm2
movsd xmm2, qword [0x1021fcb8]
addsd xmm1, xmm4
movsd qword [0x1021f9b8], xmm1
test eax, eax
je 0x10168224
movsd xmm1, qword [eax + 0x18]
mulsd xmm3, xmm1
addsd xmm2, xmm3
jmp 0x10168228
addsd xmm2, xmm4
subsd xmm2, xmm0
addsd xmm2, xmm5
movsd qword [0x1021fcb8], xmm2
jmp 0x1016803d
fld qword [esp + 0x58]
jmp 0x10166d4f
push 0x10
call fcn.101bcde0
movsd xmm0, qword [0x101f3ac8]
mov ecx, dword [0x1021f828]
mov edx, dword [ecx + ebx*4]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + ebx*4]
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [eax]
call fcn.100ae040
movsd xmm0, qword [0x101f3ac8]
add esp, 0x10
jmp 0x10166a12
lea eax, [esp + 0x44]
push eax
mov edx, dword [esi + ebx*4]
add edx, 4
push edx
push dword [ecx + 0x10]
push dword [ecx]
call fcn.100b4410
movsd xmm0, qword [0x101f3ac8]
add esp, 0x10
mov eax, dword [0x1021f828]
mov ecx, dword [eax + ebx*4]
jmp 0x10166a08
fadd st(0)
fld qword [0x101f3aa8]
fstp qword [esp + 0x60]
fst qword [0x1021f8d8]
jmp 0x10166925
mov edx, dword [esp + 0x34]
mov dword [0x1021f620], 0
jmp 0x101666d7
fstp st(0)
jmp 0x101668fc
fstp st(0)
jmp 0x10166c78
fstp st(0)
jmp 0x10166d3a