Function at 0x18003ad40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xf8
mov rax, qword [0x1800cd230]
xor rax, rsp
mov qword [rbp - 9], rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rdx
mov r11, rcx
mov qword [rsp + 0x58], rcx
mov r13, qword [rbp + 0x7f]
movdqa xmm0, xmmword [0x1800c4e00]
movdqu xmmword [rbp - 0x69], xmm0
mov byte [rbp - 0x79], 0
movdqa xmm1, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], 0
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
mov r15d, dword [rbp + 0x77]
lea eax, [r15 + 8]
mov dword [rsp + 0x30], eax
movzx ebx, byte [rsp + 0x38]
cmp r15d, eax
jae case.0x18003ae01.3
add r15d, 0xffffff3f
lea r10, [0x180000000]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
mov ecx, eax
cmp r15d, 0x20
ja case.default.0x18003ae01
movzx eax, byte [r10 + r15 + 0x3b0f0]
mov ecx, dword [r10 + rax*4 + 0x3b0cc]
add rcx, r10
jmp rcx
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 8]
mov word [rsp + 0x38], ax
lea r9, [rbp - 0x79]
mov r8d, 0xfa
lea rcx, [rsp + 0x38]
call fcn.180011b90
mov rbx, rax
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
lea r10, [0x180000000]
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x30]
inc r15d
lea eax, [r15 + 0xc1]
cmp eax, ecx
jae case.0x18003ae01.3
jmp 0x18003ade7
xor edx, edx
test r12, r12
je 0x18003ae3e
cmp r12, 0x10
jb 0x18003af12
lea rcx, [r12 - 1]
lea rcx, [r14 + rcx*4]
lea rax, [r12 - 1]
lea rax, [rsi + rax*4]
cmp r14, rax
ja 0x18003ae8c
cmp rcx, rsi
jae 0x18003af12
lea rax, [r12 - 1]
lea rax, [rdi + rax*4]
cmp r14, rax
ja 0x18003ae9f
cmp rcx, rdi
jae 0x18003af12
mov rax, r12
and rax, 0xfffffffffffffff0
nop word [rax + rax]
movdqu xmm1, xmmword [rdi]
movdqu xmm0, xmmword [rsi]
pxor xmm1, xmm0
movdqu xmmword [r14], xmm1
movdqu xmm1, xmmword [rdi + 0x10]
movdqu xmm0, xmmword [rsi + 0x10]
pxor xmm1, xmm0
movdqu xmmword [r14 + 0x10], xmm1
movdqu xmm1, xmmword [rdi + 0x20]
movdqu xmm0, xmmword [rsi + 0x20]
pxor xmm1, xmm0
movdqu xmmword [r14 + 0x20], xmm1
movdqu xmm1, xmmword [rdi + 0x30]
movdqu xmm0, xmmword [rsi + 0x30]
pxor xmm1, xmm0
movdqu xmmword [r14 + 0x30], xmm1
add r14, 0x40
add rsi, 0x40
add rdi, 0x40
add rdx, 0x10
cmp rdx, rax
jb 0x18003aeb0
cmp rdx, r12
jae 0x18003ae3e
mov rcx, r12
sub rcx, rdx
mov eax, dword [rdi]
xor eax, dword [rsi]
mov dword [r14], eax
add r14, 4
add rsi, 4
add rdi, 4
sub rcx, 1
jne 0x18003af21
jmp 0x18003ae3e
mov rdi, qword [rdx]
add rdi, 0x28
mov rsi, qword [r11]
add rsi, 0x28
mov rax, qword [r13]
lea r14, [rax + 0x28]
mov r12, qword [rax + 0x10]
jmp case.0x18003ae01.8
mov eax, dword [r8]
mov dword [rdx + 0xc], eax
jmp case.0x18003ae01.8
mov qword [rsp + 0x48], r13
cmp qword [r13 + 0x1a], 0
je 0x18003afd5
lea rdx, [r13 + 0xa]
xor r9d, r9d
lea r8, [rbp - 0x79]
lea ecx, [r9 + 0x74]
call fcn.18000a8b0
jmp 0x18003ae28
cmp dword [r13 + 0xe4], 2
je case.0x18003ae01.3
movss xmm0, dword [r13 + 0x134]
mulss xmm0, dword [rdx]
cvttss2si eax, xmm0
mov dword [r13 + 0x13c], eax
jmp case.0x18003ae01.8
mov r10, qword [r13]
mov eax, dword [r9]
mov dword [rsp + 0x20], eax
mov r9d, dword [r8]
mov r8d, dword [r11]
mov edx, dword [rdx]
mov rcx, qword [r13 + 8]
call qword [r10 + 0x30]
jmp 0x18003ae28
xor bl, bl
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x18003b012
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b00d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b09d
call fcn.1800a7360
movdqa xmm0, xmmword [0x1800c4e00]
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x18003b05a
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b055
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003b09d
call fcn.1800a7360
movdqa xmm0, xmmword [0x1800c4e00]
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], 0
mov rdx, qword [rbp - 0x61]
cmp rdx, 0x10
jb 0x18003b0a9
inc rdx
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003b0a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003b0a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800a7360
movzx eax, bl
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1800a7b10
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret