Function at 0x14005a0c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140cec080]
xor rax, rsp
mov qword [rbp + 0x50], rax
cmp dword [0x1412d34e0], 0
jbe 0x14005af9a
movd xmm1, dword [0x140e7f6cc]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x140e9949c]
cvtdq2ps xmm0, xmm0
mov rdi, qword [0x1412d40b8]
or dword [rdi + 0x1ce8], 2
movss dword [rdi + 0x1d08], xmm0
movss dword [rdi + 0x1d0c], xmm1
mov dword [rdi + 0x1cf0], 1
mov rax, qword [rdi + 0x1df8]
lea r8, [0x140cc9c80]
xor edx, edx
mov rcx, qword [rax]
call fcn.140079440
mov r12, rax
movaps xmm6, xmmword [0x140ccd950]
mov rbx, qword [0x1412d40b8]
mov dword [rsp + 0x50], 2
movups xmm0, xmmword [rbx + 0x1644]
movups xmmword [rsp + 0x54], xmm0
lea rcx, [rbx + 0x1d70]
lea rdx, [rsp + 0x50]
call fcn.140089e60
movups xmmword [rbx + 0x1644], xmm6
movss xmm0, dword [rdi + 0x14]
movss xmm15, dword [0x140cccc78]
mulss xmm0, xmm15
addss xmm0, dword [0x140ccce34]
mov rax, qword [0x1412d40b8]
or dword [rax + 0x1ce8], 1
mov dword [rax + 0x1cf8], 0x42480000
movss dword [rax + 0x1cfc], xmm0
mov dword [rax + 0x1d00], 0x3f000000
mov dword [rax + 0x1d04], 0x3dcccccd
mov dword [rax + 0x1cec], 4
xor edx, edx
lea r8d, [rdx + 0x49]
lea rcx, [0x140cc9870]
call fcn.14007f9a0
test al, al
je 0x14005af64
mov rcx, qword [0x1412d40b8]
mov rdx, qword [rcx + 0x1c10]
movss xmm7, dword [rdx + 0x288]
movss xmm12, dword [rdx + 0x28c]
cmp qword [rdx + 0x1c0], 0
jne 0x14005a279
cmp qword [rcx + 0x2028], 0
je 0x14005a281
movss xmm7, dword [rdx + 0x258]
movss xmm10, dword [rdx + 0xec]
movss dword [rsp + 0x7c], xmm10
subss xmm12, xmm10
movss xmm11, dword [rdx + 0xe8]
movss dword [rbp - 0x80], xmm11
subss xmm7, xmm11
movaps xmm0, xmm7
mulss xmm0, xmm15
movss dword [rbp - 0x7c], xmm0
movaps xmm8, xmm0
addss xmm8, xmm11
movaps xmm0, xmm12
mulss xmm0, xmm15
movss dword [rbp - 0x78], xmm0
movaps xmm6, xmm0
addss xmm6, xmm10
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
movss xmm14, dword [0x140ccccc0]
movaps xmm2, xmm14
movaps xmm1, xmm14
xorps xmm9, xmm9
xorps xmm0, xmm0
call fcn.140076d60
movss xmm0, dword [rsp + 0x70]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x74]
movss dword [rsp + 0x54], xmm1
movss xmm0, dword [rbp - 0x5c]
movss dword [rsp + 0x58], xmm0
mov dword [rsp + 0x5c], 0x3f800000
lea rcx, [rsp + 0x50]
call fcn.140076c00
addss xmm12, xmm10
movss dword [rsp + 0x70], xmm12
addss xmm7, xmm11
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x78], xmm12
movss dword [rbp - 0x5c], xmm11
movss dword [rbp - 0x58], xmm10
movss xmm0, dword [0x140ccccfc]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xffffffff
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rsp + 0x74]
lea rdx, [rbp - 0x5c]
mov rcx, r12
call fcn.140094810
mov dword [rbp - 0x5c], 0x5b0501
mov byte [rbp - 0x58], 1
xor r13d, r13d
mov ecx, r13d
nop dword [rax]
lea eax, [rcx + 0x34]
xor byte [rbp + rcx - 0x5c], al
inc rcx
cmp rcx, 3
jb 0x14005a3b0
mov byte [rbp - 0x58], r13b
mov qword [rbp + 0x10], r13
movdqa xmm0, xmmword [0x140ccd010]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], r13b
lea rax, [rbp - 0x5c]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x14005a3e4
lea rdx, [rbp - 0x5c]
lea rcx, [rbp + 0x10]
call fcn.14002caf0
nop
mov dword [rbp - 0x5c], 0x5a060506
mov word [rbp - 0x58], 0x100
mov rcx, r13
nop dword [rax + rax]
lea eax, [rcx + 0x34]
xor byte [rbp + rcx - 0x5c], al
inc rcx
cmp rcx, 4
jb 0x14005a410
mov byte [rbp - 0x57], 0
mov qword [rbp - 0x10], r13
movdqa xmm0, xmmword [0x140ccd010]
movdqu xmmword [rbp], xmm0
mov byte [rbp - 0x10], 0
lea rax, [rbp - 0x5c]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14005a444
lea rdx, [rbp - 0x5c]
lea rcx, [rbp - 0x10]
call fcn.14002caf0
nop
mov dword [rbp - 0x5c], 0x5a060507
mov word [rbp - 0x58], 0x100
mov rcx, r13
nop dword [rax]
lea eax, [rcx + 0x34]
xor byte [rbp + rcx - 0x5c], al
inc rcx
cmp rcx, 4
jb 0x14005a470
mov byte [rbp - 0x57], 0
mov qword [rbp - 0x30], r13
movdqa xmm0, xmmword [0x140ccd010]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
lea rax, [rbp - 0x5c]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14005a4a4
lea rdx, [rbp - 0x5c]
lea rcx, [rbp - 0x30]
call fcn.14002caf0
nop
movaps xmm0, xmmword [0x140ccda10]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
movss dword [rbp - 0x5c], xmm8
movss dword [rbp - 0x58], xmm6
mov dword [rsp + 0x20], r13d
mov r9d, eax
movss xmm2, dword [0x140cccd80]
lea rdx, [rbp - 0x5c]
mov rcx, r12
call fcn.140095070
mov rax, qword [0x1412d40b8]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140cc9c80]
xor edx, edx
mov rcx, qword [rax]
call fcn.140079440
mov r10, rax
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae r8, qword [rbp + 0x10]
movaps xmm0, xmmword [0x140ccdba0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
mov r9d, eax
movss dword [rbp - 0x5c], xmm8
movaps xmm0, xmm6
addss xmm0, dword [0x140cccdc8]
movss dword [rbp - 0x58], xmm0
mov rcx, qword [0x1412d3850]
movss xmm7, dword [0x140cccdb4]
test eax, 0xff000000
je 0x14005a5d5
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14005a575
add rdx, r8
cmp r8, rdx
je 0x14005a5d5
test rcx, rcx
jne 0x14005a594
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x5c]
movaps xmm2, xmm7
mov rdx, r10
call fcn.140099990
mov rax, qword [0x1412d40b8]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140cc9c80]
xor edx, edx
mov rcx, qword [rax]
call fcn.140079440
mov r10, rax
lea r8, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae r8, qword [rbp - 0x10]
movaps xmm0, xmmword [0x140ccdba0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
mov r9d, eax
movss dword [rbp - 0x5c], xmm8
movaps xmm0, xmm6
addss xmm0, dword [0x140cccdf8]
movss dword [rbp - 0x58], xmm0
mov rcx, qword [0x1412d3850]
test eax, 0xff000000
je 0x14005a6b0
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14005a650
add rdx, r8
cmp r8, rdx
je 0x14005a6b0
test rcx, rcx
jne 0x14005a66f
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x5c]
movaps xmm2, xmm7
mov rdx, r10
call fcn.140099990
mov rax, qword [0x1412d40b8]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140cc9c80]
xor edx, edx
mov rcx, qword [rax]
call fcn.140079440
mov r10, rax
lea r8, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae r8, qword [rbp - 0x30]
movaps xmm0, xmmword [0x140ccdba0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
mov r9d, eax
movss dword [rbp - 0x5c], xmm8
addss xmm6, dword [0x140ccce28]
movss dword [rbp - 0x58], xmm6
mov rcx, qword [0x1412d3850]
test eax, 0xff000000
je 0x14005a781
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14005a721
add rdx, r8
cmp r8, rdx
je 0x14005a781
test rcx, rcx
jne 0x14005a740
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x5c]
movaps xmm2, xmm7
mov rdx, r10
call fcn.140099990
mov r14, qword [0x1412d4860]
mov r15, qword [0x1412d4868]
movss xmm13, dword [0x140ccce90]
movsd xmm8, qword [0x140ccccc8]
cmp r14, r15
je 0x14005ad02
nop word [rax + rax]
mov ecx, dword [r14 + 0x150]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm10, eax
cvtdq2ps xmm10, xmm10
divss xmm10, xmm13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm11, eax
cvtdq2ps xmm11, xmm11
divss xmm11, xmm13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm12, eax
cvtdq2ps xmm12, xmm12
divss xmm12, xmm13
mov ebx, dword [r14 + 0x154]
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0
xor r8d, r8d
lea rdx, [0x140cc7eda]
lea rcx, [rbp - 0x50]
call fcn.14002caf0
nop
mov edx, ebx
lea rcx, [rbp + 0x30]
call fcn.14000ede0
mov r10, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14005a8d5
lea rax, [rcx + 1]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x14005a8cd
mov rax, qword [r10]
mov word [rax + rcx], WSAGetLastError
jmp 0x14005a8f5
mov qword [rsp + 0x20], 1
lea r9, [0x140cc95bc]
mov edx, 1
mov rcx, r10
call fcn.14002cdf0
mov r10, rax
mov rdi, qword [r10 + 0x10]
cmp qword [r10 + 0x18], 0x10
jb 0x14005a903
mov r10, qword [r10]
mov rsi, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x14005a944
lea rax, [rsi + rdi]
mov qword [rbp - 0x40], rax
lea rbx, [rbp - 0x50]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x50]
lea rcx, [rbx + rsi]
mov r8, rdi
mov rdx, r10
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov byte [rax + rsi], 0
jmp 0x14005a959
mov qword [rsp + 0x20], rdi
mov r9, r10
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.14002cdf0
nop
lea rcx, [rbp + 0x30]
call fcn.14002ca90
movsd xmm7, qword [r14 + 0xc]
mov eax, dword [r14 + 0x14]
mov dword [rsp + 0x58], eax
movss xmm6, dword [0x1412d3514]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm2, xmm7
subss xmm2, dword [0x1412d34f8]
movaps xmm3, xmm7
shufps xmm3, xmm3, 0x55
movsd qword [rsp + 0x50], xmm7
subss xmm3, dword [0x1412d34fc]
movaps xmm6, xmm3
mulss xmm6, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
subss xmm6, xmm0
divss xmm6, dword [0x140ccce58]
movss xmm4, dword [rbp - 0x80]
addss xmm6, xmm4
addss xmm6, dword [rbp - 0x7c]
mulss xmm3, xmm1
mulss xmm2, xmm8
addss xmm3, xmm2
divss xmm3, dword [0x140ccce58]
movss xmm0, dword [rsp + 0x7c]
movaps xmm7, xmm0
subss xmm7, xmm3
addss xmm7, dword [rbp - 0x78]
movss xmm8, dword [rsp + 0x74]
comiss xmm6, xmm8
seta al
test al, al
je 0x14005aa28
movaps xmm6, xmm8
jmp 0x14005aa35
comiss xmm4, xmm6
seta al
test al, al
je 0x14005aa35
movaps xmm6, xmm4
movss xmm1, dword [rsp + 0x70]
comiss xmm7, xmm1
seta al
test al, al
je 0x14005aa4a
movaps xmm7, xmm1
jmp 0x14005aa57
comiss xmm0, xmm7
seta al
test al, al
je 0x14005aa57
movaps xmm7, xmm0
movss xmm0, dword [r14 + 0x24]
comiss xmm0, xmm9
jbe 0x14005accc
cmp byte [r14 + 4], 0
je 0x14005aa97
movaps xmm0, xmmword [0x140ccdba0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
movss dword [rbp - 0x5c], xmm6
movss dword [rbp - 0x58], xmm7
lea rdx, [rbp - 0x5c]
jmp 0x14005acb3
cmp dword [0x1412d47b8], 0
jne 0x14005ac8f
mov rax, qword [0x1412d40b8]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140cc9c80]
xor edx, edx
mov rcx, qword [rax]
call fcn.140079440
mov r10, rax
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae r8, qword [rbp - 0x50]
movaps xmm0, xmmword [0x140ccda20]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
mov r9d, eax
movss dword [rbp - 0x6c], xmm6
movss dword [rbp - 0x68], xmm7
mov rcx, qword [0x1412d3818]
test eax, 0xff000000
je 0x14005ab75
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14005ab10
add rdx, r8
cmp r8, rdx
je 0x14005ab75
test rcx, rcx
jne 0x14005ab2f
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x6c]
movss xmm2, dword [0x140cccdbc]
mov rdx, r10
call fcn.140099990
comiss xmm10, xmm14
jb 0x14005ab82
mov ecx, 0xff
jmp 0x14005ab9c
comiss xmm9, xmm10
jb 0x14005ab8d
mov ecx, r13d
jmp 0x14005ab9c
mulss xmm10, xmm13
addss xmm10, xmm15
cvttss2si rcx, xmm10
comiss xmm11, xmm14
jb 0x14005aba9
mov edx, 0xff
jmp 0x14005abc3
comiss xmm9, xmm11
jb 0x14005abb4
mov edx, r13d
jmp 0x14005abc3
mulss xmm11, xmm13
addss xmm11, xmm15
cvttss2si rdx, xmm11
comiss xmm12, xmm14
jb 0x14005abd0
mov eax, 0xff
jmp 0x14005abea
comiss xmm9, xmm12
jb 0x14005abdb
mov eax, r13d
jmp 0x14005abea
mulss xmm12, xmm13
addss xmm12, xmm15
cvttss2si rax, xmm12
or ecx, 0xffffff00
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
movzx eax, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
movss xmm8, dword [0x140cccc28]
mulss xmm3, xmm8
mov eax, ecx
shr eax, 8
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm8
mov eax, ecx
shr eax, 0x10
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm8
shr ecx, 0x18
mov eax, ecx
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm8
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x50], xmm3
movups xmmword [rsp + 0x50], xmm3
lea rcx, [rsp + 0x50]
call fcn.140076c00
movss dword [rbp - 0x64], xmm6
movss dword [rbp - 0x60], xmm7
lea rdx, [rbp - 0x64]
jmp 0x14005acb3
movaps xmm0, xmmword [0x140ccda20]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140076c00
movss dword [rbp - 0x74], xmm6
movss dword [rbp - 0x70], xmm7
lea rdx, [rbp - 0x74]
mov dword [rsp + 0x20], r13d
mov r9d, eax
movss xmm2, dword [0x140cccd88]
mov rcx, r12
call fcn.140095070
nop
lea rcx, [rbp - 0x50]
call fcn.14002ca90
add r14, 0x298
cmp r14, r15
movsd xmm8, qword [0x140ccccc8]
jne 0x14005a7b0
movss xmm10, dword [rsp + 0x7c]
movss xmm11, dword [rbp - 0x80]
movss xmm12, dword [rsp + 0x70]
mov rsi, qword [0x1412d4820]
mov rdi, qword [0x1412d4818]
cmp rdi, rsi
je 0x14005af41
lea rbx, [rdi + 0x58]
nop dword [rax]
movss xmm0, dword [rbx - 4]
movss xmm2, dword [rbx - 8]
movss xmm1, dword [rbx]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14005ad53
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14005ad5b
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, dword [0x140ccce34]
jbe 0x14005af21
movss xmm6, dword [0x1412d3514]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm2, qword [rbx - 0x28]
subss xmm2, dword [0x1412d34f8]
movsd xmm3, qword [rbx - 0x28]
shufps xmm3, xmm3, 0x55
subss xmm3, dword [0x1412d34fc]
movaps xmm4, xmm3
mulss xmm4, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
subss xmm4, xmm0
divss xmm4, dword [0x140ccce58]
addss xmm4, xmm11
addss xmm4, dword [rbp - 0x7c]
mulss xmm3, xmm1
mulss xmm2, xmm8
addss xmm3, xmm2
divss xmm3, dword [0x140ccce58]
movaps xmm1, xmm10
subss xmm1, xmm3
addss xmm1, dword [rbp - 0x78]
movss xmm8, dword [rsp + 0x74]
comiss xmm4, xmm8
seta al
test al, al
je 0x14005ae15
movaps xmm4, xmm8
jmp 0x14005ae24
comiss xmm11, xmm4
seta al
test al, al
je 0x14005ae24
movaps xmm4, xmm11
comiss xmm1, xmm12
seta al
test al, al
je 0x14005ae35
movaps xmm1, xmm12
jmp 0x14005ae44
comiss xmm10, xmm1
seta al
test al, al
je 0x14005ae44
movaps xmm1, xmm10
movss xmm2, dword [0x1412cd8a0]
comiss xmm9, xmm2
jbe 0x14005ae58
movaps xmm0, xmm9
jmp 0x14005ae60
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si ecx, xmm0
movss xmm2, dword [0x1412cd8a4]
comiss xmm9, xmm2
jbe 0x14005ae82
movaps xmm0, xmm9
jmp 0x14005ae8a
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
movss xmm2, dword [0x1412cd8a8]
comiss xmm9, xmm2
jbe 0x14005aeb1
movaps xmm0, xmm9
jmp 0x14005aeb9
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
movss xmm2, dword [0x1412cd8ac]
comiss xmm9, xmm2
jbe 0x14005aee0
movaps xmm0, xmm9
jmp 0x14005aee8
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si r9d, xmm0
shl r9d, 0x18
or r9d, ecx
movss dword [rbp - 0x74], xmm4
movss dword [rbp - 0x70], xmm1
mov dword [rsp + 0x20], r13d
movss xmm2, dword [0x140cccd88]
lea rdx, [rbp - 0x74]
mov rcx, r12
call fcn.140095070
add rdi, 0x98
add rbx, 0x98
cmp rdi, rsi
movsd xmm8, qword [0x140ccccc8]
jne 0x14005ad20
call fcn.140081d70
nop
lea rcx, [rbp - 0x30]
call fcn.14002ca90
nop
lea rcx, [rbp - 0x10]
call fcn.14002ca90
nop
lea rcx, [rbp + 0x10]
call fcn.14002ca90
mov r8, qword [0x1412d40b8]
movsxd rax, dword [r8 + 0x1d70]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d78]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1624], xmm0
dec dword [r8 + 0x1d70]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140138a50
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret