Function at 0x140181230
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
movss dword [rax + 0x10], xmm1
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e8
cmp dword [rcx + 0x1eff0], 0
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rsi, rcx
lea rcx, [rsp + 0x60]
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
xorps xmm11, xmm11
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movaps xmm8, xmm1
movss xmm15, dword [0x140339228]
je 0x1401812ce
mov eax, dword [rsi + 0x1eff4]
mov dword [rcx], eax
mov eax, dword [rsi + 0x1eff8]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x1effc]
mov dword [rcx + 8], eax
jmp 0x1401812df
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea rcx, [rsp + 0x40]
movaps xmm3, xmm15
movaps xmm2, xmm11
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x40]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x40]
call fcn.14024f8c0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140250580
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.1402506a0
test eax, eax
je 0x140181392
lea rcx, [rsp + 0x50]
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm1, xmm15
call fcn.140250780
lea r8, [rsp + 0x50]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x50]
call fcn.14024f8c0
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140250580
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.1402506a0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
jmp 0x1401813a1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140250580
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x1e0]
call fcn.140250530
lea rdx, [rsp + 0x1e0]
lea rcx, [rsi + 0x22490]
call fcn.14024f090
lea rcx, [rsi + 0x22490]
movss xmm3, dword [rsi + 0x1f008]
movss xmm2, dword [rsi + 0x1f004]
movss xmm1, dword [rsi + 0x1f000]
call fcn.14024f800
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x1e0]
call fcn.14024f1f0
lea rcx, [rsp + 0xa0]
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0xa0]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0xa0]
call fcn.14024f8c0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0xa0]
call fcn.14024f8c0
movd xmm1, dword [rsp + 0xa4]
movd xmm0, dword [rsp + 0xa0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
movsd xmm10, qword [0x140339538]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x150]
mulsd xmm0, xmm10
movsd qword [rsi + 0x18c0], xmm0
call fcn.14024f1f0
mov r15d, 2
lea rdi, [rsp + 0xe8]
lea rbx, [rsp + 0xe8]
lea rbp, [rsi + 0x106c0]
mov r12, r15
xor r14d, r14d
nop dword [rax + rax]
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm1, xmm11
mov rcx, rbx
call fcn.140250780
mov r8, rbx
mov rdx, rbp
mov rcx, rbx
call fcn.14024f820
lea rdx, [rsp + 0x150]
mov r8, rbx
mov rcx, rbx
call fcn.14024f820
mov dword [rdi], r14d
add rdi, 0xc
add rbp, 0xe310
add rbx, 0xc
sub r12, 1
jne 0x1401814d0
lea r8, [rsp + 0xf4]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0xc0]
call fcn.140250750
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xd8]
call fcn.1402506a0
lea rcx, [rsp + 0xb0]
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm1, xmm15
call fcn.140250780
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x80]
call fcn.140250580
lea rdi, [rsi + 0x10610]
mov rbx, r14
movsd xmm13, qword [0x1403392c0]
mov rbp, r15
nop dword [rax + rax]
mov rax, qword [rdi]
lea rdx, [rsp + rbx + 0xe8]
lea rcx, [rsp + rbx + 0x220]
lea r8, [rsp + 0x80]
movsd xmm0, qword [rax + 0xa0]
xorpd xmm0, xmm13
cvtsd2ss xmm3, xmm0
call fcn.1402507c0
add rbx, 0xc
add rdi, 0xe310
sub rbp, 1
jne 0x1401815a0
lea r8, [rsp + 0xf4]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x40]
call fcn.140250750
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.1402506a0
lea r8, [rsp + 0x40]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x40]
call fcn.14024f8c0
lea rcx, [rsp + 0x60]
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x330]
call fcn.1402505f0
movd xmm5, dword [rsp + 0x330]
movsd xmm6, qword [0x140339230]
movsd xmm7, qword [0x14030ffb8]
movss xmm12, dword [0x140339440]
cvtps2pd xmm5, xmm5
andpd xmm5, xmm6
comisd xmm5, xmmword [0x140339548]
jbe 0x1401816c6
lea rdx, [rsi + 0x188c]
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140250580
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm11
call fcn.1402506a0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140250580
jmp 0x1401817a5
lea rcx, [rsp + 0x90]
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x90]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x90]
call fcn.14024f8c0
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x330]
call fcn.1402505f0
comiss xmm11, dword [rsp + 0x330]
jbe 0x140181748
movsd xmm0, qword [rsi + 0x18c8]
andpd xmm0, xmm6
comisd xmm7, xmm0
jbe 0x140181748
lea rcx, [rsp + 0x60]
movaps xmm3, xmm11
movaps xmm2, xmm12
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140250580
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm11
call fcn.1402506a0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140250580
lea rcx, [rsp + 0x60]
mov eax, dword [rcx]
mov dword [rsi + 0x188c], eax
mov eax, dword [rcx + 4]
mov dword [rsi + 0x1890], eax
mov eax, dword [rcx + 8]
mov dword [rsi + 0x1894], eax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x1a0]
call fcn.140250530
lea r8, [rsp + 0x22c]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x70]
call fcn.14024f820
lea rcx, [rsp + 0x1a0]
movss xmm3, dword [rsp + 0x78]
movss xmm2, dword [rsp + 0x74]
movss xmm1, dword [rsp + 0x70]
call fcn.14024f800
lea rcx, [rsi + 0x22260]
lea rdx, [rsp + 0x1a0]
call fcn.14024f090
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x1a0]
call fcn.14024f1f0
lea rcx, [rsp + 0xa0]
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0xa0]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0xa0]
call fcn.14024f8c0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0xa0]
call fcn.14024f8c0
movd xmm1, dword [rsp + 0xa4]
movd xmm0, dword [rsp + 0xa0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
lea r8, [rsi + 0x21e74]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x190]
mulsd xmm0, xmm10
movsd qword [rsi + 0x18c8], xmm0
call fcn.14024f820
movd xmm1, dword [rsp + 0x194]
movd xmm0, dword [rsp + 0x190]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
lea rcx, [rsp + 0x60]
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
movapd xmm6, xmm0
mulsd xmm6, xmm10
call fcn.140250780
lea rcx, [rsp + 0x40]
movaps xmm3, xmm15
movaps xmm2, xmm11
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x40]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x40]
call fcn.14024f8c0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x40]
call fcn.14024f8c0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm11
call fcn.1402506a0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x40]
call fcn.14024f950
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140250580
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm11
call fcn.1402506a0
test eax, eax
jne 0x1401819a8
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.140250580
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x150]
call fcn.140250530
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x150]
call fcn.14024f1f0
lea rcx, [rsp + 0x60]
cmp dword [rsi + 0x1eff0], r14d
je 0x140181a03
mov eax, dword [rsi + 0x1eff4]
mov dword [rcx], eax
mov eax, dword [rsi + 0x1eff8]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x1effc]
mov dword [rcx + 8], eax
jmp 0x140181a14
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xa0]
call fcn.14024f8c0
movd xmm1, dword [rsp + 0xa4]
movd xmm0, dword [rsp + 0xa0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
movsxd rax, dword [rsi + 0x1900]
movapd xmm2, xmm6
unpcklps xmm8, xmm8
subsd xmm2, qword [rsi + 0x1898]
cvtps2pd xmm1, xmm8
movsd qword [rsp + 0x340], xmm0
divsd xmm2, xmm1
movsd qword [rsi + rax*8 + 0x18d8], xmm2
inc dword [rsi + 0x1900]
cmp dword [rsi + 0x1900], 5
movsd qword [rsp + 0xd8], xmm2
jne 0x140181a9b
mov dword [rsi + 0x1900], r14d
movsd xmm0, qword [rsi + 0x18d8]
xorpd xmm14, xmm14
lea rcx, [rsp + 0x100]
movaps xmm3, xmm15
movaps xmm1, xmm11
addsd xmm0, xmm14
addsd xmm0, qword [rsi + 0x18e0]
addsd xmm0, qword [rsi + 0x18e8]
addsd xmm0, qword [rsi + 0x18f0]
addsd xmm0, qword [rsi + 0x18f8]
movsd qword [rsi + 0x18a0], xmm2
movsd qword [rsi + 0x1898], xmm6
movaps xmm2, xmm11
divsd xmm0, qword [0x1403396c8]
movsd qword [rsp + 0x80], xmm0
movsd qword [rsi + 0x1908], xmm0
call fcn.140250780
lea r8, [rsp + 0x100]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x100]
call fcn.14024f8c0
movd xmm1, dword [rsp + 0x108]
movd xmm0, dword [rsp + 0x100]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
movsd xmm1, qword [rsi + 0x2020]
movapd xmm6, xmm0
mulsd xmm6, xmm10
movapd xmm0, xmm6
call fcn.140250900
movsxd rax, dword [rsi + 0x2000]
unpcklps xmm8, xmm8
cvtps2pd xmm1, xmm8
divsd xmm0, xmm1
movsd qword [rsi + rax*8 + 0x19c0], xmm0
inc dword [rsi + 0x2000]
cmp dword [rsi + 0x2000], 0xc8
jne 0x140181b97
mov dword [rsi + 0x2000], r14d
movapd xmm9, xmm14
lea rax, [rsi + 0x19c8]
mov ecx, reloc.WS2_32.dll_sendto
nop dword [rax + rax]
addsd xmm9, qword [rax - 8]
add rax, 0x50
sub rcx, 1
addsd xmm9, qword [rax - 0x50]
addsd xmm9, qword [rax - 0x48]
addsd xmm9, qword [rax - 0x40]
addsd xmm9, qword [rax - 0x38]
addsd xmm9, qword [rax - 0x30]
addsd xmm9, qword [rax - 0x28]
addsd xmm9, qword [rax - 0x20]
addsd xmm9, qword [rax - 0x18]
addsd xmm9, qword [rax - 0x10]
jne 0x140181bb0
divsd xmm9, qword [0x140339468]
movsd xmm5, qword [0x140339400]
movsd xmm8, qword [0x140339298]
movsd qword [rsi + 0x2020], xmm6
movsd qword [rsi + 0x2608], xmm0
movsd qword [rsi + 0x2008], xmm9
cmp dword [rsi + 0x21314], r14d
jne 0x140183353
mov eax, dword [rsi + 0x21e6c]
cmp eax, 1
jne 0x140181db1
cmp dword [rsi + 0x318], r14d
je 0x140181cd7
movsd xmm10, qword [rsi + 0x1750]
mulsd xmm10, qword [rsi + 0x2c8]
xorpd xmm10, xmm13
movsd xmm1, qword [rsi + 0x2300]
movd xmm0, dword [rsp + 0x338]
movsd xmm12, qword [rsp + 0x330]
subsd xmm1, xmm10
cvtps2pd xmm0, xmm0
movapd xmm8, xmm1
subsd xmm8, qword [rsi + 0x2310]
movsd qword [rsi + 0x2310], xmm1
mulsd xmm1, qword [rsi + 0x2040]
divsd xmm8, xmm0
mulsd xmm1, xmm5
movsd qword [rsi + 0x2610], xmm1
mulsd xmm8, qword [rsi + 0x2048]
mulsd xmm8, xmm5
movsd qword [rsi + 0x2618], xmm8
jmp 0x140183318
movss xmm1, dword [rsi + 0x260]
movsd xmm2, qword [rsi + 0x2038]
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x140181d0c
unpcklps xmm1, xmm1
movapd xmm0, xmm8
cvtps2pd xmm1, xmm1
divsd xmm1, xmm2
subsd xmm0, xmm1
cvtsd2ss xmm4, xmm0
jmp 0x140181d10
movaps xmm4, xmm11
movd xmm0, dword [rsp + 0x338]
movsd xmm3, qword [rsi + 0x2300]
movsd xmm12, qword [rsp + 0x330]
unpcklps xmm4, xmm4
cvtps2pd xmm0, xmm0
subsd xmm3, xmm14
cvtps2pd xmm1, xmm4
mulsd xmm1, xmm3
movapd xmm2, xmm3
movapd xmm10, xmm14
mulsd xmm3, qword [rsi + 0x2040]
subsd xmm2, qword [rsi + 0x2310]
movsd qword [rsi + 0x2310], xmm1
mulsd xmm3, xmm5
movsd qword [rsi + 0x2610], xmm3
divsd xmm2, xmm0
movaps xmm0, xmm15
subss xmm0, xmm4
mulsd xmm2, qword [rsi + 0x2048]
unpcklps xmm0, xmm0
cvtps2pd xmm8, xmm0
mulsd xmm8, qword [rsi + 0x2b8]
mulsd xmm2, xmm5
movsd qword [rsi + 0x2618], xmm2
addsd xmm2, xmm3
cvtsd2ss xmm0, xmm2
mulss xmm0, xmm4
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
jmp 0x140183318
cmp eax, r15d
jne 0x140181df6
movsd xmm1, qword [rsi + 0x1750]
movsd xmm10, qword [rsi + 0x2c0]
movapd xmm0, xmm1
xorpd xmm10, xmm13
xorpd xmm0, xmm13
comisd xmm0, xmm10
jbe 0x140181de1
movapd xmm10, xmm0
comisd xmm10, xmm1
jbe 0x140181c69
movapd xmm10, xmm1
jmp 0x140181c69
cmp eax, 3
jne 0x140181e3c
movsd xmm1, qword [rsi + 0x1750]
movsd xmm10, qword [rsi + 0x2c0]
movapd xmm0, xmm1
xorpd xmm10, xmm13
xorpd xmm0, xmm13
comisd xmm0, xmm10
jbe 0x140181e26
movapd xmm10, xmm0
comisd xmm10, xmm1
jbe 0x140181e32
movapd xmm10, xmm1
movapd xmm8, xmm14
jmp 0x140183416
cmp dword [rsi + 0x318], r14d
je 0x140181e51
mov qword [rsi + 0x25f8], r14
jmp 0x140182857
movabs rdi, 0x4056800000000000
cmp dword [rsi + 0x264], r14d
jne 0x14018202a
movsd xmm6, qword [rsp + 0x340]
movsd xmm8, qword [rsi + 0x10678]
mulsd xmm8, qword [0x14030ffb0]
xorpd xmm6, xmm13
movapd xmm0, xmm6
call sub.MSVCR90.dll_cos
movapd xmm7, xmm0
movapd xmm0, xmm6
call sub.MSVCR90.dll_sin
movss xmm12, dword [rsi + 0x260]
movsd xmm13, qword [0x140339230]
movapd xmm2, xmm7
movapd xmm1, xmm0
movaps xmm10, xmm12
mulss xmm10, xmm12
mulsd xmm1, xmm8
mulsd xmm7, xmm8
unpcklps xmm10, xmm10
subsd xmm2, xmm1
addsd xmm7, xmm0
cvtps2pd xmm1, xmm10
mulsd xmm2, xmm1
movsd xmm1, qword [0x14030da20]
mulsd xmm7, xmm1
divsd xmm2, xmm7
movsd xmm7, qword [rsp + 0x340]
movapd xmm0, xmm7
andpd xmm2, xmm13
movsd qword [rsp + 0x90], xmm2
call sub.MSVCR90.dll_cos
movapd xmm6, xmm0
movapd xmm0, xmm7
call sub.MSVCR90.dll_sin
movsd xmm3, qword [0x14030da20]
movsd xmm7, qword [0x140339538]
unpcklps xmm10, xmm10
mov rbx, r14
movapd xmm2, xmm6
movapd xmm1, xmm0
mulsd xmm6, xmm8
mulsd xmm1, xmm8
movsd xmm8, qword [0x140339298]
addsd xmm6, xmm0
subsd xmm2, xmm1
cvtps2pd xmm1, xmm10
mulsd xmm6, xmm3
mulsd xmm2, xmm1
divsd xmm2, xmm6
andpd xmm2, xmm13
movss xmm13, dword [0x140339430]
movsd qword [rsp + 0x98], xmm2
nop dword [rax]
movsd xmm1, qword [rsp + rbx + 0x90]
comisd xmm8, xmm1
jbe 0x140181f9a
mov qword [rsp + rbx + 0xc0], rdi
jmp 0x140181fc4
mulsd xmm1, xmm3
unpcklps xmm10, xmm10
cvtps2pd xmm0, xmm10
divsd xmm0, xmm1
call sub.MSVCR90.dll_atan
movsd xmm3, qword [0x14030da20]
mulsd xmm0, xmm7
movsd qword [rsp + rbx + 0xc0], xmm0
comiss xmm13, xmm12
jbe 0x140181feb
movaps xmm0, xmm12
divss xmm0, xmm13
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rsp + rbx + 0xc0]
movsd qword [rsp + rbx + 0xc0], xmm1
add rbx, 8
cmp rbx, 0x10
jl 0x140181f80
movsd xmm0, qword [rsi + 0x2c8]
movsd xmm1, qword [0x1403392c0]
comisd xmm14, xmm0
jbe 0x14018201b
movsd xmm10, qword [rsp + 0xc0]
jmp 0x140182307
movsd xmm10, qword [rsp + 0xc8]
jmp 0x140182307
movsd xmm4, qword [rsi + 0x2c8]
movsd xmm3, qword [0x140339778]
movapd xmm1, xmm4
andpd xmm1, xmmword [0x140339230]
cvtsd2ss xmm2, xmm1
unpcklps xmm2, xmm2
cvtps2pd xmm0, xmm2
unpcklps xmm2, xmm2
comisd xmm3, xmm0
cvtps2pd xmm10, xmm2
jbe 0x14018206d
divsd xmm10, xmm3
mulsd xmm10, qword [0x14030ffa8]
jmp 0x1401820b9
movsd xmm0, qword [0x1403397d0]
comisd xmm0, xmm1
jbe 0x14018209d
subsd xmm10, xmm3
divsd xmm10, qword [0x14030ffa0]
mulsd xmm10, qword [0x14030ff98]
addsd xmm10, qword [0x14030ffa8]
jmp 0x1401820b9
subsd xmm10, xmm0
divsd xmm10, qword [0x14030ff90]
mulsd xmm10, qword [0x14030ff88]
addsd xmm10, xmm7
movapd xmm0, xmm4
call fcn.1402508d0
mulsd xmm10, xmm0
test byte [rsi + 0x21db0], r15b
je 0x1401822d8
mov eax, dword [rsi + 0x1f00c]
movsd xmm8, qword [rsi + 0x10678]
add eax, 0xfffffffc
cmp eax, 0xa
ja case.0x1401820fe.6
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x183a80]
add rcx, rdx
jmp rcx
mulsd xmm8, qword [str.ffffff]
movsd xmm6, qword [rsp + 0x340]
xorpd xmm6, xmm13
movapd xmm0, xmm6
call sub.MSVCR90.dll_cos
movapd xmm7, xmm0
movapd xmm0, xmm6
call sub.MSVCR90.dll_sin
movss xmm12, dword [rsi + 0x260]
movapd xmm2, xmm7
mulsd xmm7, xmm8
addsd xmm7, xmm0
movapd xmm1, xmm0
movaps xmm13, xmm12
mulss xmm13, xmm12
mulsd xmm1, xmm8
movss dword [rsp + 0x330], xmm13
unpcklps xmm13, xmm13
subsd xmm2, xmm1
cvtps2pd xmm1, xmm13
mulsd xmm2, xmm1
movsd xmm1, qword [0x14030da20]
mulsd xmm7, xmm1
divsd xmm2, xmm7
movsd xmm7, qword [rsp + 0x340]
movapd xmm0, xmm7
andpd xmm2, xmmword [0x140339230]
movsd qword [rsp + 0x90], xmm2
call sub.MSVCR90.dll_cos
movapd xmm6, xmm0
movapd xmm0, xmm7
call sub.MSVCR90.dll_sin
movsd xmm3, qword [0x14030da20]
movsd xmm7, qword [0x140339538]
unpcklps xmm13, xmm13
mov rbx, r14
movapd xmm2, xmm6
movapd xmm1, xmm0
mulsd xmm6, xmm8
mulsd xmm1, xmm8
movsd xmm8, qword [0x140339298]
addsd xmm6, xmm0
subsd xmm2, xmm1
cvtps2pd xmm1, xmm13
movss xmm13, dword [0x140339430]
mulsd xmm6, xmm3
mulsd xmm2, xmm1
divsd xmm2, xmm6
movss xmm6, dword [rsp + 0x330]
andpd xmm2, xmmword [0x140339230]
movsd qword [rsp + 0x98], xmm2
nop dword [rax]
movsd xmm1, qword [rsp + rbx + 0x90]
comisd xmm8, xmm1
jbe 0x14018223a
mov qword [rsp + rbx + 0xc0], rdi
jmp 0x140182262
mulsd xmm1, xmm3
unpcklps xmm6, xmm6
cvtps2pd xmm0, xmm6
divsd xmm0, xmm1
call sub.MSVCR90.dll_atan
movsd xmm3, qword [0x14030da20]
mulsd xmm0, xmm7
movsd qword [rsp + rbx + 0xc0], xmm0
comiss xmm13, xmm12
jbe 0x140182289
movaps xmm0, xmm12
divss xmm0, xmm13
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rsp + rbx + 0xc0]
movsd qword [rsp + rbx + 0xc0], xmm1
add rbx, 8
cmp rbx, 0x10
jl 0x140182220
comisd xmm14, xmmword [rsi + 0x2c8]
movsd xmm1, qword [0x1403392c0]
jbe 0x1401822c1
movsd xmm0, qword [rsp + 0xc0]
xorpd xmm0, xmm1
comisd xmm0, xmm10
jbe 0x14018230c
movapd xmm10, xmm0
jmp 0x14018230c
movsd xmm0, qword [rsp + 0xc8]
comisd xmm10, xmm0
jbe 0x14018230c
movapd xmm10, xmm0
jmp 0x14018230c
movss xmm12, dword [rsi + 0x260]
movss xmm13, dword [0x140339430]
movsd xmm1, qword [0x1403392c0]
comiss xmm13, xmm12
jbe 0x14018230c
movaps xmm0, xmm12
divss xmm0, xmm13
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm10, xmm0
movsd xmm6, qword [rsp + 0x340]
movsd xmm8, qword [rsi + 0x10678]
xorpd xmm6, xmm1
movapd xmm0, xmm6
call sub.MSVCR90.dll_cos
movapd xmm7, xmm0
movapd xmm0, xmm6
call sub.MSVCR90.dll_sin
movapd xmm2, xmm7
movaps xmm11, xmm12
movapd xmm1, xmm0
mulsd xmm7, xmm8
mulss xmm11, xmm12
addsd xmm7, xmm0
mulsd xmm1, xmm8
unpcklps xmm11, xmm11
subsd xmm2, xmm1
cvtps2pd xmm1, xmm11
mulsd xmm2, xmm1
movsd xmm1, qword [0x14030da20]
mulsd xmm7, xmm1
divsd xmm2, xmm7
movsd xmm7, qword [rsp + 0x340]
movapd xmm0, xmm7
andpd xmm2, xmmword [0x140339230]
movsd qword [rsp + 0x90], xmm2
call sub.MSVCR90.dll_cos
movapd xmm6, xmm0
movapd xmm0, xmm7
call sub.MSVCR90.dll_sin
movsd xmm3, qword [0x14030da20]
movapd xmm2, xmm6
unpcklps xmm11, xmm11
mov rbx, r14
mulsd xmm6, xmm8
movapd xmm1, xmm0
addsd xmm6, xmm0
mulsd xmm1, xmm8
movsd xmm8, qword [0x140339298]
subsd xmm2, xmm1
cvtps2pd xmm1, xmm11
mulsd xmm6, xmm3
mulsd xmm2, xmm1
divsd xmm2, xmm6
andpd xmm2, xmmword [0x140339230]
movsd qword [rsp + 0x98], xmm2
nop word [rax + rax]
movsd xmm1, qword [rsp + rbx + 0x90]
comisd xmm8, xmm1
jbe 0x14018241a
mov qword [rsp + rbx + 0xc0], rdi
jmp 0x140182448
mulsd xmm1, xmm3
unpcklps xmm11, xmm11
cvtps2pd xmm0, xmm11
divsd xmm0, xmm1
call sub.MSVCR90.dll_atan
movsd xmm3, qword [0x14030da20]
mulsd xmm0, qword [0x140339538]
movsd qword [rsp + rbx + 0xc0], xmm0
comiss xmm13, xmm12
jbe 0x14018246f
movaps xmm0, xmm12
divss xmm0, xmm13
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [rsp + rbx + 0xc0]
movsd qword [rsp + rbx + 0xc0], xmm1
add rbx, 8
cmp rbx, 0x10
jl 0x140182400
movsd xmm7, qword [rsi + 0x2c8]
movsd xmm4, qword [rsp + 0xc8]
movsd xmm3, qword [rsp + 0xc0]
comisd xmm14, xmm7
jbe 0x1401824a4
movsd qword [rsi + 0x18d0], xmm3
jmp 0x1401824ac
movsd qword [rsi + 0x18d0], xmm4
mov edx, dword [rsi + 0x21db0]
test dl, 1
je 0x140182834
cmp dword [rsi + 0x778], r14d
je 0x1401824ce
movsd xmm0, qword [rsi + 0x330]
jmp 0x1401824e6
movsd xmm0, qword [rsi + 0x6f0]
mulsd xmm0, qword [0x14030db00]
addsd xmm0, qword [rsi + 0x330]
mov rax, qword [rsi + 0x10610]
movsxd rcx, dword [rsi + 0x125a4]
addsd xmm0, xmm14
cvtsd2ss xmm1, xmm0
imul rcx, rcx, 0xb0
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, qword [rsi + 0x1738]
cvtsd2ss xmm0, xmm0
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
movsd xmm0, qword [rcx + rsi + 0x12298]
movsxd rcx, dword [rsi + 0x208b4]
addsd xmm1, qword [rsi + 0x2668]
addsd xmm0, qword [rax + 0x88]
imul rcx, rcx, 0xb0
mov rax, qword [rsi + 0x1e920]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
addsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
movsd xmm0, qword [rcx + rsi + 0x205a8]
addsd xmm1, qword [rsi + 0x3500]
addsd xmm0, qword [rax + 0x88]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
addsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
addsd xmm1, qword [rsi + 0x212f8]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x14030ff80]
cvtsd2ss xmm13, xmm0
unpcklps xmm13, xmm13
test r15b, dl
je 0x14018269f
movsd xmm6, qword [rsi + 0x10de0]
cvtps2pd xmm0, xmm13
comisd xmm0, xmm6
jbe 0x140182699
comisd xmm14, xmm7
jbe 0x1401825ea
xorpd xmm3, xmmword [0x1403392c0]
cvtsd2ss xmm0, xmm3
jmp 0x1401825ee
cvtsd2ss xmm0, xmm4
movsd xmm1, qword [rsi + 0x25f8]
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
movss xmm0, dword [0x140339440]
cvtsd2ss xmm2, xmm1
comiss xmm0, xmm2
jbe 0x140182616
movaps xmm2, xmm0
jmp 0x140182620
comiss xmm2, xmm15
jbe 0x140182620
movaps xmm2, xmm15
movsd xmm11, qword [0x140339290]
unpcklps xmm2, xmm2
cvtps2pd xmm0, xmm2
movapd xmm1, xmm11
andpd xmm0, xmmword [0x140339230]
call sub.MSVCR90.dll_pow
comisd xmm14, xmm6
movapd xmm1, xmm8
subsd xmm1, xmm0
mulsd xmm1, qword [0x140339560]
cvtsd2ss xmm8, xmm1
jae 0x1401826d1
unpcklps xmm13, xmm13
cvtps2pd xmm1, xmm13
divsd xmm6, xmm1
movapd xmm1, xmm11
movapd xmm0, xmm6
call sub.MSVCR90.dll_pow
movaps xmm1, xmm15
subss xmm1, xmm8
unpcklps xmm8, xmm8
cvtps2pd xmm2, xmm8
unpcklps xmm1, xmm1
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
addsd xmm0, xmm2
jmp 0x1401826cc
movaps xmm8, xmm15
jmp 0x1401826d1
movsd xmm0, qword [rsi + 0x10de0]
cvtps2pd xmm1, xmm13
divsd xmm0, xmm1
movsd xmm1, qword [0x140339290]
call sub.MSVCR90.dll_pow
mulsd xmm0, qword [0x140339c78]
addsd xmm0, qword [0x140339c68]
cvtsd2ss xmm8, xmm0
movaps xmm0, xmm15
subss xmm0, xmm8
unpcklps xmm8, xmm8
cvtps2pd xmm1, xmm8
unpcklps xmm0, xmm0
cvtps2pd xmm6, xmm0
movss xmm0, dword [0x140339678]
mulsd xmm1, xmm10
mulsd xmm6, qword [rsi + 0x1898]
comiss xmm0, xmm12
addsd xmm6, xmm1
jbe 0x140182717
movsd xmm8, qword [0x140339298]
movapd xmm1, xmm8
jmp 0x140182753
subss xmm12, xmm0
unpcklps xmm12, xmm12
cvtps2pd xmm0, xmm12
mulsd xmm0, qword [0x1403397b8]
call sub.MSVCR90.dll_atan
movsd xmm8, qword [0x140339298]
movapd xmm1, xmm8
divsd xmm0, qword [0x140339420]
mulsd xmm0, qword [0x140339268]
subsd xmm1, xmm0
comisd xmm14, xmm6
movd xmm2, dword [rsi + 0x21db4]
mulsd xmm1, qword [0x14030ff78]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm1
jbe 0x140182795
movsd xmm0, qword [rsi + 0x25f8]
comisd xmm0, xmm6
jbe 0x140182789
andpd xmm7, xmmword [0x140339230]
jmp 0x1401827bc
movapd xmm7, xmm14
mov eax, 1
jmp 0x1401827bf
comisd xmm6, xmmword [rsi + 0x25f8]
jbe 0x1401827a6
mov eax, 1
jmp 0x1401827bf
comisd xmm14, xmm6
jbe 0x1401827b7
andpd xmm7, xmmword [0x140339230]
jmp 0x1401827bc
movapd xmm7, xmm14
or eax, 0xffffffff
movd xmm0, dword [rsp + 0x338]
movsd xmm5, qword [0x140339400]
movsd xmm10, qword [0x140339538]
subsd xmm1, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm7
addsd xmm1, xmm2
mulsd xmm0, xmm1
test eax, eax
jns 0x140182814
movsd xmm1, qword [rsi + 0x25f8]
subsd xmm1, xmm0
comisd xmm6, xmm1
movsd qword [rsi + 0x25f8], xmm1
jbe 0x14018284e
movsd qword [rsi + 0x25f8], xmm6
jmp 0x14018284e
addsd xmm0, qword [rsi + 0x25f8]
comisd xmm0, xmm6
movsd qword [rsi + 0x25f8], xmm0
jbe 0x14018284e
movsd qword [rsi + 0x25f8], xmm6
jmp 0x14018284e
movsd xmm5, qword [0x140339400]
movsd qword [rsi + 0x25f8], xmm10
movsd xmm10, qword [0x140339538]
movsd xmm13, qword [0x1403392c0]
movsd xmm12, qword [rsi + 0x1898]
movsxd rax, dword [rsi + 0x19b0]
movss xmm6, dword [rsp + 0x338]
subsd xmm12, qword [rsi + 0x25f8]
xorps xmm11, xmm11
unpcklps xmm6, xmm6
movapd xmm1, xmm12
cvtps2pd xmm0, xmm6
subsd xmm1, qword [rsi + 0x18a8]
divsd xmm1, xmm0
movsd qword [rsi + rax*8 + 0x1910], xmm1
inc dword [rsi + 0x19b0]
cmp dword [rsi + 0x19b0], 0x14
movsd qword [rsp + 0x348], xmm1
jne 0x1401828bc
mov dword [rsi + 0x19b0], r14d
movapd xmm1, xmm14
lea rax, [rsi + 0x1918]
mov rcx, r15
nop dword [rax + rax]
addsd xmm1, qword [rax - 8]
add rax, 0x50
sub rcx, 1
addsd xmm1, qword [rax - 0x50]
addsd xmm1, qword [rax - 0x48]
addsd xmm1, qword [rax - 0x40]
addsd xmm1, qword [rax - 0x38]
addsd xmm1, qword [rax - 0x30]
addsd xmm1, qword [rax - 0x28]
addsd xmm1, qword [rax - 0x20]
addsd xmm1, qword [rax - 0x18]
addsd xmm1, qword [rax - 0x10]
jne 0x1401828d0
divsd xmm1, qword [0x1403397c8]
movsd xmm0, qword [rsp + 0x348]
unpcklps xmm6, xmm6
cvtps2pd xmm7, xmm6
movss xmm6, dword [rsi + 0x260]
movsd qword [rsi + 0x18a8], xmm12
comiss xmm15, xmm6
movsd qword [rsi + 0x18b0], xmm0
movsd qword [rsi + 0x19b8], xmm1
mulsd xmm7, xmm12
addsd xmm7, qword [rsi + 0x18b8]
movsd qword [rsi + 0x18b8], xmm7
jbe 0x140182966
movapd xmm0, xmm14
jmp 0x140182994
movsd xmm0, qword [rsi + 0x1898]
mulsd xmm0, xmm5
call sub.MSVCR90.dll_tan
movsd xmm1, qword [0x14030da20]
mulsd xmm0, xmm1
movaps xmm1, xmm6
mulss xmm1, xmm6
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
divsd xmm0, xmm2
unpcklps xmm6, xmm6
cvtps2pd xmm1, xmm6
mulsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsi + 0x2600], xmm1
subsd xmm9, xmm1
cmp dword [rsi + 0x318], r14d
je 0x140182a51
movsd xmm10, qword [rsi + 0x1750]
movsd xmm8, qword [rsi + 0x1858]
movsd xmm1, qword [rsi + 0x2300]
movd xmm0, dword [rsp + 0x338]
mulsd xmm10, qword [rsi + 0x2c8]
xorpd xmm10, xmm13
movsd xmm5, qword [0x140339400]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm10
movapd xmm2, xmm1
subsd xmm2, qword [rsi + 0x2310]
movsd qword [rsi + 0x2310], xmm1
divsd xmm2, xmm0
movapd xmm0, xmm8
mulsd xmm8, qword [0x140339520]
mulsd xmm0, xmm1
mulsd xmm8, xmm2
mulsd xmm0, xmm5
movsd qword [rsi + 0x2610], xmm0
mulsd xmm8, xmm5
movsd qword [rsi + 0x2618], xmm8
addsd xmm8, xmm0
jmp 0x1401832e5
comiss xmm15, xmm6
jbe 0x140182add
movsd xmm1, qword [rsi + 0x2300]
movsd xmm8, qword [rsi + 0x1858]
movd xmm0, dword [rsp + 0x338]
movsd xmm5, qword [0x140339400]
movsd xmm10, qword [rsp + 0x330]
cvtps2pd xmm0, xmm0
movapd xmm2, xmm1
subsd xmm2, qword [rsi + 0x2310]
movsd qword [rsi + 0x2310], xmm1
divsd xmm2, xmm0
movapd xmm0, xmm8
mulsd xmm8, qword [0x140339520]
mulsd xmm0, xmm1
mulsd xmm8, xmm2
mulsd xmm0, xmm5
movsd qword [rsi + 0x2610], xmm0
mulsd xmm8, xmm5
movsd qword [rsi + 0x2618], xmm8
addsd xmm8, xmm0
jmp 0x1401832e5
movsd xmm3, qword [rsi + 0x10de0]
comisd xmm8, xmm3
jbe 0x140182dfb
cmp dword [rsi + 0x10ce0], r14d
je 0x140182b51
movsd xmm0, qword [rsi + 0x125c8]
comisd xmm0, xmmword [0x140339290]
ja 0x140182b28
movsd xmm1, qword [0x140339560]
comisd xmm0, xmm1
jbe 0x140182b51
movsd xmm0, qword [rsi + 0x125d0]
comisd xmm0, xmm14
jbe 0x140182b51
movsd xmm10, qword [rsi + 0x1750]
mulsd xmm10, qword [rsi + 0x2c8]
cmp dword [rsi + 0x1888], r14d
je 0x140182d7c
xorpd xmm10, xmm13
jmp 0x140182d7c
comisd xmm8, xmmword [rsi + 0x1f0f0]
jbe 0x140182d77
lea rcx, [rsp + 0x70]
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm1, xmm15
call fcn.140250780
lea rcx, [rsp + 0x80]
cmp dword [rsi + 0x10ce0], r14d
je 0x140182ba3
mov eax, dword [rsi + 0x10ce4]
mov dword [rcx], eax
mov eax, dword [rsi + 0x10ce8]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x10cec]
mov dword [rcx + 8], eax
jmp 0x140182bb4
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xb0]
call fcn.140250580
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xb0]
call fcn.1402506a0
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x70]
call fcn.140250580
lea rcx, [rsp + 0x110]
call fcn.14024ee30
lea r8, [rsi + 0x3e8]
lea rdx, [rsp + 0x110]
movss xmm0, dword [rsp + 0x74]
movss xmm1, dword [rsp + 0x78]
movss xmm5, dword [rsp + 0x70]
lea rcx, [rsp + 0x90]
movss dword [rsp + 0x120], xmm0
movss xmm0, dword [rsp + 0x80]
movss dword [rsp + 0x130], xmm1
movss xmm1, dword [rsp + 0x84]
movss dword [rsp + 0x114], xmm0
movss xmm0, dword [rsp + 0x88]
movss dword [rsp + 0x124], xmm1
movss xmm1, dword [rsp + 0xb0]
movss dword [rsp + 0x134], xmm0
movss xmm0, dword [rsp + 0xb4]
movss dword [rsp + 0x118], xmm1
movss xmm1, dword [rsp + 0xb8]
movss dword [rsp + 0x128], xmm0
movss dword [rsp + 0x138], xmm1
movss dword [rsp + 0x110], xmm5
call fcn.14024f950
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x90]
movss dword [rsp + 0x94], xmm11
call fcn.14024f8c0
lea rcx, [rsp + 0x150]
call fcn.14024ee30
lea rcx, [rsp + 0x150]
movsd xmm5, qword [rsi + 0x1758]
xorpd xmm5, xmm13
cvtsd2ss xmm1, xmm5
call fcn.14024f560
lea r8, [rsp + 0x150]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x150]
call fcn.14024ee80
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xc0]
call fcn.14024f950
movd xmm1, dword [rsp + 0xc8]
movd xmm0, dword [rsp + 0xc0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
movapd xmm10, xmm0
mulsd xmm10, qword [0x140339bb0]
jmp 0x140182d7c
movapd xmm10, xmm14
movsd xmm1, qword [rsi + 0x1750]
movapd xmm0, xmm1
xorpd xmm0, xmm13
comisd xmm0, xmm10
jbe 0x140182d99
movapd xmm10, xmm0
comisd xmm10, xmm1
jbe 0x140182da5
movapd xmm10, xmm1
movss xmm6, dword [rsi + 0x260]
movsd xmm0, qword [rsi + 0x2300]
movsd xmm5, qword [0x140339400]
unpcklps xmm6, xmm6
subsd xmm0, xmm10
cvtps2pd xmm8, xmm6
mulsd xmm8, qword [rsi + 0x1860]
movsd qword [rsi + 0x2310], xmm0
addsd xmm8, qword [rsi + 0x1858]
mulsd xmm8, xmm0
mulsd xmm8, xmm5
movsd qword [rsi + 0x2610], xmm8
jmp 0x1401832e5
comisd xmm8, xmmword [rsi + 0x1f0f0]
jbe 0x140183071
cmp dword [rsi + 0x2130c], r14d
je 0x140183071
lea rcx, [rsp + 0x70]
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm1, xmm15
call fcn.140250780
lea rcx, [rsp + 0xb0]
cmp dword [rsi + 0x10ce0], r14d
je 0x140182e5a
mov eax, dword [rsi + 0x10ce4]
mov dword [rcx], eax
mov eax, dword [rsi + 0x10ce8]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x10cec]
mov dword [rcx + 8], eax
jmp 0x140182e6b
movaps xmm3, xmm11
movaps xmm2, xmm15
movaps xmm1, xmm11
call fcn.140250780
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x80]
call fcn.140250580
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.1402506a0
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x70]
call fcn.140250580
lea rcx, [rsp + 0x110]
call fcn.14024ee30
lea r8, [rsi + 0x3e8]
lea rdx, [rsp + 0x110]
movss xmm0, dword [rsp + 0x74]
movss xmm1, dword [rsp + 0x78]
movss xmm5, dword [rsp + 0x70]
lea rcx, [rsp + 0x90]
movss dword [rsp + 0x120], xmm0
movss xmm0, dword [rsp + 0xb0]
movss dword [rsp + 0x130], xmm1
movss xmm1, dword [rsp + 0xb4]
movss dword [rsp + 0x114], xmm0
movss xmm0, dword [rsp + 0xb8]
movss dword [rsp + 0x124], xmm1
movss xmm1, dword [rsp + 0x80]
movss dword [rsp + 0x134], xmm0
movss xmm0, dword [rsp + 0x84]
movss dword [rsp + 0x118], xmm1
movss xmm1, dword [rsp + 0x88]
movss dword [rsp + 0x128], xmm0
movss dword [rsp + 0x138], xmm1
movss dword [rsp + 0x110], xmm5
call fcn.14024f950
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x90]
movss dword [rsp + 0x94], xmm11
call fcn.14024f8c0
lea rcx, [rsp + 0x150]
call fcn.14024ee30
lea rcx, [rsp + 0x150]
movsd xmm5, qword [rsi + 0x1758]
xorpd xmm5, xmm13
cvtsd2ss xmm1, xmm5
call fcn.14024f560
lea r8, [rsp + 0x150]
lea rdx, [rsi + 0x390]
lea rcx, [rsp + 0x150]
call fcn.14024ee80
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xc0]
call fcn.14024f950
movd xmm1, dword [rsp + 0xc8]
movd xmm0, dword [rsp + 0xc0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
call sub.MSVCR90.dll_atan2
movss xmm6, dword [rsi + 0x260]
movsd xmm5, qword [0x140339400]
movapd xmm10, xmm0
movsd xmm0, qword [rsi + 0x2300]
unpcklps xmm6, xmm6
mulsd xmm10, qword [0x140339bb0]
cvtps2pd xmm8, xmm6
subsd xmm0, xmm10
mulsd xmm8, qword [rsi + 0x1860]
addsd xmm8, qword [rsi + 0x1858]
mulsd xmm8, xmm0
mulsd xmm8, xmm5
jmp 0x1401832e5
cmp dword [rsi + 0x778], r14d
je 0x140183084
movsd xmm0, qword [rsi + 0x330]
jmp 0x14018309c
movsd xmm0, qword [rsi + 0x6f0]
mulsd xmm0, qword [0x14030db00]
addsd xmm0, qword [rsi + 0x330]
mov rax, qword [rsi + 0x10610]
movsxd rcx, dword [rsi + 0x125a4]
mulsd xmm3, qword [rsi + 0x10678]
movsd xmm5, qword [0x140339400]
addsd xmm0, xmm14
imul rcx, rcx, 0xb0
cvtsd2ss xmm1, xmm0
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
addsd xmm0, qword [rsi + 0x1738]
cvtsd2ss xmm0, xmm0
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
movsd xmm0, qword [rcx + rsi + 0x12298]
movsxd rcx, dword [rsi + 0x208b4]
addsd xmm1, qword [rsi + 0x2668]
addsd xmm0, qword [rax + 0x88]
imul rcx, rcx, 0xb0
mov rax, qword [rsi + 0x1e920]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
addsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
movsd xmm0, qword [rcx + rsi + 0x205a8]
addsd xmm1, qword [rsi + 0x3500]
addsd xmm0, qword [rax + 0x88]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
addsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
unpcklps xmm0, xmm0
cvtps2pd xmm1, xmm0
addsd xmm1, qword [rsi + 0x212f8]
cvtsd2ss xmm1, xmm1
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x14030ff80]
cvtsd2ss xmm4, xmm0
unpcklps xmm4, xmm4
cvtps2pd xmm2, xmm4
mulsd xmm2, qword [0x14030ff70]
comisd xmm2, xmm3
jbe 0x140183204
movsd xmm0, qword [rsi + 0x2300]
unpcklps xmm6, xmm6
unpcklps xmm4, xmm4
subsd xmm0, xmm14
cvtps2pd xmm1, xmm6
movapd xmm10, xmm14
mulsd xmm1, qword [rsi + 0x1860]
addsd xmm1, qword [rsi + 0x1858]
mulsd xmm1, xmm0
cvtps2pd xmm0, xmm4
mulsd xmm0, xmm14
mulsd xmm1, xmm5
comisd xmm0, xmm3
cvtsd2ss xmm8, xmm1
jbe 0x1401831d7
movaps xmm4, xmm11
jmp 0x140183216
subsd xmm3, xmm0
divsd xmm3, xmm2
cvtsd2ss xmm0, xmm3
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x140339418]
call sub.MSVCR90.dll_sin
movsd xmm5, qword [0x140339400]
cvtsd2ss xmm4, xmm0
jmp 0x140183216
movsd xmm10, qword [rsp + 0x330]
movaps xmm8, xmm11
movaps xmm4, xmm15
mulsd xmm9, qword [rsi + 0x2018]
unpcklps xmm6, xmm6
mov qword [rsi + 0x2310], r14
mov qword [rsi + 0x2628], r14
cvtps2pd xmm2, xmm6
mulsd xmm2, qword [rsi + 0x1860]
unpcklps xmm6, xmm6
mulsd xmm9, xmm5
cvtps2pd xmm1, xmm6
addsd xmm2, qword [rsi + 0x1858]
movsd qword [rsi + 0x2630], xmm9
mulsd xmm1, qword [rsi + 0x1870]
unpcklps xmm6, xmm6
mulsd xmm2, xmm12
cvtps2pd xmm0, xmm6
addsd xmm1, qword [rsi + 0x1868]
mulsd xmm1, qword [rsp + 0x80]
mulsd xmm0, qword [rsi + 0x1880]
mulsd xmm2, xmm5
movsd qword [rsi + 0x2610], xmm2
addsd xmm0, qword [rsi + 0x1878]
mulsd xmm1, xmm5
mulsd xmm0, xmm7
movsd qword [rsi + 0x2618], xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm5
addsd xmm1, xmm0
movsd qword [rsi + 0x2620], xmm0
movaps xmm0, xmm15
addsd xmm1, xmm14
subss xmm0, xmm4
mulss xmm0, xmm8
addsd xmm1, xmm9
cvtsd2ss xmm1, xmm1
mulss xmm1, xmm4
addss xmm1, xmm0
unpcklps xmm1, xmm1
cvtps2pd xmm8, xmm1
movsd xmm0, qword [rsi + 0x2308]
unpcklps xmm6, xmm6
cvtps2pd xmm1, xmm6
mulsd xmm0, xmm5
mulsd xmm1, qword [rsi + 0x2030]
addsd xmm1, qword [rsi + 0x2028]
mulsd xmm1, xmm0
xorpd xmm1, xmm13
movsd qword [rsi + 0x2638], xmm1
movsd xmm0, qword [0x14030ff68]
addsd xmm8, xmm1
comisd xmm0, xmm8
jbe 0x140183336
movapd xmm8, xmm0
jmp 0x140183420
movsd xmm0, qword [0x14030da48]
comisd xmm8, xmm0
jbe 0x140183420
movapd xmm8, xmm0
jmp 0x140183420
movss xmm1, dword [rsi + 0x260]
movss xmm2, dword [0x140339258]
comiss xmm2, xmm1
jbe 0x140183372
movapd xmm8, xmm14
jmp 0x14018340c
movss xmm0, dword [0x140339678]
comiss xmm0, xmm1
jbe 0x1401833a4
subss xmm1, xmm2
mulss xmm1, dword [0x14030ff60]
unpcklps xmm1, xmm1
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x140339418]
call sub.MSVCR90.dll_sin
cvtsd2ss xmm1, xmm0
jmp 0x1401833a8
movaps xmm1, xmm15
movsd xmm2, qword [rsi + 0x18c0]
comisd xmm14, xmm2
jbe 0x1401833d3
movsd xmm0, qword [0x14030ff58]
comisd xmm0, xmm2
ja 0x1401833f8
subsd xmm0, xmm2
divsd xmm0, qword [0x140339598]
jmp 0x1401833f3
movsd xmm3, qword [0x140339598]
comisd xmm2, xmm3
jbe 0x1401833e7
movaps xmm12, xmm15
jmp 0x1401833f8
movapd xmm0, xmm3
subsd xmm0, xmm2
divsd xmm0, xmm3
cvtsd2ss xmm12, xmm0
mulss xmm1, dword [0x140339444]
mulss xmm1, xmm12
unpcklps xmm1, xmm1
cvtps2pd xmm8, xmm1
movsd xmm10, qword [rsp + 0x330]
movsd xmm12, qword [rsp + 0x330]
lea r12, [rsp + 0x340]
lea rbx, [rsp + 0xc0]
lea r13, [rsp + 0x340]
lea rbp, [rsi + 0x10d30]
lea r14, [rsi + 0x12710]
xor edi, edi
nop dword [rax + rax]
mov eax, dword [rbp]
movaps xmm3, xmm11
movaps xmm2, xmm11
mov dword [rsp + rdi + 0xe8], eax
mov eax, dword [rbp + 4]
mov rcx, rbx
movaps xmm1, xmm15
mov dword [rsp + rdi + 0xec], eax
mov eax, dword [rbp + 8]
mov dword [rsp + rdi + 0xf0], eax
call fcn.140250780
mov r8, rbx
mov rdx, r14
mov rcx, rbx
call fcn.14024f820
mov rdx, rbx
mov rcx, r13
mov dword [rsp + rdi + 0xc4], 0
call fcn.140250620
mov rdx, rbx
movaps xmm2, xmm15
mov rcx, rbx
divss xmm2, dword [r12]
call fcn.140250790
add r14, 0xe310
add r13, 4
add rbx, 0xc
add rbp, 0xe310
add rdi, 0xc
add r12, 4
sub r15, 1
jne 0x140183450
lea rax, [rsp + 0x334]
lea r9, [rsp + 0xcc]
lea r8, [rsp + 0xf4]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x330]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.14024e820
test eax, eax
jne 0x14018356c
movss xmm0, dword [rsp + 0x330]
movss xmm1, dword [rsp + 0x334]
movss dword [rsi + 0x12750], xmm0
movss xmm0, dword [rsp + 0x340]
movss dword [rsi + 0x20a60], xmm1
movss xmm1, dword [rsp + 0x344]
movss dword [rsi + 0x12754], xmm0
movss dword [rsi + 0x20a64], xmm1
jmp 0x14018358e
xor eax, eax
mov dword [rsi + 0x12754], 0x3f800000
mov dword [rsi + 0x20a64], 0x3f800000
mov dword [rsi + 0x12750], eax
mov dword [rsi + 0x20a60], eax
movsd xmm7, qword [rsi + 0x2308]
movsd xmm9, qword [0x140339400]
movsd xmm1, qword [rsi + 0x22f0]
movapd xmm0, xmm7
movsd qword [rsi + 0x2640], xmm8
movsd xmm15, qword [0x140339230]
mulsd xmm0, xmm9
andpd xmm0, xmm15
call sub.MSVCR90.dll_pow
movapd xmm6, xmm0
movapd xmm0, xmm7
mulsd xmm6, qword [rsi + 0x22e8]
call fcn.1402508d0
movsd xmm1, qword [0x14030ff50]
mulsd xmm0, xmm6
xorpd xmm0, xmm13
comisd xmm1, xmm0
movsd qword [rsi + 0x2658], xmm0
jbe 0x14018360c
movabs rax, 0xc08f400000000000
jmp 0x140183620
comisd xmm0, xmmword [0x140339328]
jbe 0x140183627
movabs rax, 0x408f400000000000
mov qword [rsi + 0x2658], rax
cmp dword [rsi + 0x21e6c], 3
mov rcx, qword [rsi + 0x17e8]
jne 0x140183695
xor edx, edx
cmp dword [rsi + 0x21314], edx
jne 0x140183658
mulsd xmm10, xmm9
cvtsd2ss xmm6, xmm10
movaps xmm2, xmm6
call fcn.14029a080
movaps xmm2, xmm6
jmp 0x140183682
movsd xmm0, qword [rsi + 0x1750]
mulsd xmm0, qword [0x14030ff48]
cvtsd2ss xmm2, xmm0
call fcn.14029a080
movsd xmm5, qword [rsi + 0x1750]
mulsd xmm5, xmm9
cvtsd2ss xmm2, xmm5
mov rcx, qword [rsi + 0x17e8]
mov edx, 1
call fcn.14029a080
jmp 0x1401836b0
addsd xmm8, qword [rsi + 0x2658]
movaps xmm3, xmm11
movaps xmm2, xmm11
cvtsd2ss xmm1, xmm8
call fcn.14029a110
mov eax, dword [rsi + 0x21df8]
movsd qword [rsi + 0x2660], xmm8
test eax, eax
je 0x140183a28
cmp dword [rsi + 0x21314], 0
jne 0x140183a28
movsd xmm3, qword [0x1403394b0]
cmp eax, 1
jne 0x140183714
movsd xmm6, qword [rsp + 0x348]
mulsd xmm12, qword [0x140339468]
movsd xmm0, qword [rsp + 0xd8]
mulsd xmm0, qword [0x1403396b8]
mulsd xmm6, xmm14
addsd xmm6, xmm12
addsd xmm6, xmm0
jmp 0x14018378c
movsd xmm1, qword [rsi + 0x1898]
comisd xmm1, xmm14
jbe 0x140183737
movsd xmm0, qword [rsi + 0x18d0]
comisd xmm1, xmm0
jbe 0x140183754
subsd xmm1, xmm0
jmp 0x140183759
movsd xmm2, qword [rsi + 0x18d0]
movapd xmm0, xmm2
xorpd xmm0, xmm13
comisd xmm0, xmm1
jbe 0x140183754
addsd xmm1, xmm2
jmp 0x140183759
movapd xmm1, xmm14
movd xmm0, dword [rsi + 0x21dfc]
movapd xmm6, xmm1
cvtps2pd xmm0, xmm0
subsd xmm6, xmm0
movapd xmm0, xmm1
mulsd xmm0, xmm3
mulsd xmm6, qword [0x140339590]
addsd xmm6, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rsi + 0x21dfc], xmm0
cvtsd2ss xmm0, qword [rsi + 0x10de0]
movsxd rax, dword [rsi + 0x21e18]
movss dword [rsi + rax*4 + 0x21e04], xmm0
movsd xmm1, qword [rsi + 0x10e08]
movsd xmm2, qword [rsi + 0x10e18]
mov ecx, dword [rsi + 0x21e18]
mov eax, 0x66666667
inc ecx
divsd xmm1, qword [0x1403397c8]
divsd xmm2, xmm3
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
cmp dword [rsi + 0x10d94], 0
mov dword [rsi + 0x21e18], ecx
movss xmm0, dword [rsi + 0x21e04]
addss xmm0, xmm11
addss xmm0, dword [rsi + 0x21e08]
addss xmm0, dword [rsi + 0x21e0c]
addss xmm0, dword [rsi + 0x21e10]
addss xmm0, dword [rsi + 0x21e14]
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x1403396c8]
cvtsd2ss xmm0, xmm0
unpcklps xmm0, xmm0
cvtps2pd xmm7, xmm0
movsd xmm0, qword [rsi + 0x10e00]
divsd xmm0, qword [0x1403397b0]
mulsd xmm7, qword [rsi + 0x10678]
je 0x140183860
cmp dword [rsi + 0x264], 0
je 0x140183860
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
jmp 0x140183874
mulsd xmm0, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm0, xmm1
addsd xmm0, xmm2
call sub.MSVCR90.dll_sqrt
movapd xmm5, xmm0
cvtsd2ss xmm0, xmm0
mulsd xmm5, qword [0x140339480]
movss dword [rsi + 0x22548], xmm0
movapd xmm0, xmm5
call sub.MSVCR90.dll_atan
movsd xmm8, qword [0x140339298]
divsd xmm0, qword [0x140339418]
subsd xmm8, xmm0
cvtsd2ss xmm0, xmm8
movss xmm8, dword [0x140339240]
movss dword [rsi + 0x2254c], xmm0
movd xmm1, dword [rsi + 0x21e70]
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm1, qword [rsi + 0x212f8]
mulsd xmm7, xmm0
mulsd xmm1, qword [0x14030da20]
cvtsd2ss xmm2, xmm1
mulss xmm2, xmm8
unpcklps xmm2, xmm2
cvtps2pd xmm0, xmm2
comisd xmm7, xmm0
jbe 0x140183906
unpcklps xmm2, xmm2
cvtps2pd xmm7, xmm2
cmp dword [rsi + 0x10d4c], 0
jne 0x140183918
cmp dword [rsi + 0x1f05c], 0
je 0x140183920
addsd xmm7, qword [0x140339368]
movapd xmm0, xmm6
andpd xmm0, xmm15
comisd xmm0, xmm7
jbe 0x14018394e
movapd xmm0, xmm7
xorpd xmm0, xmm13
comisd xmm0, xmm6
jbe 0x140183944
movapd xmm6, xmm0
jmp 0x14018394e
comisd xmm6, xmm7
jbe 0x14018394e
movapd xmm6, xmm7
lea r8, [rsi + 0x209fc]
lea rdx, [rsi + 0x126ec]
lea rcx, [rsp + 0x70]
call fcn.140250720
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
movaps xmm2, xmm8
call fcn.140250790
lea r8, [rsi + 0x209fc]
lea rdx, [rsi + 0x126ec]
lea rcx, [rsp + 0xd8]
call fcn.140250750
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0xd8]
call fcn.1402506a0
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0xd8]
movd xmm5, dword [rsi + 0x21e00]
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm6
cvtsd2ss xmm2, xmm5
call fcn.140250790
movss xmm1, dword [rsp + 0x70]
movss xmm5, dword [rsp + 0x78]
mov rcx, qword [rsi + 0x420]
movss xmm0, dword [rsp + 0x74]
movss xmm3, dword [rsp + 0xe0]
movss xmm2, dword [rsp + 0xdc]
movss dword [rsp + 0x30], xmm5
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm1
movss xmm1, dword [rsp + 0xd8]
call fcn.1402930c0
cvtsd2ss xmm5, xmm6
movss dword [rsi + 0x22544], xmm5
lea r11, [rsp + 0x2e8]
xor eax, eax
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret