Function at 0x1800804b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x430]
sub rsp, 0x530
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov rdi, rdx
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x60], rcx
mov rsi, qword [rdx + 0x10]
mov eax, esi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
movsxd r14, eax
lea r13d, [r14 + 1]
mov dword [rsp + 0x4c], r13d
mov eax, r13d
shl eax, 4
inc eax
movsxd rbx, eax
mov rcx, rbx
call fcn.1800ff608
mov r15, rax
mov qword [rbp - 0x78], rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r8, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18008053e
mov r8, qword [rdi]
mov rdi, r8
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rdi + rdx], 0
jne 0x180080545
inc rdx
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
and esi, 0xf
mov ebx, esi
mov r10d, 0x10
sub r10d, esi
movd xmm0, r10d
pshufd xmm0, xmm0, 0
xor r9d, r9d
mov rdx, r14
test r10d, r10d
jle 0x180080623
cmp r10d, 0x10
jb 0x180080601
mov ecx, r10d
and ecx, 0x8000000f
jge 0x180080599
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, r10d
sub eax, ecx
movsxd r11, eax
andps xmm0, xmmword [0x18013d190]
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
shl rdx, 4
lea rcx, [rsi + 8]
add rcx, rdx
add rcx, r15
mov r8, 0xfffffffffffffff8
sub r8, rbx
sub r8, rdx
sub r8, r15
mov edx, dword [rsp + 0x60]
nop dword [rax + rax]
mov dword [rcx - 8], edx
mov dword [rcx - 4], edx
mov dword [rcx], edx
mov dword [rcx + 4], edx
add r9d, 0x10
lea rcx, [rcx + 0x10]
lea rax, [r8 + rcx]
cmp rax, r11
jl 0x1800805e0
cmp r9d, r10d
jge 0x180080623
movsxd r8, r9d
mov rcx, r14
shl rcx, 4
add rcx, r8
add rcx, rbx
add rcx, r15
mov r8d, r10d
sub r8d, r9d
movzx edx, r10b
call sub.VCRUNTIME140.dll_memset
mov eax, r13d
shl eax, 4
movsxd r12, eax
mov qword [rbp - 0x80], r12
mov byte [r12 + r15], 0
mov eax, r13d
shl eax, 4
inc eax
movsxd rcx, eax
call fcn.1800ff608
mov rdi, rax
mov qword [rsp + 0x60], rax
mov eax, r13d
shl eax, 4
inc eax
movsxd r8, eax
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
lea rax, vtable.AES.0
mov qword [rbp - 0x60], rax
mov byte [rbp - 0x58], 0
mov qword [rbp + 0x36c], 0
mov dword [rbp + 0x374], 0
lea rcx, [rbp - 0x60]
call fcn.1800068a0
movzx r8d, byte [rbp - 0x58]
test r8b, r8b
je 0x180080a8e
test r12, r12
je 0x180080a8e
movsxd r9, dword [rbp + 0x370]
mov rcx, r9
xor edx, edx
mov rax, r12
div r9
test rdx, rdx
jne 0x180080a8e
mov dword [rsp + 0x3c], edx
mov rbx, rdi
mov qword [rsp + 0x40], rbx
mov rax, r12
div rcx
test rax, rax
je 0x180080a8e
lea rax, [rbp + 0x398]
mov r12, r15
sub r12, rax
mov qword [rsp + 0x50], r12
lea r10, [0x180000000]
lea rcx, [rbp + 0x398]
test r8b, r8b
je 0x18008072e
xor edx, edx
test r9d, r9d
jle 0x18008072e
nop dword [rax + rax]
movzx eax, byte [r12 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
inc edx
mov r9d, dword [rbp + 0x370]
cmp edx, r9d
jl 0x180080710
movzx r8d, byte [rbp - 0x58]
lea rcx, [rbp + 0x398]
test r8b, r8b
je 0x180080a2c
cmp r9d, 0x10
jne 0x180080763
mov r8, rbx
lea rdx, [rbp + 0x398]
lea rcx, [rbp - 0x60]
call fcn.180006490
mov r9d, dword [rbp + 0x370]
jmp 0x180080a2c
mov eax, r9d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
xor eax, eax
cmp r13d, 4
je 0x180080784
cmp r13d, 6
setne al
inc rax
shl rax, 5
mov r15d, dword [rax + r10 + 0x1235b8]
mov dword [rsp + 0x48], r15d
mov ebx, dword [rax + r10 + 0x1235c0]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + r10 + 0x1235c8]
mov dword [rsp + 0x38], esi
lea r10, [rbp + 0x3f8]
xor r11d, r11d
test r13d, r13d
jle 0x18008080d
nop dword [rax]
movzx eax, byte [rcx]
shl eax, 0x18
mov dword [r10], eax
movzx edx, byte [rcx + 1]
shl edx, 0x10
or edx, eax
mov dword [r10], edx
movzx r8d, byte [rcx + 2]
shl r8d, 8
or r8d, edx
mov dword [r10], r8d
movzx eax, byte [rcx + 3]
lea rcx, [rcx + 4]
mov rdx, r10
add r10, 4
or r8d, eax
xor r8d, dword [rbp + r11*4 - 0x54]
mov dword [rdx], r8d
inc r11
cmp r11, r13
jl 0x1800807c0
mov r9d, dword [rbp + 0x370]
mov r14d, 1
mov dword [rsp + 0x30], r14d
mov eax, dword [rbp + 0x374]
cmp eax, r14d
jle 0x180080947
lea eax, [r13*4]
cdqe
mov qword [rsp + 0x78], rax
mov r12, 0xfffffffffffffbd4
nop dword [rax]
xor esi, esi
test r13d, r13d
jle 0x180080900
mov ebx, r15d
mov r10d, dword [rsp + 0x34]
sub r10d, r15d
mov r11d, dword [rsp + 0x38]
sub r11d, r15d
lea r15, [rbp + 0x3f8]
add r15, r12
lea r14, [0x180000000]
nop
lea eax, [r10 + rbx]
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 8
movzx r8d, cl
lea eax, [r11 + rbx]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax*4 + 0x3f8]
mov r9d, dword [r14 + r8*4 + 0x121cb0]
xor r9d, dword [r14 + rcx*4 + 0x122db0]
mov eax, ebx
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [r14 + rax*4 + 0x1220b0]
movzx eax, byte [rbp + rsi*4 + 0x3fb]
xor r9d, dword [r14 + rax*4 + 0x1224b0]
xor r9d, dword [r15 + rsi*4]
mov dword [rbp + rsi*4 + 0x3d8], r9d
inc ebx
inc rsi
cmp rsi, r13
jl 0x180080870
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x78]
lea rdx, [rbp + 0x3d8]
lea rcx, [rbp + 0x3f8]
call sub.VCRUNTIME140.dll_memcpy
inc r14d
mov dword [rsp + 0x30], r14d
add r12, 0x20
mov eax, dword [rbp + 0x374]
cmp r14d, eax
jl 0x180080840
mov r9d, dword [rbp + 0x370]
mov ebx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
xor r11d, r11d
test r13d, r13d
jle 0x180080a27
cdqe
mov r10, qword [rsp + 0x40]
sub r15d, ebx
sub esi, ebx
shl rax, 5
lea r14, [rbp - 0x54]
add r14, rax
lea r12, [0x180000000]
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r14 + r11*4]
movzx ecx, byte [rbp + r11*4 + 0x3fb]
mov eax, r8d
sar eax, 0x18
xor al, byte [rcx + r12 + 0x1228b0]
mov byte [r10], al
lea eax, [rbx + r15]
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 0x10
movzx edx, cl
mov eax, r8d
sar eax, 0x10
xor al, byte [rdx + r12 + 0x1228b0]
mov byte [r10 + 1], al
mov eax, ebx
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 8
movzx edx, cl
mov eax, r8d
sar eax, 8
xor al, byte [rdx + r12 + 0x1228b0]
mov byte [r10 + 2], al
lea eax, [rbx + rsi]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax*4 + 0x3f8]
xor r8b, byte [rcx + r12 + 0x1228b0]
mov byte [r10 + 3], r8b
lea r10, [r10 + 4]
inc ebx
inc r11
cmp r11, r13
jl 0x180080980
mov r12, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
movsxd r8, r9d
mov rdx, rbx
lea rcx, [rbp + 0x398]
call sub.VCRUNTIME140.dll_memcpy
movsxd r9, dword [rbp + 0x370]
add rbx, r9
mov qword [rsp + 0x40], rbx
mov r10d, dword [rsp + 0x3c]
inc r10d
mov dword [rsp + 0x3c], r10d
add r12, r9
mov qword [rsp + 0x50], r12
xor edx, edx
mov rax, qword [rbp - 0x80]
div r9
mov rcx, rax
movsxd rax, r10d
cmp rax, rcx
jae 0x180080a80
movzx r8d, byte [rbp - 0x58]
jmp 0x1800806ee
mov r15, qword [rbp - 0x78]
mov r13d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x60]
shl r13d, 4
mov r8d, r13d
mov rdx, rdi
mov rcx, qword [rbp - 0x70]
call fcn.180007030
mov rcx, r15
call fcn.1800fed90
mov rcx, rdi
call fcn.1800fed90
nop
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1800fed70
mov rbx, qword [rsp + 0x580]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret