Function at 0x18002de30
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
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 [0x180081de0]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r15, r9
mov qword [rsp + 0x40], r9
mov rsi, r8
mov qword [rsp + 0x88], r8
mov r9d, edx
mov dword [rsp + 0x30], edx
mov r10, rcx
mov qword [rsp + 0x58], rcx
mov rdi, qword [rsp + 0x1a0]
mov r14, qword [rsp + 0x1a8]
mov qword [rsp + 0x78], r14
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor ebx, ebx
mov qword [rsp + 0x70], rbx
lea ecx, [rdx + 0x7c5]
mov dword [rsp + 0x20], ecx
cmp edx, ecx
jae 0x18002e63a
movss xmm12, dword [0x18007ab48]
movss xmm13, dword [0x18007aafc]
movss xmm14, dword [0x18007aaf0]
movss xmm15, dword [0x18007ad54]
mov r13d, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x2c]
movss xmm9, dword [rsp + 0x34]
movss xmm8, dword [rsp + 0x34]
movss xmm11, dword [rsp + 0x34]
nop dword [rax]
cmp r9d, 0x1c3
ja 0x18002e2e8
je 0x18002e2de
cmp r9d, 0x12a
ja 0x18002e2b4
je 0x18002e22c
mov eax, r9d
sub eax, 0x84
je 0x18002e206
sub eax, 0x72
je 0x18002dff6
cmp eax, 0x27
jne 0x18002e56a
mov r8d, ebx
cmp dword [r15], 0
jle 0x18002dfe5
mov ecx, dword [rsp + 0x24]
nop
lea eax, [r12 + rcx]
movsxd rdx, eax
movsxd rcx, ecx
movsxd rax, r13d
movss xmm0, dword [rdi + rdx*4]
addss xmm0, dword [rdi + rcx*4]
movss dword [rsi + rax*4], xmm0
movss xmm1, dword [rdi + rcx*4]
subss xmm1, dword [rdi + rdx*4]
mov eax, dword [rsp + 0x38]
add eax, r13d
movsxd rcx, eax
movss dword [rsi + rcx*4], xmm1
mov eax, dword [r14]
add r13d, eax
lea ecx, [r13*2]
inc r8d
cmp r8d, dword [r15]
jl 0x18002df90
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x20]
jmp 0x18002dfe8
mov eax, dword [r14]
cmp eax, 2
jl 0x18002e63a
jmp 0x18002e56a
movsxd rcx, dword [r14 + 0x2c]
mov rax, qword [rdi + 8]
cmp qword [rax + rcx*8], 0
jne 0x18002e566
mov ebp, 0xbb
mov r12d, dword [rsp + 0x34]
and al, 0x34
mov esi, dword [rsp + 0x48]
nop word [rax + rax]
cmp ebp, 0xbb
je 0x18002e1c0
cmp ebp, 0x591e
je 0x18002e12a
cmp ebp, 0xb181
je 0x18002e059
cmp ebp, 0x109e4
jne 0x18002e1d9
movsxd rax, esi
mov dword [rdi + rax*4 + 0x10], r12d
jmp 0x18002e1d9
mov r14d, ebx
test r12d, r12d
jle 0x18002e10c
movsxd r15, esi
movd xmm10, r12d
cvtdq2ps xmm10, xmm10
mov rax, qword [rsp + 0x50]
movd xmm7, dword [rax + 4]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm12
divss xmm7, xmm10
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
mulss xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
mulss xmm6, xmm15
mulss xmm0, dword [0x18007ac68]
addss xmm6, xmm0
mulss xmm7, dword [0x18007aaf8]
addss xmm6, xmm7
mulss xmm6, xmm11
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si ecx, xmm0
mov eax, dword [rdi]
lea edx, [rax - 1]
cmp ecx, eax
cmovl edx, ecx
mov rax, qword [rdi + 8]
mov rcx, qword [rax + r15*8]
mov dword [rcx + rbx*4], edx
inc r14d
inc rbx
cmp r14d, r12d
jl 0x18002e071
mov r15, qword [rsp + 0x40]
movsxd rcx, esi
mov rax, qword [rdi + 8]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + rbx*4], 0xffffffff
mov r14, qword [rsp + 0x78]
xor ebx, ebx
jmp 0x18002e1d9
movsxd rsi, dword [r14 + 0x2c]
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + rsi*4]
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov rax, qword [rsp + 0x50]
movd xmm7, dword [rax + 4]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm12
movaps xmm0, xmm7
mulss xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
mulss xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movd xmm11, dword [rdi]
cvtdq2ps xmm11, xmm11
mulss xmm6, xmm15
mulss xmm0, dword [0x18007ac68]
addss xmm6, xmm0
mulss xmm7, dword [0x18007aaf8]
addss xmm6, xmm7
divss xmm11, xmm6
lea eax, [r12 + 1]
movsxd rcx, eax
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
mov rax, qword [rdi + 8]
mov qword [rax + rsi*8], rcx
xor ebx, ebx
jmp 0x18002e1d9
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x50], r15
add ebp, 0x5863
cmp ebp, 0x1618c
jbe 0x18002e020
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x34], r12d
mov rsi, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x2c]
jmp 0x18002e561
mov eax, dword [r14]
mov ecx, eax
imul ecx, dword [r15]
mov dword [rsp + 0x38], ecx
mov r13d, ebx
mov dword [rsp + 0x24], ebx
lea r12d, [rax*2 - 1]
mov dword [rsp + 0x2c], r12d
jmp 0x18002e566
mov edx, 0xf6
lea rcx, [rsp + 0x60]
call fcn.180008fd0
test al, al
je 0x18002e635
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
cmp rbx, rbp
je 0x18002e561
movabs rax, 0x4600410053004d
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x44
mov eax, dword [r14]
cmp dword [rbx + 0x4c], eax
jne 0x18002e2a3
mov eax, dword [r15]
cmp dword [rbx + 0x58], eax
jne 0x18002e2a3
lea rcx, [rbx + 0x74]
mov r8d, 5
lea rdx, [rsp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x18002e590
add rbx, 0x274
cmp rbx, rbp
jne 0x18002e256
jmp 0x18002e561
mov eax, r9d
sub eax, 0x1b6
je 0x18002e2cc
cmp eax, 9
je 0x18002e63e
jmp 0x18002e56a
cmp dword [r14], 2
je 0x18002e391
mov r13d, ebx
jmp 0x18002e56a
mov byte [rsp + 0x28], 0
jmp 0x18002e56a
mov eax, r9d
sub eax, 0x24f
je 0x18002e3c1
sub eax, 0xd
je 0x18002e63a
sub eax, 0x8c
je 0x18002e3a2
sub eax, 0x99
je 0x18002e391
cmp eax, 0x99
jne 0x18002e56a
mov r8d, dword [r14]
dec r8d
mov dword [rsp + 0x24], r8d
mov edx, ebx
cmp dword [r15], 0
jle 0x18002e56a
mov r12d, dword [rsp + 0x38]
nop dword [rax]
movsxd rcx, r8d
movss xmm0, dword [rdi + rcx*4]
movsxd rax, r13d
addss xmm0, xmm0
movss dword [rsi + rax*4], xmm0
movss xmm1, dword [rdi + rcx*4 + 4]
addss xmm1, xmm1
xorps xmm1, xmmword [0x18007b870]
lea eax, [r12 + r13]
movsxd rcx, eax
movss dword [rsi + rcx*4], xmm1
mov eax, dword [r14]
add r13d, eax
lea r8d, [r8 + rax*2]
inc edx
cmp edx, dword [r15]
jl 0x18002e340
mov dword [rsp + 0x24], r8d
mov r12d, dword [rsp + 0x2c]
jmp 0x18002e566
mov r9d, 0x381
mov r13d, dword [r14]
dec r13d
jmp 0x18002e56a
mov eax, dword [r14]
and eax, 0x80000001
jge 0x18002e3b3
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x18002e63a
jmp 0x18002e56a
mov r8d, ebx
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x3c], ebx
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0
jle 0x18002e56a
nop word [rax + rax]
mov ebp, 0xfd
mov r15d, dword [rsp + 0x38]
nop word [rax + rax]
cmp ebp, 0xfd
je 0x18002e419
cmp ebp, 0x11ca
jne 0x18002e52f
add r13d, dword [r14]
lea r8d, [r13*2]
mov dword [rsp + 0x24], r8d
jmp 0x18002e52f
mov r12d, r13d
mov eax, dword [r14]
lea edx, [r8 + rax*2]
lea ecx, [r15 + r13]
mov ebx, 2
cmp eax, ebx
jle 0x18002e52f
movsxd r11, ecx
movsxd rcx, r8d
movsxd rdx, edx
movsxd r9, r13d
add r10, 4
mov r8d, 0x22
nop word [rax + rax]
mov eax, r8d
sub eax, 0x22
je 0x18002e4fc
sub eax, 1
je 0x18002e4d1
sub eax, 1
je 0x18002e4bf
sub eax, 1
je 0x18002e4b1
cmp eax, 1
jne 0x18002e508
movaps xmm1, xmm9
mulss xmm1, dword [r10 - 4]
movaps xmm0, xmm8
mulss xmm0, dword [r10]
subss xmm1, xmm0
movss dword [rsi + r11*4 - 4], xmm1
movaps xmm2, xmm8
mulss xmm2, dword [r10 - 4]
movaps xmm0, xmm9
mulss xmm0, dword [r10]
addss xmm2, xmm0
movss dword [rsi + r11*4], xmm2
jmp 0x18002e508
movss xmm8, dword [rdi + rcx*4]
addss xmm8, dword [rdi + rdx*4]
jmp 0x18002e508
movss xmm0, dword [rdi + rcx*4]
subss xmm0, dword [rdi + rdx*4]
movss dword [rsi + r9*4], xmm0
jmp 0x18002e508
sub rdx, 2
add r11, 2
movss xmm0, dword [rdi + rdx*4 - 4]
addss xmm0, dword [rdi + rcx*4 - 4]
movss dword [rsi + r9*4 - 4], xmm0
movss xmm9, dword [rdi + rcx*4 - 4]
subss xmm9, dword [rdi + rdx*4 - 4]
jmp 0x18002e508
add r12d, 2
add r9, 2
add rcx, 2
inc r8d
cmp r8d, 0x27
jb 0x18002e450
add ebx, 2
add r10, 8
cmp ebx, dword [r14]
jl 0x18002e444
mov r8d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x58]
add ebp, 0x10cd
cmp ebp, 0x219a
jbe 0x18002e3f0
mov dword [rsp + 0x2c], r12d
mov r15d, dword [rsp + 0x3c]
inc r15d
mov dword [rsp + 0x3c], r15d
mov rax, qword [rsp + 0x40]
cmp r15d, dword [rax]
jl 0x18002e3e0
mov r9d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
add r9d, 0x99
mov dword [rsp + 0x30], r9d
cmp r9d, ecx
jae 0x18002e63a
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov r10, qword [rsp + 0x58]
jmp 0x18002df40
mov eax, 4
nop word [rax + rax]
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rdi + 0x60], xmm0
lea rdi, [rdi + 0x80]
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [rdi - 0x10], xmm1
lea rbx, [rbx + 0x80]
sub rax, 1
jne 0x18002e5a0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rdi + 0x60], xmm0
mov eax, dword [rbx + 0x70]
mov dword [rdi + 0x70], eax
mov byte [rsp + 0x28], 1
jmp 0x18002e63a
mov byte [rsp + 0x28], 0
mov ebx, dword [rsp + 0x28]
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x18002e6a2
mov rcx, qword [rsp + 0x70]
sub rcx, r8
movabs rax, 0x342da7f2f4960343
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x274
mov rax, r8
cmp rdx, 0x1000
jb 0x18002e69a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002e69a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.18005f9b8
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.18005fed0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
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 rdi
ret