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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
movss xmm2, dword [ebp + 8]
xorps xmm0, xmm0
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
movss xmm1, dword [edi + 0x64f4]
lea esi, [edi + 0x6534]
comiss xmm1, xmm0
mov dword [ebp - 8], esi
jb 0x547037
movss xmm0, dword [edi + 0x64f8]
addss xmm1, xmm2
addss xmm0, xmm2
comiss xmm1, dword [edi + 0x43a8]
movss dword [edi + 0x64f4], xmm1
movss dword [edi + 0x64f8], xmm0
jb 0x547037
cmp byte [edi + 0x43ac], 0
jne 0x547037
mov dword [edi + 0x64f4], 0xc0000000
movss xmm3, dword [edi + 0x64f4]
ucomiss xmm3, dword [0x577c60]
lahf
test ah, 0x44
jnp 0x548f75
cmp byte [edi + 0x46d2], 0
jne 0x547170
cmp byte [edi + 0x43ac], 0
je 0x5470a8
comiss xmm3, dword [edi + 0x43a8]
jb 0x5470a8
mov byte [edi + 0x46d0], 0
movsd xmm0, qword [edi + 0x43b0]
movsd qword [edi + 0x46d8], xmm0
movsd xmm1, qword [edi + 0x43c0]
movsd xmm0, qword [edi + 0x43c8]
subsd xmm1, qword [edi + 0x43b0]
subsd xmm0, qword [edi + 0x43b8]
jmp 0x547123
mov cl, byte [edi + 0x46d0]
movzx eax, byte [edi + 0x46d1]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54712f
movss xmm0, dword [edi + 0x43a8]
add edx, edx
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm3
mulsd xmm0, qword [edi + edx*8 + 0x43c8]
comisd xmm1, xmm0
jb 0x54712f
inc cl
movzx eax, cl
mov byte [edi + 0x46d0], cl
mov ecx, eax
add ecx, ecx
lea edx, [eax + 0x43b]
add eax, 0x43c
add edx, edx
add eax, eax
movsd xmm0, qword [edi + edx*8]
movsd qword [edi + 0x46d8], xmm0
movsd xmm1, qword [edi + eax*8]
movsd xmm0, qword [edi + ecx*8 + 0x43c8]
subsd xmm1, qword [edi + edx*8]
subsd xmm0, qword [edi + ecx*8 + 0x43b8]
divsd xmm1, xmm0
movsd qword [edi + 0x46e0], xmm1
movzx ecx, byte [edi + 0x46d1]
movzx eax, byte [edi + 0x46d0]
dec ecx
cmp eax, ecx
jge 0x547170
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x46e0]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x46d8]
movsd qword [edi + 0x46d8], xmm1
push ecx
movss dword [esp], xmm2
lea eax, [edi + 0x4070]
push edi
push ecx
movss dword [esp], xmm3
push eax
call fcn.0054b550
add esp, 0x10
cmp byte [edi + 0x56f2], 0
jne 0x5472c6
cmp byte [edi + 0x43ac], 0
je 0x5471ef
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5471ef
mov byte [edi + 0x56f0], 0
movsd xmm0, qword [edi + 0x53d0]
movsd qword [edi + 0x56f8], xmm0
movsd xmm1, qword [edi + 0x53e0]
movsd xmm0, qword [edi + 0x53e8]
subsd xmm1, qword [edi + 0x53d0]
subsd xmm0, qword [edi + 0x53d8]
jmp 0x547272
mov cl, byte [edi + 0x56f0]
movzx eax, byte [edi + 0x56f1]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54727e
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x53e8]
comisd xmm1, xmm0
jb 0x54727e
inc cl
movzx eax, cl
mov byte [edi + 0x56f0], cl
mov ecx, eax
add ecx, ecx
lea edx, [eax + 0x53d]
add eax, 0x53e
add edx, edx
add eax, eax
movsd xmm0, qword [edi + edx*8]
movsd qword [edi + 0x56f8], xmm0
movsd xmm1, qword [edi + eax*8]
movsd xmm0, qword [edi + ecx*8 + 0x53e8]
subsd xmm1, qword [edi + edx*8]
subsd xmm0, qword [edi + ecx*8 + 0x53d8]
divsd xmm1, xmm0
movsd qword [edi + 0x5700], xmm1
movzx ecx, byte [edi + 0x56f1]
movzx eax, byte [edi + 0x56f0]
dec ecx
movss xmm2, dword [ebp + 8]
cmp eax, ecx
jge 0x5472cb
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x5700]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x56f8]
movsd qword [edi + 0x56f8], xmm1
jmp 0x5472cb
movss xmm2, dword [ebp + 8]
cmp byte [edi + 0x53ba], 0
jne 0x547409
cmp byte [edi + 0x43ac], 0
je 0x54732e
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x54732e
mov byte [edi + 0x53b8], 0
movsd xmm0, qword [edi + 0x5098]
movsd qword [edi + 0x53c0], xmm0
movsd xmm1, qword [edi + 0x50a8]
movsd xmm0, qword [edi + 0x50b0]
subsd xmm1, qword [edi + 0x5098]
subsd xmm0, qword [edi + 0x50a0]
jmp 0x5473bc
mov cl, byte [edi + 0x53b8]
movzx eax, byte [edi + 0x53b9]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5473c8
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x50b]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x5473c8
inc cl
movzx edx, cl
mov byte [edi + 0x53b8], cl
mov eax, edx
add eax, eax
lea ecx, [edx + 0x50b]
add ecx, ecx
movsd xmm0, qword [edi + eax*8 + 0x5098]
movsd qword [edi + 0x53c0], xmm0
movsd xmm1, qword [edi + eax*8 + 0x50a8]
subsd xmm1, qword [edi + eax*8 + 0x5098]
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + 0x50a]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x53c8], xmm1
movzx ecx, byte [edi + 0x53b9]
movzx eax, byte [edi + 0x53b8]
dec ecx
cmp eax, ecx
jge 0x547409
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x53c8]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x53c0]
movsd qword [edi + 0x53c0], xmm1
cmp byte [edi + 0x60a2], 0
jne 0x54753c
cmp byte [edi + 0x43ac], 0
je 0x54746c
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x54746c
mov byte [edi + 0x60a0], 0
movsd xmm0, qword [edi + 0x5d80]
movsd qword [edi + 0x60a8], xmm0
movsd xmm1, qword [edi + 0x5d90]
movsd xmm0, qword [edi + 0x5d98]
subsd xmm1, qword [edi + 0x5d80]
subsd xmm0, qword [edi + 0x5d88]
jmp 0x5474ef
mov cl, byte [edi + 0x60a0]
movzx eax, byte [edi + 0x60a1]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5474fb
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x5d98]
comisd xmm1, xmm0
jb 0x5474fb
inc cl
movzx eax, cl
mov byte [edi + 0x60a0], cl
mov ecx, eax
add ecx, ecx
lea edx, [eax + 0x5d8]
add eax, 0x5d9
add edx, edx
add eax, eax
movsd xmm0, qword [edi + edx*8]
movsd qword [edi + 0x60a8], xmm0
movsd xmm1, qword [edi + eax*8]
movsd xmm0, qword [edi + ecx*8 + 0x5d98]
subsd xmm1, qword [edi + edx*8]
subsd xmm0, qword [edi + ecx*8 + 0x5d88]
divsd xmm1, xmm0
movsd qword [edi + 0x60b0], xmm1
movzx ecx, byte [edi + 0x60a1]
movzx eax, byte [edi + 0x60a0]
dec ecx
cmp eax, ecx
jge 0x54753c
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x60b0]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x60a8]
movsd qword [edi + 0x60a8], xmm1
cmp byte [edi + 0x5a32], 0
jne 0x54766f
cmp byte [edi + 0x43ac], 0
je 0x54759f
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x54759f
mov byte [edi + 0x5a30], 0
movsd xmm0, qword [edi + 0x5710]
movsd qword [edi + 0x5a38], xmm0
movsd xmm1, qword [edi + 0x5720]
movsd xmm0, qword [edi + 0x5728]
subsd xmm1, qword [edi + 0x5710]
subsd xmm0, qword [edi + 0x5718]
jmp 0x547622
mov cl, byte [edi + 0x5a30]
movzx eax, byte [edi + 0x5a31]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54762e
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x5728]
comisd xmm1, xmm0
jb 0x54762e
inc cl
movzx eax, cl
mov byte [edi + 0x5a30], cl
mov ecx, eax
add ecx, ecx
lea edx, [eax + 0x571]
add eax, 0x572
add edx, edx
add eax, eax
movsd xmm0, qword [edi + edx*8]
movsd qword [edi + 0x5a38], xmm0
movsd xmm1, qword [edi + eax*8]
movsd xmm0, qword [edi + ecx*8 + 0x5728]
subsd xmm1, qword [edi + edx*8]
subsd xmm0, qword [edi + ecx*8 + 0x5718]
divsd xmm1, xmm0
movsd qword [edi + 0x5a40], xmm1
movzx ecx, byte [edi + 0x5a31]
movzx eax, byte [edi + 0x5a30]
dec ecx
cmp eax, ecx
jge 0x54766f
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x5a40]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x5a38]
movsd qword [edi + 0x5a38], xmm1
cmp byte [edi + 0x5d6a], 0
jne 0x5477ad
cmp byte [edi + 0x43ac], 0
je 0x5476d2
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5476d2
mov byte [edi + 0x5d68], 0
movsd xmm0, qword [edi + 0x5a48]
movsd qword [edi + 0x5d70], xmm0
movsd xmm1, qword [edi + 0x5a58]
movsd xmm0, qword [edi + 0x5a60]
subsd xmm1, qword [edi + 0x5a48]
subsd xmm0, qword [edi + 0x5a50]
jmp 0x547760
mov cl, byte [edi + 0x5d68]
movzx eax, byte [edi + 0x5d69]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54776c
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x5a6]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x54776c
inc cl
movzx edx, cl
mov byte [edi + 0x5d68], cl
mov eax, edx
add eax, eax
lea ecx, [edx + 0x5a6]
add ecx, ecx
movsd xmm0, qword [edi + eax*8 + 0x5a48]
movsd qword [edi + 0x5d70], xmm0
movsd xmm1, qword [edi + eax*8 + 0x5a58]
subsd xmm1, qword [edi + eax*8 + 0x5a48]
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + 0x5a5]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x5d78], xmm1
movzx ecx, byte [edi + 0x5d69]
movzx eax, byte [edi + 0x5d68]
dec ecx
cmp eax, ecx
jge 0x5477ad
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x5d78]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x5d70]
movsd qword [edi + 0x5d70], xmm1
cmp byte [edi + 0x63da], 0
jne 0x5478eb
cmp byte [edi + 0x43ac], 0
je 0x547810
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547810
mov byte [edi + 0x63d8], 0
movsd xmm0, qword [edi + 0x60b8]
movsd qword [edi + 0x63e0], xmm0
movsd xmm1, qword [edi + 0x60c8]
movsd xmm0, qword [edi + 0x60d0]
subsd xmm1, qword [edi + 0x60b8]
subsd xmm0, qword [edi + 0x60c0]
jmp 0x54789e
mov cl, byte [edi + 0x63d8]
movzx eax, byte [edi + 0x63d9]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5478aa
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x60d]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x5478aa
inc cl
movzx edx, cl
mov byte [edi + 0x63d8], cl
mov eax, edx
add eax, eax
lea ecx, [edx + 0x60d]
add ecx, ecx
movsd xmm0, qword [edi + eax*8 + 0x60b8]
movsd qword [edi + 0x63e0], xmm0
movsd xmm1, qword [edi + eax*8 + 0x60c8]
subsd xmm1, qword [edi + eax*8 + 0x60b8]
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + 0x60c]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x63e8], xmm1
movzx ecx, byte [edi + 0x63d9]
movzx eax, byte [edi + 0x63d8]
dec ecx
cmp eax, ecx
jge 0x5478eb
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x63e8]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x63e0]
movsd qword [edi + 0x63e0], xmm1
cmp byte [edi + 0x507a], 0
jne 0x547a29
cmp byte [edi + 0x43ac], 0
je 0x54794e
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x54794e
mov byte [edi + 0x5078], 0
movsd xmm0, qword [edi + 0x4d58]
movsd qword [edi + 0x5080], xmm0
movsd xmm1, qword [edi + 0x4d68]
movsd xmm0, qword [edi + 0x4d70]
subsd xmm1, qword [edi + 0x4d58]
subsd xmm0, qword [edi + 0x4d60]
jmp 0x5479dc
mov cl, byte [edi + 0x5078]
movzx eax, byte [edi + 0x5079]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5479e8
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x4d7]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x5479e8
inc cl
movzx edx, cl
mov byte [edi + 0x5078], cl
mov eax, edx
add eax, eax
lea ecx, [edx + 0x4d7]
add ecx, ecx
movsd xmm0, qword [edi + eax*8 + 0x4d58]
movsd qword [edi + 0x5080], xmm0
movsd xmm1, qword [edi + eax*8 + 0x4d68]
subsd xmm1, qword [edi + eax*8 + 0x4d58]
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + 0x4d6]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x5088], xmm1
movzx ecx, byte [edi + 0x5079]
movzx eax, byte [edi + 0x5078]
dec ecx
cmp eax, ecx
jge 0x547a29
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x5088]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x5080]
movsd qword [edi + 0x5080], xmm1
cmp byte [edi + 0x4d42], 0
jne 0x547b5c
cmp byte [edi + 0x43ac], 0
je 0x547a8c
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547a8c
mov byte [edi + 0x4d40], 0
movsd xmm0, qword [edi + 0x4a20]
movsd qword [edi + 0x4d48], xmm0
movsd xmm1, qword [edi + 0x4a30]
movsd xmm0, qword [edi + 0x4a38]
subsd xmm1, qword [edi + 0x4a20]
subsd xmm0, qword [edi + 0x4a28]
jmp 0x547b0f
mov cl, byte [edi + 0x4d40]
movzx eax, byte [edi + 0x4d41]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x547b1b
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x4a38]
comisd xmm1, xmm0
jb 0x547b1b
inc cl
movzx eax, cl
mov byte [edi + 0x4d40], cl
mov ecx, eax
add ecx, ecx
lea edx, [eax + 0x4a2]
add eax, 0x4a3
add edx, edx
add eax, eax
movsd xmm0, qword [edi + edx*8]
movsd qword [edi + 0x4d48], xmm0
movsd xmm1, qword [edi + eax*8]
movsd xmm0, qword [edi + ecx*8 + 0x4a38]
subsd xmm1, qword [edi + edx*8]
subsd xmm0, qword [edi + ecx*8 + 0x4a28]
divsd xmm1, xmm0
movsd qword [edi + 0x4d50], xmm1
movzx ecx, byte [edi + 0x4d41]
movzx eax, byte [edi + 0x4d40]
dec ecx
cmp eax, ecx
jge 0x547b5c
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x4d50]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x4d48]
movsd qword [edi + 0x4d48], xmm1
cmp byte [edi + 0x4a0a], 0
jne 0x547c9a
cmp byte [edi + 0x43ac], 0
je 0x547bbf
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547bbf
mov byte [edi + 0x4a08], 0
movsd xmm0, qword [edi + 0x46e8]
movsd qword [edi + 0x4a10], xmm0
movsd xmm1, qword [edi + 0x46f8]
movsd xmm0, qword [edi + 0x4700]
subsd xmm1, qword [edi + 0x46e8]
subsd xmm0, qword [edi + 0x46f0]
jmp 0x547c4d
mov cl, byte [edi + 0x4a08]
movzx eax, byte [edi + 0x4a09]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x547c59
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x470]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x547c59
inc cl
movzx edx, cl
mov byte [edi + 0x4a08], cl
mov eax, edx
add eax, eax
lea ecx, [edx + 0x470]
add ecx, ecx
movsd xmm0, qword [edi + eax*8 + 0x46e8]
movsd qword [edi + 0x4a10], xmm0
movsd xmm1, qword [edi + eax*8 + 0x46f8]
subsd xmm1, qword [edi + eax*8 + 0x46e8]
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + 0x46f]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x4a18], xmm1
movzx ecx, byte [edi + 0x4a09]
movzx eax, byte [edi + 0x4a08]
dec ecx
cmp eax, ecx
jge 0x547c9a
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x4a18]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x4a10]
movsd qword [edi + 0x4a10], xmm1
cmp byte [edi + 0x405a], 0
jne 0x547de1
cmp byte [edi + 0x43ac], 0
je 0x547cfd
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547cfd
mov byte [edi + 0x4058], 0
movsd xmm0, qword [edi + 0x3d38]
movsd qword [edi + 0x4060], xmm0
movsd xmm1, qword [edi + 0x3d48]
movsd xmm0, qword [edi + 0x3d50]
subsd xmm1, qword [edi + 0x3d38]
subsd xmm0, qword [edi + 0x3d40]
jmp 0x547d94
mov cl, byte [edi + 0x4058]
movzx eax, byte [edi + 0x4059]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x547da0
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x3d5]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x547da0
inc cl
mov byte [edi + 0x4058], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 0x3d38]
movsd qword [edi + 0x4060], xmm0
movzx edx, byte [edi + 0x4058]
mov eax, edx
add eax, eax
lea ecx, [edx + 0x3d5]
add ecx, ecx
movsd xmm1, qword [edi + eax*8 + 0x3d48]
subsd xmm1, qword [edi + eax*8 + 0x3d38]
lea eax, [edx + 0x3d4]
movsd xmm0, qword [edi + ecx*8]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x4068], xmm1
movzx ecx, byte [edi + 0x4059]
movzx eax, byte [edi + 0x4058]
dec ecx
cmp eax, ecx
jge 0x547de1
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x4068]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x4060]
movsd qword [edi + 0x4060], xmm1
cmp byte [edi + 0x1012], 0
jne 0x547f26
cmp byte [edi + 0x43ac], 0
je 0x547e44
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547e44
mov byte [edi + 0x1010], 0
movsd xmm0, qword [edi + 0xcf0]
movsd qword [edi + 0x1018], xmm0
movsd xmm1, qword [edi + 0xd00]
movsd xmm0, qword [edi + 0xd08]
subsd xmm1, qword [edi + 0xcf0]
subsd xmm0, qword [edi + 0xcf8]
jmp 0x547ed9
mov cl, byte [edi + 0x1010]
movzx eax, byte [edi + 0x1011]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x547ee5
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0xd08]
comisd xmm1, xmm0
jb 0x547ee5
inc cl
movzx eax, cl
add eax, 0xcf
mov byte [edi + 0x1010], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x1018], xmm0
movzx eax, byte [edi + 0x1010]
mov edx, eax
add edx, edx
lea ecx, [eax + 0xd0]
add eax, 0xcf
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0xd08]
subsd xmm0, qword [edi + edx*8 + 0xcf8]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x1020], xmm1
movzx ecx, byte [edi + 0x1011]
movzx eax, byte [edi + 0x1010]
dec ecx
cmp eax, ecx
jge 0x547f26
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x1020]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x1018]
movsd qword [edi + 0x1018], xmm1
cmp byte [edi + 0xcda], 0
jne 0x54806d
cmp byte [edi + 0x43ac], 0
je 0x547f89
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x547f89
mov byte [edi + 0xcd8], 0
movsd xmm0, qword [edi + 0x9b8]
movsd qword [edi + 0xce0], xmm0
movsd xmm1, qword [edi + 0x9c8]
movsd xmm0, qword [edi + 0x9d0]
subsd xmm1, qword [edi + 0x9b8]
subsd xmm0, qword [edi + 0x9c0]
jmp 0x548020
mov cl, byte [edi + 0xcd8]
movzx eax, byte [edi + 0xcd9]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54802c
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x9d]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x54802c
inc cl
mov byte [edi + 0xcd8], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 0x9b8]
movsd qword [edi + 0xce0], xmm0
movzx edx, byte [edi + 0xcd8]
mov eax, edx
add eax, eax
lea ecx, [edx + 0x9d]
add ecx, ecx
movsd xmm1, qword [edi + eax*8 + 0x9c8]
subsd xmm1, qword [edi + eax*8 + 0x9b8]
lea eax, [edx + 0x9c]
movsd xmm0, qword [edi + ecx*8]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0xce8], xmm1
movzx ecx, byte [edi + 0xcd9]
movzx eax, byte [edi + 0xcd8]
dec ecx
cmp eax, ecx
jge 0x54806d
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0xce8]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0xce0]
movsd qword [edi + 0xce0], xmm1
cmp byte [edi + 0x662], 0
jne 0x5481ab
cmp byte [edi + 0x43ac], 0
je 0x5480d0
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5480d0
mov byte [edi + 0x660], 0
movsd xmm0, qword [edi + 0x340]
movsd qword [edi + 0x668], xmm0
movsd xmm1, qword [edi + 0x350]
movsd xmm0, qword [edi + 0x358]
subsd xmm1, qword [edi + 0x340]
subsd xmm0, qword [edi + 0x348]
jmp 0x54815e
mov cl, byte [edi + 0x660]
movzx eax, byte [edi + 0x661]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54816a
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x358]
comisd xmm1, xmm0
jb 0x54816a
inc cl
movzx eax, cl
add eax, 0x34
mov byte [edi + 0x660], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x668], xmm0
movzx eax, byte [edi + 0x660]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x35]
add eax, 0x34
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x358]
subsd xmm0, qword [edi + edx*8 + 0x348]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x670], xmm1
movzx ecx, byte [edi + 0x661]
movzx eax, byte [edi + 0x660]
dec ecx
cmp eax, ecx
jge 0x5481ab
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x670]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x668]
movsd qword [edi + 0x668], xmm1
cmp byte [edi + 0x32a], 0
jne 0x5482c6
cmp byte [edi + 0x43ac], 0
je 0x5481fc
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5481fc
mov byte [edi + 0x328], 0
movsd xmm0, qword [edi + 8]
movsd qword [edi + 0x330], xmm0
movsd xmm1, qword [edi + 0x18]
movsd xmm0, qword [edi + 0x20]
subsd xmm1, qword [edi + 8]
subsd xmm0, qword [edi + 0x10]
jmp 0x548279
mov cl, byte [edi + 0x328]
movzx eax, byte [edi + 0x329]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548285
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 2]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x548285
inc cl
mov byte [edi + 0x328], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 8]
movsd qword [edi + 0x330], xmm0
movzx eax, byte [edi + 0x328]
mov ecx, eax
add eax, 2
add ecx, ecx
add eax, eax
movsd xmm1, qword [edi + ecx*8 + 0x18]
movsd xmm0, qword [edi + eax*8]
subsd xmm1, qword [edi + ecx*8 + 8]
subsd xmm0, qword [edi + ecx*8 + 0x10]
divsd xmm1, xmm0
movsd qword [edi + 0x338], xmm1
movzx ecx, byte [edi + 0x329]
movzx eax, byte [edi + 0x328]
dec ecx
cmp eax, ecx
jge 0x5482c6
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x338]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x330]
movsd qword [edi + 0x330], xmm1
cmp byte [edi + 0x19ba], 0
jne 0x54840d
cmp byte [edi + 0x43ac], 0
je 0x548329
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548329
mov byte [edi + 0x19b8], 0
movsd xmm0, qword [edi + 0x1698]
movsd qword [edi + 0x19c0], xmm0
movsd xmm1, qword [edi + 0x16a8]
movsd xmm0, qword [edi + 0x16b0]
subsd xmm1, qword [edi + 0x1698]
subsd xmm0, qword [edi + 0x16a0]
jmp 0x5483c0
mov cl, byte [edi + 0x19b8]
movzx eax, byte [edi + 0x19b9]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5483cc
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x16b]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x5483cc
inc cl
mov byte [edi + 0x19b8], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 0x1698]
movsd qword [edi + 0x19c0], xmm0
movzx edx, byte [edi + 0x19b8]
mov eax, edx
add eax, eax
lea ecx, [edx + 0x16b]
add ecx, ecx
movsd xmm1, qword [edi + eax*8 + 0x16a8]
subsd xmm1, qword [edi + eax*8 + 0x1698]
lea eax, [edx + 0x16a]
movsd xmm0, qword [edi + ecx*8]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x19c8], xmm1
movzx ecx, byte [edi + 0x19b9]
movzx eax, byte [edi + 0x19b8]
dec ecx
cmp eax, ecx
jge 0x54840d
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x19c8]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x19c0]
movsd qword [edi + 0x19c0], xmm1
cmp byte [edi + 0x1682], 0
jne 0x548552
cmp byte [edi + 0x43ac], 0
je 0x548470
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548470
mov byte [edi + 0x1680], 0
movsd xmm0, qword [edi + 0x1360]
movsd qword [edi + 0x1688], xmm0
movsd xmm1, qword [edi + 0x1370]
movsd xmm0, qword [edi + 0x1378]
subsd xmm1, qword [edi + 0x1360]
subsd xmm0, qword [edi + 0x1368]
jmp 0x548505
mov cl, byte [edi + 0x1680]
movzx eax, byte [edi + 0x1681]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548511
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x1378]
comisd xmm1, xmm0
jb 0x548511
inc cl
movzx eax, cl
add eax, 0x136
mov byte [edi + 0x1680], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x1688], xmm0
movzx eax, byte [edi + 0x1680]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x137]
add eax, 0x136
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x1378]
subsd xmm0, qword [edi + edx*8 + 0x1368]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x1690], xmm1
movzx ecx, byte [edi + 0x1681]
movzx eax, byte [edi + 0x1680]
dec ecx
cmp eax, ecx
jge 0x548552
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x1690]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x1688]
movsd qword [edi + 0x1688], xmm1
cmp byte [edi + 0x29d2], 0
jne 0x548697
cmp byte [edi + 0x43ac], 0
je 0x5485b5
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5485b5
mov byte [edi + 0x29d0], 0
movsd xmm0, qword [edi + 0x26b0]
movsd qword [edi + 0x29d8], xmm0
movsd xmm1, qword [edi + 0x26c0]
movsd xmm0, qword [edi + 0x26c8]
subsd xmm1, qword [edi + 0x26b0]
subsd xmm0, qword [edi + 0x26b8]
jmp 0x54864a
mov cl, byte [edi + 0x29d0]
movzx eax, byte [edi + 0x29d1]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548656
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x26c8]
comisd xmm1, xmm0
jb 0x548656
inc cl
movzx eax, cl
add eax, 0x26b
mov byte [edi + 0x29d0], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x29d8], xmm0
movzx eax, byte [edi + 0x29d0]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x26c]
add eax, 0x26b
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x26c8]
subsd xmm0, qword [edi + edx*8 + 0x26b8]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x29e0], xmm1
movzx ecx, byte [edi + 0x29d1]
movzx eax, byte [edi + 0x29d0]
dec ecx
cmp eax, ecx
jge 0x548697
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x29e0]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x29d8]
movsd qword [edi + 0x29d8], xmm1
cmp byte [edi + 0x337a], 0
jne 0x5487de
cmp byte [edi + 0x43ac], 0
je 0x5486fa
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x5486fa
mov byte [edi + 0x3378], 0
movsd xmm0, qword [edi + 0x3058]
movsd qword [edi + 0x3380], xmm0
movsd xmm1, qword [edi + 0x3068]
movsd xmm0, qword [edi + 0x3070]
subsd xmm1, qword [edi + 0x3058]
subsd xmm0, qword [edi + 0x3060]
jmp 0x548791
mov cl, byte [edi + 0x3378]
movzx eax, byte [edi + 0x3379]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x54879d
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x307]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x54879d
inc cl
mov byte [edi + 0x3378], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 0x3058]
movsd qword [edi + 0x3380], xmm0
movzx edx, byte [edi + 0x3378]
mov eax, edx
add eax, eax
lea ecx, [edx + 0x307]
add ecx, ecx
movsd xmm1, qword [edi + eax*8 + 0x3068]
subsd xmm1, qword [edi + eax*8 + 0x3058]
lea eax, [edx + 0x306]
movsd xmm0, qword [edi + ecx*8]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x3388], xmm1
movzx ecx, byte [edi + 0x3379]
movzx eax, byte [edi + 0x3378]
dec ecx
cmp eax, ecx
jge 0x5487de
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x3388]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x3380]
movsd qword [edi + 0x3380], xmm1
cmp byte [edi + 0x3042], 0
jne 0x548923
cmp byte [edi + 0x43ac], 0
je 0x548841
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548841
mov byte [edi + 0x3040], 0
movsd xmm0, qword [edi + 0x2d20]
movsd qword [edi + 0x3048], xmm0
movsd xmm1, qword [edi + 0x2d30]
movsd xmm0, qword [edi + 0x2d38]
subsd xmm1, qword [edi + 0x2d20]
subsd xmm0, qword [edi + 0x2d28]
jmp 0x5488d6
mov cl, byte [edi + 0x3040]
movzx eax, byte [edi + 0x3041]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x5488e2
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x2d38]
comisd xmm1, xmm0
jb 0x5488e2
inc cl
movzx eax, cl
add eax, 0x2d2
mov byte [edi + 0x3040], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x3048], xmm0
movzx eax, byte [edi + 0x3040]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x2d3]
add eax, 0x2d2
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x2d38]
subsd xmm0, qword [edi + edx*8 + 0x2d28]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x3050], xmm1
movzx ecx, byte [edi + 0x3041]
movzx eax, byte [edi + 0x3040]
dec ecx
cmp eax, ecx
jge 0x548923
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x3050]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x3048]
movsd qword [edi + 0x3048], xmm1
cmp byte [edi + 0x2362], 0
jne 0x548a68
cmp byte [edi + 0x43ac], 0
je 0x548986
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548986
mov byte [edi + 0x2360], 0
movsd xmm0, qword [edi + 0x2040]
movsd qword [edi + 0x2368], xmm0
movsd xmm1, qword [edi + 0x2050]
movsd xmm0, qword [edi + 0x2058]
subsd xmm1, qword [edi + 0x2040]
subsd xmm0, qword [edi + 0x2048]
jmp 0x548a1b
mov cl, byte [edi + 0x2360]
movzx eax, byte [edi + 0x2361]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548a27
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x2058]
comisd xmm1, xmm0
jb 0x548a27
inc cl
movzx eax, cl
add eax, 0x204
mov byte [edi + 0x2360], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x2368], xmm0
movzx eax, byte [edi + 0x2360]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x205]
add eax, 0x204
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x2058]
subsd xmm0, qword [edi + edx*8 + 0x2048]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x2370], xmm1
movzx ecx, byte [edi + 0x2361]
movzx eax, byte [edi + 0x2360]
dec ecx
cmp eax, ecx
jge 0x548a68
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x2370]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x2368]
movsd qword [edi + 0x2368], xmm1
cmp byte [edi + 0x202a], 0
jne 0x548baf
cmp byte [edi + 0x43ac], 0
je 0x548acb
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548acb
mov byte [edi + 0x2028], 0
movsd xmm0, qword [edi + 0x1d08]
movsd qword [edi + 0x2030], xmm0
movsd xmm1, qword [edi + 0x1d18]
movsd xmm0, qword [edi + 0x1d20]
subsd xmm1, qword [edi + 0x1d08]
subsd xmm0, qword [edi + 0x1d10]
jmp 0x548b62
mov cl, byte [edi + 0x2028]
movzx eax, byte [edi + 0x2029]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548b6e
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x1d2]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x548b6e
inc cl
mov byte [edi + 0x2028], cl
movzx eax, cl
add eax, eax
movsd xmm0, qword [edi + eax*8 + 0x1d08]
movsd qword [edi + 0x2030], xmm0
movzx edx, byte [edi + 0x2028]
mov eax, edx
add eax, eax
lea ecx, [edx + 0x1d2]
add ecx, ecx
movsd xmm1, qword [edi + eax*8 + 0x1d18]
subsd xmm1, qword [edi + eax*8 + 0x1d08]
lea eax, [edx + 0x1d1]
movsd xmm0, qword [edi + ecx*8]
add eax, eax
subsd xmm0, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x2038], xmm1
movzx ecx, byte [edi + 0x2029]
movzx eax, byte [edi + 0x2028]
dec ecx
cmp eax, ecx
jge 0x548baf
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x2038]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x2030]
movsd qword [edi + 0x2030], xmm1
cmp byte [edi + 0x3d22], 0
jne 0x548cf4
cmp byte [edi + 0x43ac], 0
je 0x548c12
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548c12
mov byte [edi + 0x3d20], 0
movsd xmm0, qword [edi + 0x3a00]
movsd qword [edi + 0x3d28], xmm0
movsd xmm1, qword [edi + 0x3a10]
movsd xmm0, qword [edi + 0x3a18]
subsd xmm1, qword [edi + 0x3a00]
subsd xmm0, qword [edi + 0x3a08]
jmp 0x548ca7
mov cl, byte [edi + 0x3d20]
movzx eax, byte [edi + 0x3d21]
movzx edx, cl
dec eax
cmp edx, eax
jge 0x548cb3
movss xmm0, dword [edi + 0x43a8]
add edx, edx
movss xmm1, dword [edi + 0x64f4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + edx*8 + 0x3a18]
comisd xmm1, xmm0
jb 0x548cb3
inc cl
movzx eax, cl
add eax, 0x3a0
mov byte [edi + 0x3d20], cl
add eax, eax
movsd xmm0, qword [edi + eax*8]
movsd qword [edi + 0x3d28], xmm0
movzx eax, byte [edi + 0x3d20]
mov edx, eax
add edx, edx
lea ecx, [eax + 0x3a1]
add eax, 0x3a0
add ecx, ecx
add eax, eax
movsd xmm0, qword [edi + edx*8 + 0x3a18]
subsd xmm0, qword [edi + edx*8 + 0x3a08]
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
divsd xmm1, xmm0
movsd qword [edi + 0x3d30], xmm1
movzx ecx, byte [edi + 0x3d21]
movzx eax, byte [edi + 0x3d20]
dec ecx
cmp eax, ecx
jge 0x548cf4
movss xmm0, dword [edi + 0x43a8]
movsd xmm1, qword [edi + 0x3d30]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm1, qword [edi + 0x3d28]
movsd qword [edi + 0x3d28], xmm1
cmp byte [edi + 0x39ea], 0
jne 0x548f82
cmp byte [edi + 0x43ac], 0
je 0x548d2c
movss xmm0, dword [edi + 0x64f4]
comiss xmm0, dword [edi + 0x43a8]
jb 0x548d2c
mov byte [edi + 0x39e8], 0
cvtsd2si eax, qword [edi + 0x36c8]
jmp 0x548d8b
movzx eax, byte [edi + 0x39e9]
mov cl, byte [edi + 0x39e8]
dec eax
movzx edx, cl
mov dword [ebp - 0xc], eax
cmp edx, eax
jge 0x548f82
movss xmm0, dword [edi + 0x43a8]
lea eax, [edx + 0x36e]
movss xmm1, dword [edi + 0x64f4]
add eax, eax
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [edi + eax*8]
comisd xmm1, xmm0
jb 0x548df6
inc cl
movzx eax, cl
add eax, eax
mov byte [edi + 0x39e8], cl
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
sar eax, 0x10
and eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x39f0], xmm0
movzx eax, byte [edi + 0x39e8]
add eax, eax
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
sar eax, 8
and eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x39f4], xmm0
movzx eax, byte [edi + 0x39e8]
add eax, eax
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
and eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x39f8], xmm0
jmp 0x548f82
mov eax, dword [ebp - 0xc]
cmp edx, eax
jge 0x548f82
mov eax, edx
movss xmm0, dword [edi + 0x43a8]
add eax, eax
cvtps2pd xmm0, xmm0
cvtsd2si ecx, qword [edi + eax*8 + 0x36d8]
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
sar ecx, 0x10
and ecx, 0xff
sar eax, 0x10
and eax, 0xff
sub ecx, eax
lea eax, [edx + 0x36d]
add eax, eax
movd xmm2, ecx
lea ecx, [edx + 0x36e]
add ecx, ecx
cvtdq2pd xmm2, xmm2
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
mulsd xmm1, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [edi + 0x39f0]
movss dword [edi + 0x39f0], xmm0
movzx edx, byte [edi + 0x39e8]
mov eax, edx
movss xmm0, dword [edi + 0x43a8]
add eax, eax
cvtps2pd xmm0, xmm0
cvtsd2si ecx, qword [edi + eax*8 + 0x36d8]
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
sar ecx, 8
and ecx, 0xff
sar eax, 8
and eax, 0xff
sub ecx, eax
lea eax, [edx + 0x36d]
add eax, eax
movd xmm2, ecx
lea ecx, [edx + 0x36e]
add ecx, ecx
cvtdq2pd xmm2, xmm2
movsd xmm1, qword [edi + ecx*8]
subsd xmm1, qword [edi + eax*8]
mulsd xmm1, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [edi + 0x39f4]
movss dword [edi + 0x39f4], xmm0
movzx edx, byte [edi + 0x39e8]
movss xmm0, dword [edi + 0x43a8]
mov eax, edx
add eax, eax
cvtps2pd xmm0, xmm0
cvtsd2si ecx, qword [edi + eax*8 + 0x36d8]
cvtsd2si eax, qword [edi + eax*8 + 0x36c8]
and ecx, 0xff
and eax, 0xff
sub ecx, eax
lea eax, [edx + 0x36d]
movd xmm2, ecx
lea ecx, [edx + 0x36e]
shl ecx, 4
add eax, eax
cvtdq2pd xmm2, xmm2
movsd xmm1, qword [ecx + edi]
subsd xmm1, qword [edi + eax*8]
mulsd xmm1, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss xmm2, dword [ebp + 8]
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x39f8]
movss dword [edi + 0x39f8], xmm0
jmp 0x548f82
cmp dword [edi + 0x6518], 0
je 0x54a2ac
movss xmm0, dword [edi + 0x64f4]
movss xmm1, dword [edi + 0x43a8]
comiss xmm0, xmm1
jb 0x548fac
cmp byte [edi + 0x43ac], 0
je 0x548fac
subss xmm0, xmm1
movss dword [edi + 0x64f4], xmm0
cmp byte [edi + 0x6530], 0
je 0x548fbc
mov byte [edi + 0x652c], 1
movzx eax, byte [edi + 0x5708]
movss xmm1, dword [0x577570]
dec eax
cmp eax, 3
ja case.default.0x548fd5
jmp dword [eax*4 + 0x54a2b4]
movss xmm0, dword [edi + 0x16fa84]
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [edi + 0x5d70]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [edi + 0x16fa84]
cvtps2pd xmm0, xmm0
movss dword [ebp - 0xc], xmm1
call sub.msvcr120.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [edi + 0x6504]
subss xmm0, xmm1
movss xmm1, dword [0x57770c]
movss dword [edi + 0x6504], xmm0
movss xmm0, dword [edi + 0x6508]
subss xmm0, dword [ebp - 0xc]
movss dword [edi + 0x6508], xmm0
movsd xmm0, qword [edi + 0x63e0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [edi + 0x16fa84]
comiss xmm0, xmm1
movss dword [edi + 0x16fa84], xmm0
jbe 0x549092
subss xmm0, xmm1
movss dword [edi + 0x16fa84], xmm0
movss xmm0, dword [edi + 0x16fa84]
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [edi + 0x5d70]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [edi + 0x16fa84]
cvtps2pd xmm0, xmm0
movss dword [ebp - 0xc], xmm1
call sub.msvcr120.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [edi + 0x6504]
movss dword [edi + 0x6504], xmm1
movss xmm0, dword [edi + 0x6508]
addss xmm0, dword [ebp - 0xc]
jmp 0x54943b
movsd xmm0, qword [edi + 0x60a8]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0xc], xmm0
movsd xmm0, qword [edi + 0x60a8]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_cos_precise
movd xmm4, dword [edi + 0x16fa7c]
xorps xmm1, xmm1
movd xmm5, dword [edi + 0x16fa80]
movss xmm2, dword [ebp + 8]
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [edi + 0x63e0]
cvtpd2ps xmm0, xmm0
cvtdq2ps xmm4, xmm4
mulss xmm0, xmm2
cvtdq2ps xmm5, xmm5
mulss xmm4, xmm0
mulss xmm5, xmm0
movss xmm0, dword [edi + 0x16fa74]
movss xmm7, dword [0x577c44]
addss xmm0, xmm4
movss dword [edi + 0x16fa74], xmm0
movss xmm0, dword [edi + 0x16fa78]
addss xmm0, xmm5
movss dword [edi + 0x16fa78], xmm0
movsd xmm3, qword [edi + 0x5a38]
movss xmm0, dword [edi + 0x16fa74]
cvtpd2ps xmm3, xmm3
comiss xmm0, xmm3
jbe 0x549212
mov dword [edi + 0x16fa7c], 0xffffffff
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x16fa74], xmm0
movss xmm3, dword [0x577ec0]
movsd xmm6, qword [edi + 0x5a38]
movss xmm0, dword [edi + 0x16fa78]
cvtpd2ps xmm6, xmm6
comiss xmm0, xmm6
jbe 0x549246
mov dword [edi + 0x16fa80], 0xffffffff
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
jmp 0x549268
mulss xmm0, xmm7
comiss xmm0, xmm3
jbe 0x5491d9
movss xmm3, dword [0x577ec0]
mov dword [edi + 0x16fa7c], 1
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
xorps xmm0, xmm3
movss dword [edi + 0x16fa74], xmm0
jmp 0x5491e1
mulss xmm0, xmm7
comiss xmm0, xmm6
jbe 0x549270
mov dword [edi + 0x16fa80], 1
movsd xmm0, qword [edi + 0x5a38]
cvtpd2ps xmm0, xmm0
xorps xmm0, xmm3
movss dword [edi + 0x16fa78], xmm0
movss xmm0, dword [ebp - 0xc]
mulss xmm1, xmm4
mulss xmm0, xmm5
addss xmm1, dword [edi + 0x6504]
movss dword [edi + 0x6504], xmm1
addss xmm0, dword [edi + 0x6508]
jmp 0x549440
movsd xmm0, qword [edi + 0x63e0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x16fa84]
comiss xmm0, xmm1
movss dword [edi + 0x16fa84], xmm0
jb case.default.0x548fd5
lea ecx, [edi + 0x16faa4]
call fcn.0054ac00
movd xmm0, dword [edi + 0x16fac0]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [0x577570]
addss xmm0, dword [edi + 0x6504]
movss dword [edi + 0x6504], xmm0
movd xmm0, dword [edi + 0x16fac4]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + 0x6508]
movss dword [edi + 0x6508], xmm0
movss xmm0, dword [edi + 0x16fa84]
subss xmm0, xmm1
comiss xmm0, xmm1
movss dword [edi + 0x16fa84], xmm0
jae 0x5492c3
movss xmm2, dword [ebp + 8]
lea esi, [edi + 0x6534]
jmp case.default.0x548fd5
movss xmm0, dword [edi + 0x16fa84]
push ecx
lea ecx, [ebp - 0x3c]
movss dword [esp], xmm0
push ecx
lea ecx, [edi + 0x16fad0]
call fcn.005500d0
cvtsd2si eax, qword [ebp - 0x3c]
mov dword [edi + 0x16fa88], eax
cvtsd2si eax, qword [ebp - 0x34]
mov dword [edi + 0x16fa8c], eax
movd xmm0, dword [edi + 0x16fa88]
movss xmm1, dword [edi + 0x6504]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [edi + 0x6504], xmm1
movd xmm0, dword [edi + 0x16fa8c]
movss xmm1, dword [edi + 0x6508]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [edi + 0x6508], xmm1
movsd xmm0, qword [edi + 0x63e0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [edi + 0x16fa84]
movss dword [edi + 0x16fa84], xmm0
comiss xmm0, dword [edi + 0x16fb28]
jbe 0x5493da
mov dword [edi + 0x16fa84], 0
movss xmm0, dword [edi + 0x16fa84]
lea eax, [ebp - 0x2c]
push ecx
movss dword [esp], xmm0
lea ecx, [edi + 0x16fad0]
push eax
call fcn.005500d0
cvtsd2si eax, qword [ebp - 0x2c]
mov dword [edi + 0x16fa88], eax
cvtsd2si eax, qword [ebp - 0x24]
mov dword [edi + 0x16fa8c], eax
movd xmm0, dword [edi + 0x16fa88]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + 0x6504]
movss dword [edi + 0x6504], xmm0
movd xmm0, dword [edi + 0x16fa8c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + 0x6508]
movss xmm2, dword [ebp + 8]
movss xmm1, dword [0x577570]
movss dword [edi + 0x6508], xmm0
cmp byte [edi + 0x405a], 0
jne 0x549480
movsd xmm0, qword [edi + 0x4060]
cvtpd2ps xmm0, xmm0
mov eax, dword [edi]
push ecx
movss dword [esp], xmm2
divss xmm1, xmm0
movss dword [eax + 0xfc], xmm1
mov ecx, dword [edi]
call fcn.0054c6c0
movss xmm3, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 4], edx
cmp dword [edi + 0x6518], edx
jle 0x549725
jmp 0x5494a0
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x8c]
comiss xmm0, dword [esi + 0x90]
movss dword [esi + 0x8c], xmm0
jb 0x5494f3
cmp byte [edi + 0x678], 0
jne 0x5494f3
dec dword [edi + 0x6518]
lea esi, [edi + 0x6534]
imul eax, dword [edi + 0x6518], 0x94
mov ecx, 0x25
mov edi, dword [ebp - 8]
add esi, eax
dec edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
jmp 0x54970c
cmp byte [edi + 0x46d2], 0
je 0x5495be
movss xmm0, dword [esi + 0x24]
addss xmm0, dword [esi + 0x20]
movss dword [ebp - 0xc], xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 8], xmm0
movss xmm0, dword [ebp - 0xc]
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
movss xmm3, dword [esi + 0x1c]
cvtsd2ss xmm0, xmm0
push ecx
movaps xmm2, xmm3
mulss xmm2, dword [ebp - 8]
mulss xmm3, xmm0
addss xmm2, dword [esi + 8]
addss xmm3, dword [esi + 0xc]
mulss xmm2, dword [ebp + 8]
mulss xmm3, dword [ebp + 8]
addss xmm2, dword [esi]
addss xmm3, dword [esi + 4]
movss dword [esi], xmm2
movss dword [esi + 4], xmm3
subss xmm2, dword [edi + 0x6504]
subss xmm3, dword [edi + 0x6508]
movaps xmm0, xmm2
movss dword [ebp - 8], xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
movss dword [ebp - 0x14], xmm3
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.0054fc00
movss xmm5, dword [ebp + 8]
fstp dword [ebp - 0xc]
movss xmm2, dword [ebp - 0xc]
movaps xmm6, xmm2
mulss xmm2, dword [ebp - 0x14]
mulss xmm6, dword [ebp - 8]
jmp 0x54964c
movss xmm0, dword [esi + 4]
subss xmm0, dword [edi + 0x6508]
movss xmm2, dword [esi]
subss xmm2, dword [edi + 0x6504]
push ecx
movaps xmm1, xmm0
movss dword [ebp - 8], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
movss dword [ebp - 0xc], xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.0054fc00
movss xmm1, dword [esi + 0x1c]
movss xmm5, dword [ebp + 8]
movaps xmm0, xmm1
fstp dword [ebp - 0x14]
movss xmm2, dword [ebp - 0x14]
movaps xmm6, xmm2
mulss xmm2, dword [ebp - 8]
mulss xmm6, dword [ebp - 0xc]
mulss xmm1, xmm2
mulss xmm0, xmm6
addss xmm1, dword [esi + 0xc]
addss xmm0, dword [esi + 8]
mulss xmm1, xmm5
mulss xmm0, xmm5
addss xmm1, dword [esi + 4]
addss xmm0, dword [esi]
movss dword [esi + 4], xmm1
movss dword [esi], xmm0
movss xmm3, dword [esi + 0x3c]
movaps xmm1, xmm2
addss xmm3, dword [esi + 0x38]
movss xmm4, dword [esi + 0x44]
add esp, 4
addss xmm4, dword [esi + 0x40]
xorps xmm1, xmmword [0x577ec0]
movaps xmm0, xmm3
mulss xmm3, xmm2
push ecx
movaps xmm2, xmm4
mulss xmm0, xmm6
mov ecx, edi
mulss xmm4, xmm6
mulss xmm2, xmm1
addss xmm4, xmm3
movss dword [esp], xmm5
push esi
addss xmm2, xmm0
addss xmm4, dword [esi + 0x48]
mulss xmm2, xmm5
addss xmm4, dword [esi + 0x4c]
addss xmm2, dword [esi + 0x10]
mulss xmm4, xmm5
movss dword [esi + 0x10], xmm2
mulss xmm2, xmm5
addss xmm4, dword [esi + 0x14]
addss xmm2, dword [esi]
movss dword [esi + 0x14], xmm4
mulss xmm4, xmm5
movss dword [esi], xmm2
addss xmm4, dword [esi + 4]
movss dword [esi + 4], xmm4
call fcn.0054b670
cmp byte [edi + 0x6530], 0
je 0x549704
movss xmm0, dword [esi + 4]
lea ecx, [edi + 0x651c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [esi]
movss dword [esp], xmm0
call fcn.0054f5e0
mov edx, dword [ebp - 4]
movss xmm3, dword [ebp + 8]
inc edx
add esi, 0x94
mov dword [ebp - 4], edx
mov dword [ebp - 8], esi
cmp edx, dword [edi + 0x6518]
jl 0x5494a0
movss xmm0, dword [edi + 0x64f4]
ucomiss xmm0, dword [0x577c60]
lahf
test ah, 0x44
jnp 0x54a294
movsd xmm1, qword [edi + 0x4398]
lea ecx, [edi + 0x6534]
cvtpd2ps xmm1, xmm1
mov dword [ebp - 0xc], 0
mulss xmm1, xmm3
addss xmm1, dword [edi + 0x64f0]
movss dword [ebp + 8], xmm1
fld dword [ebp + 8]
fistp qword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [edi + 0x64f0], xmm1
imul eax, dword [edi + 0x6518], 0x94
add ecx, eax
mov dword [ebp + 8], ecx
test edx, edx
jle 0x54a294
lea esi, [ecx + 0x14]
mov dword [ebp - 4], esi
movsx eax, word [edi + 0x43ae]
mov ecx, dword [edi + 0x6518]
cmp ecx, eax
jge 0x54a294
cmp ecx, 0x2710
jge 0x54a294
mov dword [esi + 0x78], 0
sub esp, 8
movsd xmm0, qword [edi + 0x668]
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x330]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [esi + 0x7c]
mov eax, dword [0x58d000]
sub esp, 8
movss xmm0, dword [edi + 0x64fc]
movss dword [ebp - 0x10], xmm0
mov ecx, dword [eax]
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
push eax
mov eax, dword [ecx + 0xb8]
call eax
movss xmm0, dword [edi + 0x6504]
sub esp, 8
subss xmm0, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
mov dword [esp + 4], 0x3f800000
mulss xmm1, xmm0
mov dword [esp], 0
addss xmm1, dword [ebp - 0x10]
movss dword [eax], xmm1
mov eax, dword [0x58d000]
movss xmm0, dword [edi + 0x6500]
push eax
movss dword [ebp - 0x10], xmm0
mov ecx, dword [eax]
mov eax, dword [ecx + 0xb8]
call eax
movss xmm0, dword [edi + 0x6508]
subss xmm0, dword [ebp - 0x10]
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
mov dword [esi + 0x1c], 0
mov byte [esi + 0x20], 0
mulss xmm1, xmm0
addss xmm1, dword [ebp - 0x10]
movss dword [esi - 0x10], xmm1
cmp byte [edi + 0x405a], 0
je 0x5498cd
movsd xmm0, qword [edi + 0x3d38]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x18], xmm0
movzx eax, byte [edi + 0x5090]
sub eax, 0
je 0x549b03
dec eax
je 0x549a65
dec eax
jne 0x549be3
cmp dword [edi + 0x16fa90], eax
je 0x549be3
cmp dword [edi + 0x16fa94], eax
je 0x549be3
mov eax, dword [0x58d000]
push 0
push dword [edi + 0x16fa90]
mov esi, dword [eax]
push eax
call dword [esi + 0x22c]
dec eax
push eax
push 0
push dword [0x58d000]
call dword [esi + 0xb4]
push 0
push dword [edi + 0x16fa90]
movd xmm0, eax
mov eax, dword [0x58d000]
cvtdq2ps xmm0, xmm0
push eax
mov esi, dword [eax]
movss dword [ebp - 8], xmm0
call dword [esi + 0x230]
dec eax
push eax
push 0
push dword [0x58d000]
call dword [esi + 0xb4]
cvtss2si ecx, dword [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtss2si eax, xmm0
movss dword [ebp - 0x14], xmm0
imul eax, dword [edi + 0x16faa0]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
mov ecx, dword [edi + 0x16fa94]
test dword [ecx + eax*4], 0xff000000
je 0x549903
movsd xmm0, qword [edi + 0x56f8]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x10], xmm0
movsd xmm0, qword [edi + 0x56f8]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
movss xmm4, dword [ebp - 8]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 4]
movd xmm0, dword [edi + 0x16fa98]
cvtdq2ps xmm0, xmm0
movss xmm5, dword [ebp - 0x14]
mulss xmm0, dword [0x577514]
movss xmm3, dword [ebp - 0x10]
movaps xmm1, xmm3
subss xmm4, xmm0
movd xmm0, dword [edi + 0x16fa9c]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm4
mulss xmm0, dword [0x577514]
subss xmm5, xmm0
movaps xmm0, xmm2
mulss xmm2, xmm4
mulss xmm0, xmm5
mulss xmm3, xmm5
subss xmm1, xmm0
movsd xmm0, qword [edi + 0x53c0]
cvtpd2ps xmm0, xmm0
addss xmm3, xmm2
mulss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movsd xmm0, qword [edi + 0x53c0]
cvtpd2ps xmm0, xmm0
mulss xmm3, xmm0
addss xmm3, dword [esi - 0x10]
movss dword [esi - 0x10], xmm3
jmp 0x549be3
movsd xmm0, qword [edi + 0x53c0]
sub esp, 8
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
mulss xmm0, dword [0x577514]
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x577c44]
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
mov eax, dword [ebp + 8]
sub esp, 8
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [eax]
movss dword [eax], xmm0
movsd xmm0, qword [edi + 0x56f8]
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
mulss xmm0, dword [0x577514]
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x577c44]
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [esi - 0x10]
movss dword [esi - 0x10], xmm0
jmp 0x549be3
mov eax, dword [0x58d000]
sub esp, 8
mov ecx, dword [eax]
mov dword [esp + 4], 0x40c90fdb
mov dword [esp], 0
push eax
mov eax, dword [ecx + 0xb8]
call eax
movsd xmm0, qword [edi + 0x53c0]
sub esp, 8
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
fstp dword [ebp - 8]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x56f8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
movss xmm0, dword [ebp - 8]
cvtps2pd xmm0, xmm0
fstp dword [ebp - 0x14]
call sub.msvcr120.dll__libm_sse2_cos_precise
movss xmm1, dword [ebp - 0x14]
sub esp, 8
mov eax, dword [ebp + 8]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movsd xmm0, qword [edi + 0x53c0]
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x56f8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
movss xmm0, dword [ebp - 8]
cvtps2pd xmm0, xmm0
fstp dword [ebp - 0x14]
call sub.msvcr120.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x14]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [esi - 0x10]
movss dword [esi - 0x10], xmm1
movsd xmm0, qword [edi + 0x4a10]
sub esp, 8
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
mov dword [esp], 0
push eax
mov eax, dword [ecx + 0xb8]
call eax
movsd xmm0, qword [edi + 0x4a10]
cvtpd2ps xmm0, xmm0
fstp dword [ebp - 0x14]
mulss xmm0, dword [0x577514]
movss xmm1, dword [ebp - 0x14]
subss xmm1, xmm0
subss xmm1, dword [0x5775a0]
movss dword [esi + 0x10], xmm1
cmp byte [edi + 0x46d2], 0
je 0x549c53
movsd xmm0, qword [edi + 0x43b0]
mov byte [esi + 0x15], 0
jmp 0x549c5b
movsd xmm0, qword [edi + 0x46d8]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0xc], xmm0
addss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [esi - 0xc], xmm0
movss xmm0, dword [ebp - 0x14]
cvtps2pd xmm0, xmm0
call sub.msvcr120.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
sub esp, 8
movss dword [esi - 8], xmm0
movsd xmm0, qword [edi + 0x5080]
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x4d48]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
sub esp, 8
movss dword [esi + 4], xmm1
movaps xmm0, xmm1
mulss xmm0, dword [esi - 0xc]
movss dword [esi - 0xc], xmm0
movss xmm0, dword [esi - 8]
mulss xmm0, xmm1
xorps xmm1, xmm1
movss dword [esi - 8], xmm0
movss xmm0, dword [esi - 4]
mulss xmm0, xmm1
movss dword [esi - 4], xmm0
movss xmm0, dword [esi]
mulss xmm0, xmm1
movss dword [esi], xmm0
movsd xmm0, qword [edi + 0x680]
cvtpd2ps xmm0, xmm0
mov byte [esi + 0x14], 0
movss dword [esi + 8], xmm0
movsd xmm0, qword [edi + 0x1018]
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0xce0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [esi + 0x34]
movsd xmm0, qword [edi + 0x19c0]
sub esp, 8
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x1688]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [esi + 0x24]
movsd xmm0, qword [edi + 0x2368]
sub esp, 8
mov eax, dword [0x58d000]
cvtpd2ps xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 4], xmm0
movsd xmm0, qword [edi + 0x2030]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [esi + 0x2c]
mov word [esi + 0x3d], 0
mov byte [esi + 0x3c], 0
movsd xmm0, qword [edi + 0x1028]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x38], xmm0
movsd xmm0, qword [edi + 0x19d0]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x28], xmm0
movsd xmm0, qword [edi + 0x2378]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x30], xmm0
cmp byte [edi + 0x29d2], 0
je 0x549e94
mov byte [esi + 0x51], 0
cmp byte [edi + 0x29d1], 2
jb 0x549e7e
movsd xmm1, qword [edi + 0x26b0]
sub esp, 8
movsd xmm0, qword [edi + 0x26c0]
mov eax, dword [0x58d000]
subsd xmm0, xmm1
mov ecx, dword [eax]
mulsd xmm0, qword [edi + 0x2d10]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
movss dword [esi + 0x4c], xmm0
jmp 0x549f09
movsd xmm0, qword [edi + 0x26b0]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x4c], xmm0
jmp 0x549f09
movzx eax, byte [edi + 0x29d0]
movzx ecx, byte [edi + 0x29d1]
mov dword [ebp - 0x14], eax
inc eax
cmp eax, ecx
jge 0x549efd
mov eax, dword [ebp - 0x14]
sub esp, 8
movsd xmm1, qword [edi + 0x29d8]
add eax, 0x26c
add eax, eax
mov ecx, dword [0x58d000]
movsd xmm0, qword [edi + eax*8]
subsd xmm0, xmm1
mov edx, dword [ecx]
mov eax, dword [edx + 0xb8]
mulsd xmm0, qword [edi + 0x2d10]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push ecx
call eax
fstp dword [esi + 0x48]
jmp 0x549f0e
movsd xmm0, qword [edi + 0x29d8]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x48], xmm0
cmp byte [edi + 0x337a], 0
je 0x549f93
mov byte [esi + 0x50], 0
cmp byte [edi + 0x3379], 2
jb 0x549f80
movsd xmm1, qword [edi + 0x3058]
sub esp, 8
movsd xmm0, qword [edi + 0x3068]
mov eax, dword [0x58d000]
subsd xmm0, xmm1
mov ecx, dword [eax]
mulsd xmm0, qword [edi + 0x36b8]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
movss dword [esi + 0x44], xmm0
jmp 0x54a002
movsd xmm0, qword [edi + 0x3058]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x44], xmm0
jmp 0x54a002
movzx edx, byte [edi + 0x3378]
movzx ecx, byte [edi + 0x3379]
lea eax, [edx + 1]
cmp eax, ecx
jge 0x549ff6
movsd xmm1, qword [edi + 0x3380]
add edx, edx
mov eax, dword [0x58d000]
sub esp, 8
movsd xmm0, qword [edi + edx*8 + 0x3068]
subsd xmm0, xmm1
mov ecx, dword [eax]
mulsd xmm0, qword [edi + 0x36b8]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push eax
mov eax, dword [ecx + 0xb8]
call eax
fstp dword [esi + 0x40]
jmp 0x54a007
movsd xmm0, qword [edi + 0x3380]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x40], xmm0
cmp byte [edi + 0x39ea], 0
movss xmm1, dword [0x5778b0]
je 0x54a12a
mov byte [esi + 0x74], 0
cvtsd2si ecx, qword [edi + 0x36c8]
mov dword [esi + 0x64], 0
mov edx, ecx
mov eax, ecx
sar eax, 8
and eax, 0xff
sar edx, 0x10
and edx, 0xff
shl edx, 8
add edx, eax
movzx eax, cl
shl edx, 8
add edx, eax
mov eax, edx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
mov eax, edx
shr eax, 0x10
and eax, 0xff
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
mov eax, edx
shr eax, 8
and eax, 0xff
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
movzx eax, dl
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x24], xmm0
movdqu xmm0, xmmword [ebp - 0x2c]
movdqu xmmword [esi + 0x54], xmm0
movss xmm0, dword [esi + 0x54]
mulss xmm0, xmm1
movss dword [esi + 0x68], xmm0
movss xmm0, dword [esi + 0x58]
mulss xmm0, xmm1
movss dword [esi + 0x6c], xmm0
movss xmm0, dword [esi + 0x5c]
mulss xmm0, xmm1
movss dword [esi + 0x70], xmm0
jmp 0x54a1f6
cvtss2si ecx, dword [edi + 0x39f0]
cvtss2si eax, dword [edi + 0x39f4]
shl ecx, 8
add ecx, eax
cvtss2si eax, dword [edi + 0x39f8]
shl ecx, 8
add ecx, eax
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x30], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
mov eax, ecx
shr eax, 8
and eax, 0xff
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x3c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
movzx eax, cl
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x38], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x577e70]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
movdqu xmm0, xmmword [ebp - 0x3c]
movdqu xmmword [esi + 0x54], xmm0
cmp byte [edi + 0x3d22], 0
je 0x54a22b
mov byte [esi + 0x75], 0
movsd xmm0, qword [edi + 0x3a00]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [esi + 0x60], xmm0
movsd xmm0, qword [edi + 0x3a00]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x64], xmm0
jmp 0x54a240
movsd xmm0, qword [edi + 0x3d28]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [esi + 0x60], xmm0
cmp byte [edi + 0x6530], 0
je 0x54a26e
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x651c]
movss xmm0, dword [esi - 0x10]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.0054f5e0
mov edx, dword [ebp - 0xc]
add esi, 0x94
inc dword [edi + 0x6518]
inc edx
add dword [ebp + 8], 0x94
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x1c]
jl 0x5497a1
mov eax, dword [edi + 0x6504]
mov dword [edi + 0x64fc], eax
mov eax, dword [edi + 0x6508]
mov dword [edi + 0x6500], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4