Function at 0x14003d170
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
lea rbp, [rax - 0x78]
sub rsp, 0x170
cmp dword [rcx + 0x68], 0
mov rbx, rcx
jne 0x14003d3c4
movss xmm2, dword [0x1400ba448]
xorps xmm4, xmm4
movss xmm3, dword [0x1400ba314]
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rdi
movaps xmmword [rax - 0x18], xmm7
xor eax, eax
movups xmmword [rbp + 0x20], xmm4
mov qword [rbp + 0x50], rax
mov eax, 0xffff
movups xmmword [rbp - 0x20], xmm4
mov word [rbp + 0x24], ax
movups xmmword [rbp - 0x30], xmm4
mov byte [rbp - 0x24], 1
mov dword [rbp - 0x18], 3
xorps xmm7, xmm7
movups xmm0, xmmword [rbp - 0x30]
mov dword [rbp - 0x14], 1
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm2
movaps xmmword [rsp + 0x50], xmm1
movss xmm1, dword [rsp + 0x54]
comiss xmm7, xmm1
mov dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], 1
shufps xmm0, xmm0, 0xe1
movups xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rsp + 0x60], xmm4
movss xmm0, xmm3
movaps xmmword [rsp + 0x70], xmm4
movups xmmword [rbp + 0x20], xmm0
mov byte [rsp + 0x60], 1
movaps xmmword [rbp - 0x70], xmm0
movsd xmm0, qword [rbp + 0x50]
movsd qword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
jb 0x14003d262
movss xmm1, dword [0x1400ba394]
movss dword [rsp + 0x54], xmm1
cmp byte [rbp - 0x6a], 0
jne 0x14003d2c4
movdqa xmm0, xmmword [0x1400baba0]
xor edx, edx
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0xd8c38385
mov word [rsp + 0x34], 0xd1
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x20], al
cmp edx, 0x15
jb 0x14003d290
cvttss2si r9d, xmm1
lea r8, [rsp + 0x20]
mov byte [rsp + 0x35], 0
mov edx, 0x28
lea rcx, [rbp - 0x6a]
call fcn.14001b3d0
movss xmm1, dword [rsp + 0x54]
divss xmm1, dword [0x1400ba394]
mov eax, 0x85
lea rdi, [0x1400b974c]
mov word [rbp - 0x6c], ax
mov ecx, 0x20900
cvttss2si eax, xmm1
movd xmm0, eax
mov rax, qword [rsp + 0x78]
cvtdq2ps xmm0, xmm0
test rax, rax
cmovne rdi, rax
movss dword [rsp + 0x70], xmm0
call fcn.14008712c
mov rsi, rax
test rax, rax
je 0x14003d3ac
mov r8d, 0x20900
lea rdx, [0x1400cadd0]
mov rcx, rax
call fcn.140079910
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rbp - 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp], xmm1
movaps xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x20], xmm2
shufps xmm2, xmm2, 0x55
comiss xmm2, xmm7
mov qword [rbp - 0x30], rsi
mov dword [rbp - 0x28], 0x20900
movaps xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rbp - 0x40]
movaps xmmword [rbp + 0x20], xmm1
movaps xmm1, xmmword [rbp - 0x50]
movsd qword [rbp + 0x50], xmm0
movss dword [rsp + 0x54], xmm2
movaps xmmword [rbp + 0x40], xmm1
jbe 0x14003d391
movss dword [rbp - 0x1c], xmm2
mov rax, qword [rbp + 8]
lea rdx, [rbp - 0x30]
test rdi, rdi
mov rcx, rbx
cmovne rax, rdi
mov qword [rbp + 8], rax
call fcn.14003cd90
mov rdi, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x160]
mov rax, qword [rbx + 0x478]
test rax, rax
jne 0x14003d3e5
lea rax, [0x14003d400]
mov qword [0x14011d8f0], rax
lea rax, [0x14011d8f0]
mov rax, qword [rax]
mov rcx, rbx
call rax
mov rbx, qword [rsp + 0x190]
add rsp, 0x170
pop rbp
ret