Function at 0x18003d8e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1128
call fcn.180077260
sub rsp, rax
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x1090], xmm15
movapd xmmword [rbp + 0x1080], xmm14
movapd xmmword [rbp + 0x1070], xmm13
movapd xmmword [rbp + 0x1060], xmm12
movapd xmmword [rbp + 0x1050], xmm11
movapd xmmword [rbp + 0x1040], xmm10
movapd xmmword [rbp + 0x1030], xmm9
movapd xmmword [rbp + 0x1020], xmm8
movapd xmmword [rbp + 0x1010], xmm7
movaps xmmword [rbp + 0x1000], xmm6
mov qword [rbp + 0xff8], 0xfffffffffffffffe
movapd xmm6, xmm3
mov r15, r8
mov rdi, rdx
test r8, r8
mov qword [rbp + 0xff0], r8
mov qword [rbp + 0xfa8], rcx
je 0x18003d9c5
mov rax, r15
shr rax, 0x3c
jne 0x18003deb4
lea rbx, [r15*8]
test rbx, rbx
je 0x18003d9d1
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rbx
call fcn.1800458d0
mov rsi, rax
test rax, rax
jne 0x18003d9d6
mov ecx, 8
mov rdx, rbx
call fcn.180082720
ud2
mov esi, 8
mov ebx, 8
jmp 0x18003d9f9
mov esi, 8
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rbx
call fcn.1800458d0
test rax, rax
je 0x18003debb
mov rcx, rax
mov rbx, rax
movsd xmm9, qword [rbp + 0x1110]
xor r13d, r13d
lea rcx, [rbp - 0x58]
mov r8d, 0x1000
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movapd xmm10, xmm9
unpcklpd xmm10, xmm9
movapd xmm11, xmm6
unpcklpd xmm11, xmm6
movapd xmm12, xmmword [0x1800837b0]
movsd xmm13, qword [0x180085668]
movsd xmm7, qword [0x180083760]
xorpd xmm8, xmm8
movsd xmm14, qword [0x180083768]
movdqa xmm15, xmmword [0x180083790]
mov qword [rbp + 0xfe8], rbx
mov r14, rbx
mov qword [rbp + 0xfd8], rsi
mov qword [rbp + 0xfb8], rsi
xor eax, eax
mov qword [rbp + 0xfc8], rax
mov rax, r15
xor esi, esi
nop word cs:[rax + rax]
cmp r15, rsi
mov rbx, rsi
cmova rbx, r15
test rax, rax
je 0x18003dda6
mov qword [rbp + 0xfd0], r14
cmp rax, 0x200
mov r12d, 0x200
cmovb r12, rax
cmp r12, 2
mov qword [rbp + 0xfc0], rax
jae 0x18003dad0
xor r14d, r14d
jmp 0x18003db50
mov qword [rbp + 0xfe0], r13
mov r14d, r12d
and r14d, 0x3fe
lea r13, [r12*8]
and r13, 0xfffffffffffffff0
xor r15d, r15d
movupd xmm7, xmmword [rdi + r15]
mulpd xmm7, xmm10
movapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_round
movapd xmm8, xmm0
unpckhpd xmm7, xmm7
movapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_round
unpcklpd xmm8, xmm0
movupd xmmword [rbp + r15 - 0x58], xmm8
add r15, 0x10
cmp r13, r15
jne 0x18003daf0
cmp r12, r14
mov r15, qword [rbp + 0xff0]
mov r13, qword [rbp + 0xfe0]
movsd xmm7, qword [0x180083760]
xorpd xmm8, xmm8
je 0x18003db6f
nop dword [rax + rax]
movsd xmm0, qword [rdi + r14*8]
mulsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_round
movsd qword [rbp + r14*8 - 0x58], xmm0
inc r14
cmp r12, r14
jne 0x18003db50
lea rax, [rbx + r13]
mov rcx, qword [rbp + 0xfc8]
shl rcx, 9
sub rbx, rcx
lea rcx, [rdi + r12*8]
mov qword [rbp + 0xfe0], rcx
sub qword [rbp + 0xfc0], r12
xor edx, edx
mov r10, 0xffffffffffffffff
movabs r11, 0x8000000000000000
movabs r14, 0xbce0000000000000
movsd xmm0, qword [rbp + rdx*8 - 0x58]
movapd xmm1, xmm0
andpd xmm1, xmm12
ucomisd xmm13, xmm1
jbe 0x18003dc10
cvttsd2si rcx, xmm1
mov r8, rcx
sar r8, 0x3f
movapd xmm2, xmm1
subsd xmm2, xmm7
cvttsd2si r9, xmm2
and r9, r8
or r9, rcx
ucomisd xmm1, xmm8
mov r8d, 0
cmovae r8, r9
ucomisd xmm1, xmm14
cmova r8, r10
lea rcx, [rsi + rdx]
cmp rcx, r15
jb 0x18003dc25
jmp 0x18003de69
movq r8, xmm1
add r8, r14
lea rcx, [rsi + rdx]
cmp rcx, r15
jae 0x18003de69
movmskpd ecx, xmm0
and ecx, 1
mov r9, r11
sub r9, rcx
xor r8, r9
mov rcx, qword [rbp + 0xfb8]
mov qword [rcx + rdx*8], r8
inc rdx
cmp r12, rdx
jne 0x18003dbb0
lea rcx, [r12 - 1]
cmp rbx, rcx
cmovae rbx, rcx
inc rbx
cmp rbx, 2
ja 0x18003dc70
xor ebx, ebx
mov r14, qword [rbp + 0xfd0]
jmp 0x18003dcf0
mov edx, ebx
and edx, 1
mov r8d, 2
cmove rdx, r8
sub rbx, rdx
cmp rax, rcx
cmovb rcx, rax
sub rcx, rdx
inc rcx
xor eax, eax
mov r14, qword [rbp + 0xfd0]
nop dword [rax + rax]
movdqu xmm0, xmmword [rdi + rax*8]
pshufd xmm1, xmm0, 0xf5
psrad xmm1, 0x1f
por xmm1, xmm15
pxor xmm1, xmm0
movupd xmm0, xmmword [rbp + rax*8 - 0x58]
mulpd xmm0, xmm11
movapd xmm2, xmm0
shufps xmm2, xmm0, 0xf5
psrad xmm2, 0x1f
por xmm2, xmm15
pxor xmm2, xmm0
psubq xmm1, xmm2
movdqu xmmword [r14 + rax*8], xmm1
add rax, 2
cmp rcx, rax
jne 0x18003dca0
nop dword [rax]
lea rcx, [rsi + rbx]
cmp rcx, r15
jae 0x18003de7a
mov rax, qword [rdi + rbx*8]
mov rcx, rax
sar rcx, 0x3f
or rcx, r11
xor rcx, rax
movsd xmm0, qword [rbp + rbx*8 - 0x58]
mulsd xmm0, xmm6
movq rax, xmm0
mov rdx, rax
sar rdx, 0x3f
or rdx, r11
xor rdx, rax
sub rcx, rdx
mov qword [r14 + rbx*8], rcx
lea rax, [rbx + 1]
mov rbx, rax
cmp r12, rax
jne 0x18003dcf0
mov rdx, rsi
add rdx, r12
mov rax, qword [rbp + 0xfe8]
jb 0x18003dea3
cmp rdx, r15
ja 0x18003de8b
lea rcx, [rax + rsi*8]
mov rdx, r12
call fcn.18002ff30
add rsi, 0x200
inc qword [rbp + 0xfc8]
add qword [rbp + 0xfb8], 0x1000
add r13, 0xfffffffffffffe00
add r14, 0x1000
mov rdi, qword [rbp + 0xfe0]
mov r15, qword [rbp + 0xff0]
mov rax, qword [rbp + 0xfc0]
jmp 0x18003da90
movzx eax, byte [0x1800a4291]
mov ecx, 0x30
mov edx, 8
call fcn.1800458d0
test rax, rax
je 0x18003ded1
mov rcx, qword [rbp + 0xfd8]
mov qword [rax], rcx
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov rcx, qword [rbp + 0xfe8]
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], r15
mov rcx, qword [rbp + 0xfa8]
mov qword [rcx], rax
mov qword [rcx + 8], 2
mov qword [rcx + 0x10], 2
mov rax, rcx
movaps xmm6, xmmword [rbp + 0x1000]
movaps xmm7, xmmword [rbp + 0x1010]
movaps xmm8, xmmword [rbp + 0x1020]
movaps xmm9, xmmword [rbp + 0x1030]
movaps xmm10, xmmword [rbp + 0x1040]
movaps xmm11, xmmword [rbp + 0x1050]
movaps xmm12, xmmword [rbp + 0x1060]
movaps xmm13, xmmword [rbp + 0x1070]
movaps xmm14, xmmword [rbp + 0x1080]
movaps xmm15, xmmword [rbp + 0x1090]
add rsp, 0x1128
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.D:_apcodecpcodecpco_src_float_mult_utils.rs
mov rdx, r15
call fcn.180082960
jmp 0x18003dee0
lea r8, str.D:_apcodecpcodecpco_src_float_mult_utils.rs
mov rdx, r15
call fcn.180082960
jmp 0x18003dee0
lea r8, str.D:_apcodecpcodecpco_src_float_mult_utils.rs
mov rcx, rdx
mov rdx, qword [rbp + 0xff0]
call fcn.180082d50
jmp 0x18003dee0
lea r8, str.D:_apcodecpcodecpco_src_float_mult_utils.rs
mov rcx, rsi
call fcn.180082dd0
jmp 0x18003dee0
call fcn.18006c380
ud2
mov qword [rbp + 0xfb0], rsi
mov ecx, 8
mov rdx, rbx
call fcn.180082720
jmp 0x18003dee0
mov ecx, 8
mov edx, 0x30
call fcn.180082720
ud2