Function at 0x403890
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1a78
call fcn.0041e250
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.MinMaxAt_Points
call fcn.004020c0
add esp, 4
push str.AXIOM1
push 0x44b280
push str._s_s
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x426874
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
cmp dword [0x45d888], 0
je 0x40390c
mov dword [ebp - 0x19d4], 1
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
jmp 0x403916
mov dword [ebp - 0x19d4], 0
push 0x42cc50
push 0x426878
push 0x44b280
push 0x426880
push 0x4696a8
call fcn.00401a20
add esp, 0x14
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x426888
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov ecx, dword [0x45d888]
push ecx
push 1
push 0x480
push 0x44ab88
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x40398e
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
movsx eax, word [0x44e670]
test eax, eax
jle 0x406d1c
mov ecx, 1
mov word [0x42cc4c], cx
jmp 0x4039bd
mov dx, word [0x42cc4c]
add dx, 1
mov word [0x42cc4c], dx
movsx eax, word [0x42cc4c]
movsx ecx, word [0x44e670]
cmp eax, ecx
jg 0x406d1c
movsx edx, word [0x42cc4c]
mov ax, word [edx*2 + 0x476db4]
mov word [0x42ac54], ax
movsx ecx, word [0x42ac54]
push ecx
push 0x42688c
push 0x44b4a2
call fcn.00401a20
add esp, 0xc
movsx edx, word [0x42ac54]
imul eax, edx, 0x48
mov cx, word [eax + 0x44ab8a]
mov word [0x44b3a4], cx
xor edx, edx
mov word [0x47872c], dx
movsx eax, word [0x44b3a4]
test eax, eax
jle 0x406d17
mov cx, word [0x47872c]
mov word [0x44b214], cx
movsx edx, word [0x44b3a4]
movsx eax, word [0x47872c]
sub edx, eax
mov word [0x4697a4], dx
movsx ecx, word [0x4697a4]
movsx edx, word [0x44b374]
sub edx, 1
cmp ecx, edx
jle 0x403a7c
movsx eax, word [0x44b374]
sub eax, 1
mov word [0x4697a4], ax
mov ecx, 1
mov word [ebp - 0x198c], cx
jmp 0x403a9c
mov dx, word [ebp - 0x198c]
add dx, 1
mov word [ebp - 0x198c], dx
movsx eax, word [ebp - 0x198c]
movsx ecx, word [0x46979c]
cmp eax, ecx
jg 0x404004
movsx edx, word [ebp - 0x198c]
movsx eax, word [edx*2 + 0x44b688]
push eax
push 0x426890
push 0x44b018
call fcn.00401a20
add esp, 0xc
push 0x42cc50
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ecx*2 + 0x44b688]
push edx
push 0x44b4a2
push 0x44b280
push 0x426894
push 0x4696a8
call fcn.00401a20
add esp, 0x18
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x4268a0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
push 0
movsx eax, word [0x47872c]
shl eax, 4
push eax
mov ecx, dword [0x45d888]
push ecx
call fcn.0040ea6c
add esp, 0xc
mov edx, 1
mov word [ebp - 0x1988], dx
jmp 0x403b65
mov ax, word [ebp - 0x1988]
add ax, 1
mov word [ebp - 0x1988], ax
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x4697a4]
cmp ecx, edx
jg 0x403c38
mov eax, dword [0x45d888]
push eax
push 1
push 0x10
push 0x469508
call fcn.0040efd7
add esp, 0x10
mov ecx, 4
shl ecx, 0
cvtss2sd xmm0, dword [ecx + 0x469508]
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 0
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
movsd qword [edx + ecx*8], xmm0
movsx eax, word [ebp - 0x198c]
movzx ecx, byte [eax + 0x44b218]
test ecx, ecx
jne 0x403c33
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 0
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b76c]
mulsd xmm0, qword [edx + ecx*8]
mov ecx, 4
shl ecx, 0
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [ebp - 0x1988]
mov ecx, dword [edx + ecx + 0x449f08]
movsd qword [ecx + eax*8], xmm0
jmp 0x403b53
cmp dword [0x45d888], 0
je 0x403c50
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
push 0x42cc50
movsx eax, word [ebp - 0x198c]
movsx ecx, word [eax*2 + 0x44b688]
push ecx
push 0x44b4a2
push 0x44b280
push 0x4268a4
push 0x4696a8
call fcn.00401a20
add esp, 0x18
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x4268b0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
push 0
movsx edx, word [0x47872c]
imul eax, edx, 0x1c
push eax
mov ecx, dword [0x45d888]
push ecx
call fcn.0040ea6c
add esp, 0xc
mov edx, 1
mov word [ebp - 0x1988], dx
jmp 0x403ce1
mov ax, word [ebp - 0x1988]
add ax, 1
mov word [ebp - 0x1988], ax
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x4697a4]
cmp ecx, edx
jg 0x403e0f
mov eax, dword [0x45d888]
push eax
push 1
push 0x1c
push 0x42ce3c
call fcn.0040efd7
add esp, 0x10
mov ecx, 2
mov word [0x44b750], cx
jmp 0x403d2e
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 4
jg 0x403d70
movsx ecx, word [0x44b750]
cvtss2sd xmm0, dword [ecx*4 + 0x42ce38]
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x449f08]
movsd qword [edx + ecx*8], xmm0
jmp 0x403d1c
movsx eax, word [ebp - 0x198c]
movzx ecx, byte [eax + 0x44b218]
test ecx, ecx
jne 0x403e0a
mov edx, 2
mov word [0x44b750], dx
jmp 0x403da4
mov ax, word [0x44b750]
add ax, 1
mov word [0x44b750], ax
movsx ecx, word [0x44b750]
cmp ecx, 4
jg 0x403e0a
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b76c]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [ebp - 0x1988]
mov ecx, dword [edx + ecx*4 + 0x449f08]
movsd qword [ecx + eax*8], xmm0
jmp 0x403d94
jmp 0x403ccf
cmp dword [0x45d888], 0
je 0x403e27
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
push 0x42cc50
movsx eax, word [ebp - 0x198c]
movsx ecx, word [eax*2 + 0x44b688]
push ecx
push 0x44b4a2
push 0x44b280
push 0x4268b4
push 0x4696a8
call fcn.00401a20
add esp, 0x18
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x4268c0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
push 0
movsx edx, word [0x47872c]
shl edx, 4
push edx
mov eax, dword [0x45d888]
push eax
call fcn.0040ea6c
add esp, 0xc
mov ecx, 1
mov word [ebp - 0x1988], cx
jmp 0x403eb7
mov dx, word [ebp - 0x1988]
add dx, 1
mov word [ebp - 0x1988], dx
movsx eax, word [ebp - 0x1988]
movsx ecx, word [0x4697a4]
cmp eax, ecx
jg 0x403fe7
mov edx, dword [0x45d888]
push edx
push 1
push 0x10
push 0x469508
call fcn.0040efd7
add esp, 0x10
mov eax, 1
mov word [0x44b750], ax
jmp 0x403f04
mov cx, word [0x44b750]
add cx, 1
mov word [0x44b750], cx
movsx edx, word [0x44b750]
cmp edx, 3
jg 0x403f46
movsx eax, word [0x44b750]
cvtss2sd xmm0, dword [eax*4 + 0x469508]
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f18]
movsd qword [ecx + eax*8], xmm0
jmp 0x403ef2
movsx edx, word [ebp - 0x198c]
movzx eax, byte [edx + 0x44b218]
test eax, eax
jne 0x403fe2
mov ecx, 1
mov word [0x44b750], cx
jmp 0x403f7c
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 3
jg 0x403fe2
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f18]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42b76c]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax*4 + 0x449f18]
movsd qword [eax + edx*8], xmm0
jmp 0x403f6a
jmp 0x403ea5
cmp dword [0x45d888], 0
je 0x403fff
mov ecx, dword [0x45d888]
push ecx
call fcn.0040e3b0
add esp, 4
jmp 0x403a8a
mov edx, 1
mov word [ebp - 0x1988], dx
jmp 0x404024
mov ax, word [ebp - 0x1988]
add ax, 1
mov word [ebp - 0x1988], ax
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x4697a4]
cmp ecx, edx
jg 0x406a68
mov byte [0x42a3e5], 0
mov byte [0x42aa7f], 0
mov byte [0x42a3e7], 0
call fcn.004037f0
xor eax, eax
mov word [0x44b750], ax
jmp 0x404070
mov cx, word [0x44b750]
add cx, 1
mov word [0x44b750], cx
movsx edx, word [0x44b750]
cmp edx, 7
jg 0x4040ca
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x44b660]
xorps xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x4694e8]
xorps xmm0, xmm0
movsd qword [ecx + edx*8], xmm0
jmp 0x40405e
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
xorps xmm0, xmm0
movsd qword [edx*8 + 0x46b220], xmm0
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ecx*8 + 0x45d960], xmm0
mov eax, 1
mov word [ebp - 0x198c], ax
jmp 0x404122
mov cx, word [ebp - 0x198c]
add cx, 1
mov word [ebp - 0x198c], cx
movsx edx, word [ebp - 0x198c]
movsx eax, word [0x44b27c]
cmp edx, eax
jg 0x4042df
xor ecx, ecx
mov word [ebp - 0x19a8], cx
mov edx, 1
mov word [ebp - 0x1994], dx
jmp 0x404161
mov ax, word [ebp - 0x1994]
add ax, 1
mov word [ebp - 0x1994], ax
movsx ecx, word [ebp - 0x1994]
movsx edx, word [0x46979c]
cmp ecx, edx
jg 0x4042da
movsx eax, word [ebp - 0x1994]
movsx ecx, byte [eax + 0x42ad88]
cmp ecx, 0x47
jne 0x4042d5
movsx edx, word [ebp - 0x1994]
movsx eax, word [edx*2 + 0x42b230]
movsx ecx, word [ebp - 0x198c]
cmp eax, ecx
jne 0x4042d5
movsx edx, word [ebp - 0x19a8]
test edx, edx
jne 0x404214
mov ax, word [ebp - 0x1994]
mov word [ebp - 0x19a8], ax
movsx ecx, word [ebp - 0x1994]
movsx edx, byte [ecx + 0x42ac5e]
cmp edx, 0x41
jne 0x4041f6
movsx eax, word [ebp - 0x1994]
mov byte [eax + 0x42ad88], 0x41
movsx ecx, word [ebp - 0x1994]
mov byte [ecx + 0x42b106], 0x54
jmp 0x404204
movsx edx, word [ebp - 0x1994]
mov byte [edx + 0x42ad88], 0x51
movsx eax, word [ebp - 0x19a8]
mov byte [eax + 0x42c130], 1
jmp 0x404222
movsx ecx, word [ebp - 0x1994]
mov byte [ecx + 0x42c130], 0
movsx edx, word [ebp - 0x1994]
movsx eax, word [ebp - 0x19a8]
cmp edx, eax
je 0x4042d5
mov ecx, 1
mov word [0x44b750], cx
jmp 0x404258
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x4042d5
movsx ecx, word [ebp - 0x19a8]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f08]
movsx edx, word [ebp - 0x1994]
shl edx, 5
movsx esi, word [0x44b750]
movsx edi, word [ebp - 0x1988]
mov edx, dword [edx + esi*4 + 0x449f08]
movsd xmm0, qword [ecx + eax*8]
addsd xmm0, qword [edx + edi*8]
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x19a8]
shl ecx, 5
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax*4 + 0x449f08]
movsd qword [eax + edx*8], xmm0
jmp 0x404246
jmp 0x40414f
jmp 0x404110
movsd xmm0, qword [0x426cd8]
movsd qword [ebp - 0x19f0], xmm0
movsd xmm0, qword [0x426cc8]
movsd qword [ebp - 0x1a08], xmm0
mov ecx, 1
mov word [ebp - 0x198c], cx
jmp 0x40431f
mov dx, word [ebp - 0x198c]
add dx, 1
mov word [ebp - 0x198c], dx
movsx eax, word [ebp - 0x198c]
movsx ecx, word [0x46979c]
cmp eax, ecx
jg 0x4049d6
movsx edx, word [ebp - 0x198c]
movsx eax, byte [edx + 0x42b106]
cmp eax, 0x54
jne 0x4049d1
mov ecx, 1
mov word [0x44b750], cx
jmp 0x40436c
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x4049d1
movsx ecx, word [0x44b750]
cmp ecx, 2
jne 0x4048e9
lea edx, [ebp - 0x19b4]
push edx
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
shl ecx, 2
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx + 0x449f08]
sub esp, 8
movsd xmm0, qword [eax + edx*8]
movsd qword [esp], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
imul eax, edx, 3
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax + 0x449f08]
sub esp, 8
movsd xmm0, qword [eax + edx*8]
movsd qword [esp], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
shl edx, 1
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx + 0x449f08]
sub esp, 8
movsd xmm0, qword [ecx + eax*8]
movsd qword [esp], xmm0
call fcn.00402c50
add esp, 0x1c
fstp qword [ebp - 0x1a28]
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
imul ecx, eax, 3
movsx eax, word [ebp - 0x1988]
mov ecx, dword [edx + ecx + 0x449f08]
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov esi, 4
shl esi, 2
movsx edi, word [ebp - 0x1988]
mov edx, dword [edx + esi + 0x449f08]
movsd xmm0, qword [ecx + eax*8]
comisd xmm0, xmmword [edx + edi*8]
jbe 0x4044a2
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
imul edx, ecx, 3
movsx ecx, word [ebp - 0x1988]
mov edx, dword [eax + edx + 0x449f08]
movsd xmm0, qword [edx + ecx*8]
movsd qword [ebp - 0x1a58], xmm0
jmp 0x4044cf
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
shl ecx, 2
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx + 0x449f08]
movsd xmm0, qword [eax + edx*8]
movsd qword [ebp - 0x1a58], xmm0
movsd xmm0, qword [ebp - 0x1a58]
movsd qword [ebp - 0x19e8], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
imul eax, edx, 3
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax + 0x449f08]
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov esi, 4
shl esi, 2
movsx edi, word [ebp - 0x1988]
mov ecx, dword [ecx + esi + 0x449f08]
movsd xmm0, qword [ecx + edi*8]
comisd xmm0, xmmword [eax + edx*8]
jbe 0x40455a
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
imul ecx, eax, 3
movsx eax, word [ebp - 0x1988]
mov ecx, dword [edx + ecx + 0x449f08]
movsd xmm0, qword [ecx + eax*8]
movsd qword [ebp - 0x1a60], xmm0
jmp 0x404587
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 2
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
movsd xmm0, qword [edx + ecx*8]
movsd qword [ebp - 0x1a60], xmm0
movsd xmm0, qword [ebp - 0x1a60]
movsd qword [ebp - 0x1a00], xmm0
mov eax, 4
imul ecx, eax, 0
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x4694e8]
movsd xmm0, qword [ebp - 0x1a28]
comisd xmm0, xmmword [ecx + edx*8]
jae 0x4045f2
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
movsd xmm0, qword [ebp - 0x19b4]
mulsd xmm0, qword [edx*8 + 0x46b220]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x40473a
movsd xmm0, qword [ebp - 0x19e8]
comisd xmm0, xmmword [ebp - 0x19f0]
jbe 0x40473a
movsd xmm0, qword [ebp - 0x19e8]
movsd qword [ebp - 0x19f0], xmm0
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
movsd xmm0, qword [ebp - 0x19b4]
movsd qword [ecx*8 + 0x46b220], xmm0
mov eax, 4
imul ecx, eax, 0
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x4694e8]
movsd xmm0, qword [ebp - 0x1a28]
movsd qword [ecx + edx*8], xmm0
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 1
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
mov eax, 4
shl eax, 1
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov eax, dword [eax + 0x4694e8]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax + esi*8], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
imul eax, edx, 3
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax + 0x449f08]
mov ecx, 4
imul ecx, ecx, 3
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov ecx, dword [ecx + 0x4694e8]
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx + esi*8], xmm0
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 2
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
mov eax, 4
shl eax, 2
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov eax, dword [eax + 0x4694e8]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax + esi*8], xmm0
mov ecx, 4
imul edx, ecx, 0
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x44b660]
movsd xmm0, qword [ebp - 0x1a28]
comisd xmm0, xmmword [edx + eax*8]
jae 0x404795
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
movsd xmm0, qword [ebp - 0x19b4]
mulsd xmm0, qword [eax*8 + 0x45d960]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x4048dd
movsd xmm0, qword [ebp - 0x1a08]
comisd xmm0, xmmword [ebp - 0x1a00]
jbe 0x4048dd
movsd xmm0, qword [ebp - 0x1a00]
movsd qword [ebp - 0x1a08], xmm0
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
movsd xmm0, qword [ebp - 0x19b4]
movsd qword [edx*8 + 0x45d960], xmm0
mov ecx, 4
imul edx, ecx, 0
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x44b660]
movsd xmm0, qword [ebp - 0x1a28]
movsd qword [edx + eax*8], xmm0
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
shl ecx, 1
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx + 0x449f08]
mov ecx, 4
shl ecx, 1
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov ecx, dword [ecx + 0x44b660]
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx + esi*8], xmm0
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
imul ecx, eax, 3
movsx eax, word [ebp - 0x1988]
mov ecx, dword [edx + ecx + 0x449f08]
mov edx, 4
imul edx, edx, 3
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov edx, dword [edx + 0x44b660]
movsd xmm0, qword [ecx + eax*8]
movsd qword [edx + esi*8], xmm0
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
shl ecx, 2
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx + 0x449f08]
mov ecx, 4
shl ecx, 2
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov ecx, dword [ecx + 0x44b660]
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx + esi*8], xmm0
mov edx, 5
mov word [0x44b750], dx
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x449f08]
movsd xmm0, qword [eax + edx*8]
movsd qword [0x44e678], xmm0
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x4694e8]
movsd xmm0, qword [0x44e678]
comisd xmm0, xmmword [ecx + edx*8]
jbe 0x40496d
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx*4 + 0x4694e8]
movsd xmm0, qword [0x44e678]
movsd qword [edx + eax*8], xmm0
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x44b660]
movsd xmm0, qword [eax + ecx*8]
comisd xmm0, xmmword [0x44e678]
jbe 0x4049c5
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x44b660]
movsd xmm0, qword [0x44e678]
movsd qword [ecx + edx*8], xmm0
mov byte [0x42a3e5], 1
jmp 0x40435a
jmp 0x40430d
movzx edx, byte [0x42a3e5]
test edx, edx
je 0x404ba0
mov eax, 1
mov word [ebp - 0x198c], ax
jmp 0x404a05
mov cx, word [ebp - 0x198c]
add cx, 1
mov word [ebp - 0x198c], cx
movsx edx, word [ebp - 0x198c]
movsx eax, word [0x46979c]
cmp edx, eax
jg 0x404ba0
movsx ecx, word [ebp - 0x198c]
movsx edx, byte [ecx + 0x42b106]
cmp edx, 0x54
jne 0x404ade
movzx eax, byte [0x42a3e7]
test eax, eax
jne 0x404ade
mov ecx, 1
mov word [0x44b750], cx
jmp 0x404a61
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x404ab6
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x4694e8]
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx esi, word [0x44b750]
movsx edi, word [ebp - 0x1988]
mov eax, dword [eax + esi*4 + 0x449f08]
movsd xmm0, qword [ecx + edx*8]
movsd qword [eax + edi*8], xmm0
jmp 0x404a4f
mov byte [0x42a3e7], 1
movsx ecx, word [ebp - 0x198c]
mov byte [ecx + 0x42ad88], 0x58
movsx edx, word [ebp - 0x198c]
mov byte [edx + 0x42c130], 1
jmp 0x4049f3
movsx eax, word [ebp - 0x198c]
movsx ecx, byte [eax + 0x42b106]
cmp ecx, 0x54
jne 0x404b9b
movzx edx, byte [0x42aa7f]
test edx, edx
jne 0x404b9b
mov eax, 1
mov word [0x44b750], ax
jmp 0x404b23
mov cx, word [0x44b750]
add cx, 1
mov word [0x44b750], cx
movsx edx, word [0x44b750]
cmp edx, 7
jg 0x404b78
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x44b660]
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx esi, word [0x44b750]
movsx edi, word [ebp - 0x1988]
mov edx, dword [edx + esi*4 + 0x449f08]
movsd xmm0, qword [eax + ecx*8]
movsd qword [edx + edi*8], xmm0
jmp 0x404b11
mov byte [0x42aa7f], 1
movsx eax, word [ebp - 0x198c]
mov byte [eax + 0x42ad88], 0x4d
movsx ecx, word [ebp - 0x198c]
mov byte [ecx + 0x42c130], 1
jmp 0x4049f3
movsx edx, word [0x46979c]
push edx
call fcn.004021f0
add esp, 4
movzx eax, byte [0x42a3e5]
test eax, eax
je 0x404c3a
mov ecx, 1
mov word [0x44b750], cx
jmp 0x404bdb
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x404c35
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x44b660]
xorps xmm0, xmm0
movsd qword [ecx + edx*8], xmm0
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx*4 + 0x4694e8]
xorps xmm0, xmm0
movsd qword [edx + eax*8], xmm0
jmp 0x404bc9
call fcn.004037f0
mov dword [ebp - 0x19ac], 0
call fcn.00401300
mov eax, 1
mov word [ebp - 0x198c], ax
jmp 0x404c69
mov cx, word [ebp - 0x198c]
add cx, 1
mov word [ebp - 0x198c], cx
movsx edx, word [ebp - 0x198c]
movsx eax, word [0x46979c]
cmp edx, eax
jg 0x4058a5
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ecx*2 + 0x42b484]
cmp edx, 1
je 0x404cab
movsx eax, word [ebp - 0x198c]
movsx ecx, word [eax*2 + 0x42b484]
cmp ecx, 0xc
jne 0x4058a0
movsx edx, word [ebp - 0x198c]
movss xmm0, dword [0x426c90]
movss dword [edx*4 + 0x42baf0], xmm0
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [0x426c90]
movss dword [eax*4 + 0x42b960], xmm0
movsx ecx, word [ebp - 0x198c]
movss xmm0, dword [0x426c90]
movss dword [ecx*4 + 0x42bc80], xmm0
mov edx, 1
mov word [0x44b750], dx
jmp 0x404d11
mov ax, word [0x44b750]
add ax, 1
mov word [0x44b750], ax
movsx ecx, word [0x44b750]
cmp ecx, 7
jg 0x4058a0
movsx edx, word [0x44b750]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x19b8]
sub eax, 1
mov dword [ebp - 0x19b8], eax
cmp dword [ebp - 0x19b8], 6
ja case.default.0x404d50
mov ecx, dword [ebp - 0x19b8]
jmp dword [ecx*4 + 0x406d2c]
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b960]
mulsd xmm0, qword [edx + ecx*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a0], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f08]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42baf0]
mulsd xmm0, qword [ecx + eax*8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a4], xmm0
movss xmm0, dword [ebp - 0x19a4]
comiss xmm0, dword [ebp - 0x19a0]
jbe 0x404dfa
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x19e0], xmm0
jmp 0x404e0a
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x19e0], xmm0
movss xmm0, dword [ebp - 0x19e0]
movss dword [ebp - 0x1998], xmm0
movss xmm0, dword [ebp - 0x19a0]
comiss xmm0, dword [ebp - 0x19a4]
jbe 0x404e3d
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x1a14], xmm0
jmp 0x404e4d
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x1a14], xmm0
movss xmm0, dword [ebp - 0x1a14]
movss dword [ebp - 0x199c], xmm0
movsx eax, word [ebp - 0x198c]
movsx ecx, byte [eax + 0x42b106]
cmp ecx, 0x57
je 0x404f12
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx*4 + 0x44b660]
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [edx + eax*8]
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x44b214]
add edx, ecx
mov eax, dword [eax*4 + 0x44b660]
movsd qword [eax + edx*8], xmm0
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x4694e8]
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [ecx + edx*8]
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
movsx ecx, word [0x44b214]
add ecx, eax
mov edx, dword [edx*4 + 0x4694e8]
movsd qword [edx + ecx*8], xmm0
jmp 0x404f74
mov dword [ebp - 0x19ac], 1
movsx eax, word [0x44b750]
imul ecx, eax, 0x2c
movsx edx, word [ebp - 0x198c]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x42c720]
movss xmm0, dword [ebp - 0x1998]
movss dword [ecx + eax*4], xmm0
movsx edx, word [0x44b750]
imul eax, edx, 0x2c
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x42c930]
movss xmm0, dword [ebp - 0x199c]
movss dword [eax + edx*4], xmm0
jmp case.default.0x404d50
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f08]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42b960]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm1, dword [eax*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a0], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f08]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42baf0]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm1, dword [eax*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a4], xmm0
movss xmm0, dword [ebp - 0x19a4]
comiss xmm0, dword [ebp - 0x19a0]
jbe 0x405044
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x1a18], xmm0
jmp 0x405054
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x1a18], xmm0
movss xmm0, dword [ebp - 0x1a18]
movss dword [ebp - 0x1998], xmm0
movss xmm0, dword [ebp - 0x19a0]
comiss xmm0, dword [ebp - 0x19a4]
jbe 0x405087
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x1a1c], xmm0
jmp 0x405097
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x1a1c], xmm0
movss xmm0, dword [ebp - 0x1a1c]
movss dword [ebp - 0x199c], xmm0
movsx ecx, word [ebp - 0x198c]
movsx edx, byte [ecx + 0x42b106]
cmp edx, 0x57
je 0x4051bf
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x44b660]
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [eax + ecx*8]
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
movsx eax, word [0x44b214]
add eax, edx
mov ecx, dword [ecx*4 + 0x44b660]
movsd qword [ecx + eax*8], xmm0
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx*4 + 0x4694e8]
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [edx + eax*8]
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x44b214]
add edx, ecx
mov eax, dword [eax*4 + 0x4694e8]
movsd qword [eax + edx*8], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x44b110]
movsd qword [0x44b110], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x476dd8]
movsd qword [0x476dd8], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x45d890]
movsd qword [0x45d890], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x449d70]
movsd qword [0x449d70], xmm0
jmp 0x405281
mov dword [ebp - 0x19ac], 1
movsx ecx, word [0x44b750]
imul edx, ecx, 0x2c
movsx eax, word [ebp - 0x198c]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x42c720]
movss xmm0, dword [ebp - 0x1998]
movss dword [edx + ecx*4], xmm0
movsx eax, word [0x44b750]
imul ecx, eax, 0x2c
movsx edx, word [ebp - 0x198c]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x42c930]
movss xmm0, dword [ebp - 0x199c]
movss dword [ecx + eax*4], xmm0
movsx edx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [edx*4 + 0x42c8d8], xmm0
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [eax*4 + 0x42abd0], xmm0
movsx ecx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [ecx*4 + 0x42abfc], xmm0
movsx edx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [edx*4 + 0x42c880], xmm0
jmp case.default.0x404d50
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a0], xmm0
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42baf0]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a4], xmm0
movss xmm0, dword [ebp - 0x19a4]
comiss xmm0, dword [ebp - 0x19a0]
jbe 0x405351
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x1a20], xmm0
jmp 0x405361
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x1a20], xmm0
movss xmm0, dword [ebp - 0x1a20]
movss dword [ebp - 0x1998], xmm0
movss xmm0, dword [ebp - 0x19a0]
comiss xmm0, dword [ebp - 0x19a4]
jbe 0x405394
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x19cc], xmm0
jmp 0x4053a4
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x19cc], xmm0
movss xmm0, dword [ebp - 0x19cc]
movss dword [ebp - 0x199c], xmm0
movsx eax, word [ebp - 0x198c]
movsx ecx, byte [eax + 0x42b106]
cmp ecx, 0x57
je 0x4054cc
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx*4 + 0x44b660]
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [edx + eax*8]
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x44b214]
add edx, ecx
mov eax, dword [eax*4 + 0x44b660]
movsd qword [eax + edx*8], xmm0
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x4694e8]
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [ecx + edx*8]
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
movsx ecx, word [0x44b214]
add ecx, eax
mov edx, dword [edx*4 + 0x4694e8]
movsd qword [edx + ecx*8], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x4842b8]
movsd qword [0x4842b8], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x44b758]
movsd qword [0x44b758], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x45d880]
movsd qword [0x45d880], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x44b118]
movsd qword [0x44b118], xmm0
jmp 0x40558e
mov dword [ebp - 0x19ac], 1
movsx eax, word [0x44b750]
imul ecx, eax, 0x2c
movsx edx, word [ebp - 0x198c]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x42c720]
movss xmm0, dword [ebp - 0x1998]
movss dword [ecx + eax*4], xmm0
movsx edx, word [0x44b750]
imul eax, edx, 0x2c
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x42c930]
movss xmm0, dword [ebp - 0x199c]
movss dword [eax + edx*4], xmm0
movsx ecx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [ecx*4 + 0x42c6f4], xmm0
movsx edx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [edx*4 + 0x42c8ac], xmm0
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [eax*4 + 0x42ac28], xmm0
movsx ecx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [ecx*4 + 0x42aba4], xmm0
jmp case.default.0x404d50
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b960]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [ecx*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a0], xmm0
movsx edx, word [ebp - 0x198c]
shl edx, 5
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42baf0]
mulsd xmm0, qword [edx + ecx*8]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [ecx*4 + 0x42bc80]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x19a4], xmm0
movss xmm0, dword [ebp - 0x19a4]
comiss xmm0, dword [ebp - 0x19a0]
jbe 0x40565e
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x19dc], xmm0
jmp 0x40566e
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x19dc], xmm0
movss xmm0, dword [ebp - 0x19dc]
movss dword [ebp - 0x1998], xmm0
movss xmm0, dword [ebp - 0x19a0]
comiss xmm0, dword [ebp - 0x19a4]
jbe 0x4056a1
movss xmm0, dword [ebp - 0x19a0]
movss dword [ebp - 0x19d0], xmm0
jmp 0x4056b1
movss xmm0, dword [ebp - 0x19a4]
movss dword [ebp - 0x19d0], xmm0
movss xmm0, dword [ebp - 0x19d0]
movss dword [ebp - 0x199c], xmm0
movsx edx, word [ebp - 0x198c]
movsx eax, byte [edx + 0x42b106]
cmp eax, 0x57
je 0x4057d9
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx*4 + 0x44b660]
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [ecx + edx*8]
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
movsx ecx, word [0x44b214]
add ecx, eax
mov edx, dword [edx*4 + 0x44b660]
movsd qword [edx + ecx*8], xmm0
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x4694e8]
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [eax + ecx*8]
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
movsx eax, word [0x44b214]
add eax, edx
mov ecx, dword [ecx*4 + 0x4694e8]
movsd qword [ecx + eax*8], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x46b218]
movsd qword [0x46b218], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x476da8]
movsd qword [0x476da8], xmm0
cvtss2sd xmm0, dword [ebp - 0x1998]
addsd xmm0, qword [0x44b010]
movsd qword [0x44b010], xmm0
cvtss2sd xmm0, dword [ebp - 0x199c]
addsd xmm0, qword [0x44b680]
movsd qword [0x44b680], xmm0
jmp case.default.0x404d50
mov dword [ebp - 0x19ac], 1
movsx edx, word [0x44b750]
imul eax, edx, 0x2c
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x42c720]
movss xmm0, dword [ebp - 0x1998]
movss dword [eax + edx*4], xmm0
movsx ecx, word [0x44b750]
imul edx, ecx, 0x2c
movsx eax, word [ebp - 0x198c]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax*4 + 0x42c930]
movss xmm0, dword [ebp - 0x199c]
movss dword [edx + ecx*4], xmm0
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [eax*4 + 0x42ab78], xmm0
movsx ecx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [ecx*4 + 0x42cc20], xmm0
movsx edx, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x1998]
movss dword [edx*4 + 0x42c904], xmm0
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [ebp - 0x199c]
movss dword [eax*4 + 0x42c6c8], xmm0
jmp 0x404d01
jmp 0x404c57
cmp dword [ebp - 0x19ac], 1
jne 0x405ae7
mov ecx, 1
mov word [0x44b750], cx
jmp 0x4058d2
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x4059df
movsx ecx, word [0x44b750]
movsx esi, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add esi, edx
mov edi, dword [ecx*4 + 0x44b660]
movsx eax, word [ebp - 0x1988]
push eax
movsx ecx, word [0x46979c]
push ecx
movsx edx, word [0x44b750]
push edx
movsx eax, word [0x44b750]
push eax
call fcn.004010a0
add esp, 0x10
fstp qword [ebp - 0x1a78]
movsd xmm0, qword [ebp - 0x1a78]
addsd xmm0, qword [edi + esi*8]
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
movsx eax, word [0x44b214]
add eax, edx
mov ecx, dword [ecx*4 + 0x44b660]
movsd qword [ecx + eax*8], xmm0
movsx edx, word [0x44b750]
movsx esi, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add esi, eax
mov edi, dword [edx*4 + 0x4694e8]
movsx ecx, word [ebp - 0x1988]
push ecx
movsx edx, word [0x46979c]
push edx
movsx eax, word [0x44b750]
push eax
movsx ecx, word [0x44b750]
push ecx
call fcn.004011d0
add esp, 0x10
fstp qword [ebp - 0x1a70]
movsd xmm0, qword [ebp - 0x1a70]
addsd xmm0, qword [edi + esi*8]
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
movsx ecx, word [0x44b214]
add ecx, eax
mov edx, dword [edx*4 + 0x4694e8]
movsd qword [edx + ecx*8], xmm0
jmp 0x4058c0
movsx eax, word [0x46979c]
push eax
call fcn.00401390
add esp, 4
fstp qword [0x44b110]
movsx ecx, word [0x46979c]
push ecx
call fcn.00401410
add esp, 4
fstp qword [0x476dd8]
movsx edx, word [0x46979c]
push edx
call fcn.00401490
add esp, 4
fstp qword [0x45d890]
movsx eax, word [0x46979c]
push eax
call fcn.00401510
add esp, 4
fstp qword [0x449d70]
movsx ecx, word [0x46979c]
push ecx
call fcn.00401590
add esp, 4
fstp qword [0x4842b8]
movsx edx, word [0x46979c]
push edx
call fcn.00401610
add esp, 4
fstp qword [0x44b758]
movsx eax, word [0x46979c]
push eax
call fcn.00401690
add esp, 4
fstp qword [0x45d880]
movsx ecx, word [0x46979c]
push ecx
call fcn.00401710
add esp, 4
fstp qword [0x44b118]
movsx edx, word [0x46979c]
push edx
call fcn.00401790
add esp, 4
fstp qword [0x46b218]
movsx eax, word [0x46979c]
push eax
call fcn.00401810
add esp, 4
fstp qword [0x476da8]
movsx ecx, word [0x46979c]
push ecx
call fcn.00401890
add esp, 4
fstp qword [0x44b010]
movsx edx, word [0x46979c]
push edx
call fcn.00401910
add esp, 4
fstp qword [0x44b680]
movzx eax, word [ebp - 0x1988]
push eax
movzx ecx, word [0x44b214]
push ecx
call fcn.00402f20
add esp, 8
mov edx, 1
mov word [ebp - 0x1990], dx
jmp 0x405b1f
mov ax, word [ebp - 0x1990]
add ax, 1
mov word [ebp - 0x1990], ax
movsx ecx, word [ebp - 0x1990]
movsx edx, word [0x42ac5c]
cmp ecx, edx
jg 0x4067e1
mov eax, 1
mov word [0x44b750], ax
jmp 0x405b54
mov cx, word [0x44b750]
add cx, 1
mov word [0x44b750], cx
movsx edx, word [0x44b750]
cmp edx, 7
jg 0x405bc8
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x44b660]
movsx edx, word [0x44b750]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp + edx*8 - 0x44], xmm0
movsx eax, word [0x44b750]
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax*4 + 0x4694e8]
movsx edx, word [0x44b750]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp + edx*8 - 0x84], xmm0
jmp 0x405b42
movsx eax, word [ebp - 0x1990]
movsx ecx, word [eax*2 + 0x42b678]
cmp ecx, 1
je 0x405bf0
movsx edx, word [ebp - 0x1990]
movsx eax, word [edx*2 + 0x42b678]
cmp eax, 0xc
jne 0x405bf5
jmp 0x405b0d
mov ecx, 4
shl ecx, 2
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x44b660]
sub esp, 8
movsd xmm0, qword [ecx + edx*8]
movsd qword [esp], xmm0
mov edx, 4
imul eax, edx, 3
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax + 0x44b660]
sub esp, 8
movsd xmm0, qword [eax + ecx*8]
movsd qword [esp], xmm0
mov ecx, 4
shl ecx, 1
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x44b660]
sub esp, 8
movsd xmm0, qword [ecx + edx*8]
movsd qword [esp], xmm0
call fcn.00402a60
add esp, 0x18
fstp qword [ebp - 0x1a48]
mov edx, 4
shl edx, 2
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x4694e8]
sub esp, 8
movsd xmm0, qword [edx + eax*8]
movsd qword [esp], xmm0
mov eax, 4
imul ecx, eax, 3
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x4694e8]
sub esp, 8
movsd xmm0, qword [ecx + edx*8]
movsd qword [esp], xmm0
mov edx, 4
shl edx, 1
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x4694e8]
sub esp, 8
movsd xmm0, qword [edx + eax*8]
movsd qword [esp], xmm0
call fcn.00402a60
add esp, 0x18
fstp qword [ebp - 0x1a38]
mov eax, 4
imul ecx, eax, 3
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x4694e8]
mov eax, 4
shl eax, 2
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov eax, dword [eax + 0x4694e8]
movsd xmm0, qword [ecx + edx*8]
comisd xmm0, xmmword [eax + esi*8]
jbe 0x405d86
mov ecx, 4
imul edx, ecx, 3
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x4694e8]
movsd xmm0, qword [edx + eax*8]
movsd qword [ebp - 0x1a68], xmm0
jmp 0x405db1
mov eax, 4
shl eax, 2
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax + 0x4694e8]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp - 0x1a68], xmm0
movsd xmm0, qword [ebp - 0x1a68]
movsd qword [ebp - 0x19f0], xmm0
mov ecx, 4
imul edx, ecx, 3
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
mov edx, dword [edx + 0x44b660]
mov ecx, 4
shl ecx, 2
movsx esi, word [0x44b214]
movsx edi, word [ebp - 0x1988]
add esi, edi
mov ecx, dword [ecx + 0x44b660]
movsd xmm0, qword [ecx + esi*8]
comisd xmm0, xmmword [edx + eax*8]
jbe 0x405e36
mov edx, 4
imul eax, edx, 3
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
mov eax, dword [eax + 0x44b660]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp - 0x1a50], xmm0
jmp 0x405e61
mov ecx, 4
shl ecx, 2
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
mov ecx, dword [ecx + 0x44b660]
movsd xmm0, qword [ecx + edx*8]
movsd qword [ebp - 0x1a50], xmm0
movsd xmm0, qword [ebp - 0x1a50]
movsd qword [ebp - 0x1a08], xmm0
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
xorps xmm0, xmm0
movsd qword [edx*8 + 0x46b220], xmm0
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
xorps xmm0, xmm0
movsd qword [ecx*8 + 0x45d960], xmm0
mov eax, 1
mov word [ebp - 0x198c], ax
jmp 0x405ec9
mov cx, word [ebp - 0x198c]
add cx, 1
mov word [ebp - 0x198c], cx
movsx edx, word [ebp - 0x198c]
movsx eax, word [0x46979c]
cmp edx, eax
jg 0x406753
movsx ecx, word [ebp - 0x198c]
movzx edx, byte [ecx + 0x42c130]
cmp edx, 1
jne 0x40674e
movsx eax, word [ebp - 0x198c]
movss xmm0, dword [0x426c90]
movss dword [eax*4 + 0x42b960], xmm0
mov ecx, 1
mov word [0x44b750], cx
jmp 0x405f2e
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x40674e
movsx ecx, word [0x44b750]
cmp ecx, 3
je 0x405f56
movsx edx, word [0x44b750]
cmp edx, 4
jne 0x405f58
jmp 0x405f1c
cmp dword [ebp - 0x19d4], 1
jne 0x406017
movsx eax, word [ebp - 0x198c]
movsx ecx, word [eax*2 + 0x42b484]
movsx edx, word [ebp - 0x1990]
movsx eax, word [edx*2 + 0x42b678]
cmp ecx, eax
jne 0x405fc5
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx*4 + 0x449f08]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42b960]
mulsd xmm0, qword [ecx + eax*8]
movsd qword [0x44e678], xmm0
jmp 0x406015
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bc80]
mulsd xmm0, xmm1
movsd qword [0x44e678], xmm0
jmp 0x406067
movsx eax, word [ebp - 0x198c]
shl eax, 5
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx*4 + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bfa0]
mulsd xmm0, xmm1
movsd qword [0x44e678], xmm0
movsx eax, word [0x44b750]
cmp eax, 2
je 0x40613e
movsx ecx, word [ebp - 0x198c]
movsx edx, byte [ecx + 0x42ad88]
cmp edx, 0x4d
je 0x4060dc
movsx eax, word [0x44b750]
movsd xmm0, qword [ebp + eax*8 - 0x84]
addsd xmm0, qword [0x44e678]
movsx ecx, word [0x44b750]
comisd xmm0, xmmword [ebp + ecx*8 - 0x84]
jbe 0x4060dc
movsx edx, word [0x44b750]
movsd xmm0, qword [ebp + edx*8 - 0x84]
addsd xmm0, qword [0x44e678]
movsx eax, word [0x44b750]
movsd qword [ebp + eax*8 - 0x84], xmm0
movsx ecx, word [ebp - 0x198c]
movsx edx, byte [ecx + 0x42ad88]
cmp edx, 0x58
je 0x406139
movsx eax, word [0x44b750]
movsd xmm0, qword [ebp + eax*8 - 0x44]
addsd xmm0, qword [0x44e678]
movsx ecx, word [0x44b750]
movsd xmm1, qword [ebp + ecx*8 - 0x44]
comisd xmm1, xmm0
jbe 0x406139
movsx edx, word [0x44b750]
movsd xmm0, qword [ebp + edx*8 - 0x44]
addsd xmm0, qword [0x44e678]
movsx eax, word [0x44b750]
movsd qword [ebp + eax*8 - 0x44], xmm0
jmp 0x406749
movsx ecx, word [ebp - 0x198c]
movsx edx, word [ecx*2 + 0x42b484]
movsx eax, word [ebp - 0x1990]
movsx ecx, word [eax*2 + 0x42b678]
cmp edx, ecx
jne 0x40621f
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 1
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b960]
mulsd xmm0, qword [edx + ecx*8]
movsd qword [ebp - 0x1a10], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
imul eax, edx, 3
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsd qword [ebp - 0x19c0], xmm0
movsx edx, word [ebp - 0x198c]
shl edx, 5
mov eax, 4
shl eax, 2
movsx ecx, word [ebp - 0x1988]
mov edx, dword [edx + eax + 0x449f08]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm0, dword [eax*4 + 0x42b960]
mulsd xmm0, qword [edx + ecx*8]
movsd qword [ebp - 0x19c8], xmm0
jmp 0x406311
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
shl edx, 1
movsx eax, word [ebp - 0x1988]
mov ecx, dword [ecx + edx + 0x449f08]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [edx*4 + 0x42b960]
mulsd xmm0, qword [ecx + eax*8]
movsx eax, word [ebp - 0x198c]
cvtss2sd xmm1, dword [eax*4 + 0x42bc80]
mulsd xmm0, xmm1
movsd qword [ebp - 0x1a10], xmm0
movsx ecx, word [ebp - 0x198c]
shl ecx, 5
mov edx, 4
imul eax, edx, 3
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx + eax + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bc80]
mulsd xmm0, xmm1
movsd qword [ebp - 0x19c0], xmm0
movsx eax, word [ebp - 0x198c]
shl eax, 5
mov ecx, 4
shl ecx, 2
movsx edx, word [ebp - 0x1988]
mov eax, dword [eax + ecx + 0x449f08]
movsx ecx, word [ebp - 0x198c]
cvtss2sd xmm0, dword [ecx*4 + 0x42b960]
mulsd xmm0, qword [eax + edx*8]
movsx edx, word [ebp - 0x198c]
cvtss2sd xmm1, dword [edx*4 + 0x42bc80]
mulsd xmm0, xmm1
movsd qword [ebp - 0x19c8], xmm0
movsx eax, word [ebp - 0x198c]
movsx ecx, byte [eax + 0x42ad88]
cmp ecx, 0x4d
je 0x40653e
lea edx, [ebp - 0x19b4]
push edx
mov eax, 8
shl eax, 2
movsd xmm0, qword [ebp + eax - 0x84]
addsd xmm0, qword [ebp - 0x19c8]
sub esp, 8
movsd qword [esp], xmm0
mov ecx, 8
imul edx, ecx, 3
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x19c0]
sub esp, 8
movsd qword [esp], xmm0
mov eax, 8
shl eax, 1
movsd xmm0, qword [ebp + eax - 0x84]
addsd xmm0, qword [ebp - 0x1a10]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00402c50
add esp, 0x1c
fstp qword [ebp - 0x19f8]
mov ecx, 8
imul edx, ecx, 3
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x19c0]
mov eax, 8
shl eax, 2
movsd xmm1, qword [ebp + eax - 0x84]
addsd xmm1, qword [ebp - 0x19c8]
comisd xmm0, xmm1
jbe 0x4063fa
mov ecx, 8
imul edx, ecx, 3
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x19c0]
movsd qword [ebp - 0x1a30], xmm0
jmp 0x40641b
mov eax, 8
shl eax, 2
movsd xmm0, qword [ebp + eax - 0x84]
addsd xmm0, qword [ebp - 0x19c8]
movsd qword [ebp - 0x1a30], xmm0
movsd xmm0, qword [ebp - 0x1a30]
movsd qword [ebp - 0x19e8], xmm0
movsd xmm0, qword [ebp - 0x19f8]
comisd xmm0, xmmword [ebp - 0x1a38]
jbe 0x40653e
movsd xmm0, qword [ebp - 0x19e8]
comisd xmm0, xmmword [ebp - 0x19f0]
ja 0x406481
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
movsd xmm0, qword [ebp - 0x19b4]
mulsd xmm0, qword [ecx*8 + 0x46b220]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x40653e
movsd xmm0, qword [ebp - 0x19f8]
movsd qword [ebp - 0x1a38], xmm0
movsd xmm0, qword [ebp - 0x19e8]
movsd qword [ebp - 0x19f0], xmm0
movsx eax, word [0x44b214]
movsx ecx, word [ebp - 0x1988]
add eax, ecx
movsd xmm0, qword [ebp - 0x19b4]
movsd qword [eax*8 + 0x46b220], xmm0
mov edx, 8
shl edx, 1
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x1a10]
mov eax, 8
shl eax, 1
movsd qword [ebp + eax - 0x84], xmm0
mov ecx, 8
imul edx, ecx, 3
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x19c0]
mov eax, 8
imul ecx, eax, 3
movsd qword [ebp + ecx - 0x84], xmm0
mov edx, 8
shl edx, 2
movsd xmm0, qword [ebp + edx - 0x84]
addsd xmm0, qword [ebp - 0x19c8]
mov eax, 8
shl eax, 2
movsd qword [ebp + eax - 0x84], xmm0
movsx ecx, word [ebp - 0x198c]
movsx edx, byte [ecx + 0x42ad88]
cmp edx, 0x58
je 0x406744
lea eax, [ebp - 0x19b4]
push eax
mov ecx, 8
shl ecx, 2
movsd xmm0, qword [ebp + ecx - 0x44]
addsd xmm0, qword [ebp - 0x19c8]
sub esp, 8
movsd qword [esp], xmm0
mov edx, 8
imul eax, edx, 3
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x19c0]
sub esp, 8
movsd qword [esp], xmm0
mov ecx, 8
shl ecx, 1
movsd xmm0, qword [ebp + ecx - 0x44]
addsd xmm0, qword [ebp - 0x1a10]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00402c50
add esp, 0x1c
fstp qword [ebp - 0x19f8]
mov edx, 8
imul eax, edx, 3
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x19c0]
mov ecx, 8
shl ecx, 2
movsd xmm1, qword [ebp + ecx - 0x44]
addsd xmm1, qword [ebp - 0x19c8]
comisd xmm1, xmm0
jbe 0x406615
mov edx, 8
imul eax, edx, 3
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x19c0]
movsd qword [ebp - 0x1a40], xmm0
jmp 0x406633
mov ecx, 8
shl ecx, 2
movsd xmm0, qword [ebp + ecx - 0x44]
addsd xmm0, qword [ebp - 0x19c8]
movsd qword [ebp - 0x1a40], xmm0
movsd xmm0, qword [ebp - 0x1a40]
movsd qword [ebp - 0x1a00], xmm0
movsd xmm0, qword [ebp - 0x19f8]
comisd xmm0, xmmword [ebp - 0x1a48]
jbe 0x406744
movsd xmm0, qword [ebp - 0x1a08]
comisd xmm0, xmmword [ebp - 0x1a00]
ja 0x406699
movsx edx, word [0x44b214]
movsx eax, word [ebp - 0x1988]
add edx, eax
movsd xmm0, qword [ebp - 0x19b4]
mulsd xmm0, qword [edx*8 + 0x45d960]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x406744
movsd xmm0, qword [ebp - 0x19f8]
movsd qword [ebp - 0x1a48], xmm0
movsd xmm0, qword [ebp - 0x1a00]
movsd qword [ebp - 0x1a08], xmm0
movsx ecx, word [0x44b214]
movsx edx, word [ebp - 0x1988]
add ecx, edx
movsd xmm0, qword [ebp - 0x19b4]
movsd qword [ecx*8 + 0x45d960], xmm0
mov eax, 8
shl eax, 1
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x1a10]
mov ecx, 8
shl ecx, 1
movsd qword [ebp + ecx - 0x44], xmm0
mov edx, 8
imul eax, edx, 3
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x19c0]
mov ecx, 8
imul edx, ecx, 3
movsd qword [ebp + edx - 0x44], xmm0
mov eax, 8
shl eax, 2
movsd xmm0, qword [ebp + eax - 0x44]
addsd xmm0, qword [ebp - 0x19c8]
mov ecx, 8
shl ecx, 2
movsd qword [ebp + ecx - 0x44], xmm0
jmp 0x405f1c
jmp 0x405f1c
jmp 0x405eb7
mov edx, 1
mov word [0x44b750], dx
jmp 0x406771
mov ax, word [0x44b750]
add ax, 1
mov word [0x44b750], ax
movsx ecx, word [0x44b750]
cmp ecx, 7
jg 0x4067dc
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1990]
imul ecx, eax, 0xa0
lea eax, [ebp + ecx - 0x1984]
movsx ecx, word [0x44b750]
movsd xmm0, qword [ebp + edx*8 - 0x44]
movsd qword [eax + ecx*8], xmm0
movsx edx, word [0x44b750]
movsx eax, word [ebp - 0x1990]
imul ecx, eax, 0xa0
lea eax, [ebp + ecx - 0xd04]
movsx ecx, word [0x44b750]
movsd xmm0, qword [ebp + edx*8 - 0x84]
movsd qword [eax + ecx*8], xmm0
jmp 0x406761
jmp 0x405b0d
mov dword [ebp - 0x19d8], 0
mov edx, 1
mov word [ebp - 0x1990], dx
jmp 0x40680b
mov ax, word [ebp - 0x1990]
add ax, 1
mov word [ebp - 0x1990], ax
movsx ecx, word [ebp - 0x1990]
movsx edx, word [0x42ac5c]
cmp ecx, edx
jg 0x4069b8
movsx eax, word [ebp - 0x1990]
movsx ecx, word [eax*2 + 0x42b678]
cmp ecx, 1
je 0x406849
movsx edx, word [ebp - 0x1990]
movsx eax, word [edx*2 + 0x42b678]
cmp eax, 0xc
jne 0x40684b
jmp 0x4067f9
mov ecx, 1
mov word [0x44b750], cx
jmp 0x40686b
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x4069b3
cmp dword [ebp - 0x19d8], 0
jne 0x4068f0
movsx ecx, word [ebp - 0x1990]
imul edx, ecx, 0xa0
lea eax, [ebp + edx - 0x1984]
movsx ecx, word [0x44b750]
movsx edx, word [0x44b750]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp + edx*8 - 0x44], xmm0
movsx eax, word [ebp - 0x1990]
imul ecx, eax, 0xa0
lea edx, [ebp + ecx - 0xd04]
movsx eax, word [0x44b750]
movsx ecx, word [0x44b750]
movsd xmm0, qword [edx + eax*8]
movsd qword [ebp + ecx*8 - 0x84], xmm0
mov dword [ebp - 0x19d8], 1
jmp 0x406859
movsx edx, word [ebp - 0x1990]
imul eax, edx, 0xa0
lea ecx, [ebp + eax - 0x1984]
movsx edx, word [0x44b750]
movsx eax, word [0x44b750]
movsd xmm0, qword [ebp + eax*8 - 0x44]
comisd xmm0, xmmword [ecx + edx*8]
jbe 0x40694c
movsx ecx, word [ebp - 0x1990]
imul edx, ecx, 0xa0
lea eax, [ebp + edx - 0x1984]
movsx ecx, word [0x44b750]
movsx edx, word [0x44b750]
movsd xmm0, qword [eax + ecx*8]
movsd qword [ebp + edx*8 - 0x44], xmm0
movsx eax, word [ebp - 0x1990]
imul ecx, eax, 0xa0
lea edx, [ebp + ecx - 0xd04]
movsx eax, word [0x44b750]
movsx ecx, word [0x44b750]
movsd xmm0, qword [edx + eax*8]
comisd xmm0, xmmword [ebp + ecx*8 - 0x84]
jbe 0x4069ae
movsx edx, word [ebp - 0x1990]
imul eax, edx, 0xa0
lea ecx, [ebp + eax - 0xd04]
movsx edx, word [0x44b750]
movsx eax, word [0x44b750]
movsd xmm0, qword [ecx + edx*8]
movsd qword [ebp + eax*8 - 0x84], xmm0
jmp 0x406859
jmp 0x4067f9
mov ecx, 1
mov word [0x44b750], cx
jmp 0x4069d8
mov dx, word [0x44b750]
add dx, 1
mov word [0x44b750], dx
movsx eax, word [0x44b750]
cmp eax, 7
jg 0x406a4c
movsx ecx, word [0x44b750]
movsx edx, word [0x44b750]
movsx eax, word [0x44b214]
movsx esi, word [ebp - 0x1988]
add eax, esi
mov edx, dword [edx*4 + 0x44b660]
movsd xmm0, qword [ebp + ecx*8 - 0x44]
movsd qword [edx + eax*8], xmm0
movsx eax, word [0x44b750]
movsx ecx, word [0x44b750]
movsx edx, word [0x44b214]
movsx esi, word [ebp - 0x1988]
add edx, esi
mov ecx, dword [ecx*4 + 0x4694e8]
movsd xmm0, qword [ebp + eax*8 - 0x84]
movsd qword [ecx + edx*8], xmm0
jmp 0x4069c6
push 0x1a70
push 0x4697a8
push 0x42ac58
call fcn.0040a7b0
add esp, 0xc
jmp 0x404012
movsx edx, word [0x4697a4]
movsx eax, word [0x47872c]
add eax, edx
mov word [0x47872c], ax
movsx ecx, word [0x44b3a4]
movsx edx, word [0x47872c]
cmp ecx, edx
jle 0x406aac
push 0x1a70
push 0x4697a8
push 0x42ac58
call fcn.0040a7b0
add esp, 0xc
jmp 0x403a32
mov eax, 5
mov word [0x44b750], ax
jmp 0x406acb
mov cx, word [0x44b750]
add cx, 1
mov word [0x44b750], cx
movsx edx, word [0x44b750]
cmp edx, 6
jg 0x406b4a
mov eax, 1
mov word [ebp - 0x1988], ax
jmp 0x406af7
mov cx, word [ebp - 0x1988]
add cx, 1
mov word [ebp - 0x1988], cx
movsx edx, word [ebp - 0x1988]
movsx eax, word [0x44b3a4]
cmp edx, eax
jg 0x406b45
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx*4 + 0x4694e8]
xorps xmm0, xmm0
movsd qword [eax + edx*8], xmm0
movsx ecx, word [0x44b750]
movsx edx, word [ebp - 0x1988]
mov eax, dword [ecx*4 + 0x44b660]
xorps xmm0, xmm0
movsd qword [eax + edx*8], xmm0
jmp 0x406ae5
jmp 0x406ab9
movsx ecx, word [0x42ac54]
push ecx
push 0x4268c4
push 0x44b860
call fcn.00401a20
add esp, 0xc
push 0x42cc50
push 0x44b860
push 0x44b280
push str._sKOMBI_STPTS_s_ZII_s
push 0x4696a8
call fcn.00401a20
add esp, 0x14
push 0x4268e0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
cmp dword [0x45d888], 0
je 0x406d0a
mov edx, 1
mov word [0x44b750], dx
jmp 0x406bc7
mov ax, word [0x44b750]
add ax, 1
mov word [0x44b750], ax
movsx ecx, word [0x44b750]
cmp ecx, 7
jg 0x406c51
mov edx, 1
mov word [ebp - 0x1988], dx
jmp 0x406bf3
mov ax, word [ebp - 0x1988]
add ax, 1
mov word [ebp - 0x1988], ax
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x44b3a4]
cmp ecx, edx
jg 0x406c31
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [eax*4 + 0x44b660]
movsx eax, word [ebp - 0x1988]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax*8 + 0x478730], xmm0
jmp 0x406be1
mov ecx, dword [0x45d888]
push ecx
push 1
push 0xbb88
push 0x478730
call fcn.0040edb2
add esp, 0x10
jmp 0x406bb7
mov edx, 1
mov word [0x44b750], dx
jmp 0x406c6f
mov ax, word [0x44b750]
add ax, 1
mov word [0x44b750], ax
movsx ecx, word [0x44b750]
cmp ecx, 7
jg 0x406cf9
mov edx, 1
mov word [ebp - 0x1988], dx
jmp 0x406c9b
mov ax, word [ebp - 0x1988]
add ax, 1
mov word [ebp - 0x1988], ax
movsx ecx, word [ebp - 0x1988]
movsx edx, word [0x44b3a4]
cmp ecx, edx
jg 0x406cd9
movsx eax, word [0x44b750]
movsx ecx, word [ebp - 0x1988]
mov edx, dword [eax*4 + 0x4694e8]
movsx eax, word [ebp - 0x1988]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax*8 + 0x478730], xmm0
jmp 0x406c89
mov ecx, dword [0x45d888]
push ecx
push 1
push 0xbb88
push 0x478730
call fcn.0040edb2
add esp, 0x10
jmp 0x406c5f
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
jmp 0x406d17
push 0x4696a8
call fcn.00402100
add esp, 4
jmp 0x4039ab
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408977
mov esp, ebp
pop ebp
ret