Function at 0x180038264
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp + 0x37], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov dword [rbp - 0x39], 0x2a
mov eax, dword [rbp - 0x39]
xor ax, 0x6f
mov word [rbp - 0x35], ax
mov eax, dword [rbp - 0x39]
mov ebx, 1
add ax, bx
xor ax, 0x6c
mov word [rbp - 0x33], ax
mov eax, dword [rbp - 0x39]
add ax, 2
xor ax, 0x65
mov word [rbp - 0x31], ax
mov eax, dword [rbp - 0x39]
add ax, 3
xor ax, 0x33
mov word [rbp - 0x2f], ax
mov eax, dword [rbp - 0x39]
add ax, 4
lea r15d, [rbx + 0x31]
xor ax, r15w
mov word [rbp - 0x2d], ax
xor eax, eax
mov word [rbp - 0x2b], ax
movzx eax, word [rbp - 0x35]
xor edi, edi
mov edx, edi
lea r14d, [rbx + 4]
movzx eax, word [rbp + rdx*2 - 0x35]
mov ecx, dword [rbp - 0x39]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x35], cx
add rdx, rbx
cmp rdx, r14
jb 0x1800382f3
mov word [rbp - 0x2b], di
lea rcx, [rbp - 0x35]
call fcn.1800e4f98
nop
xor edx, edx
lea r8d, [rdx + 0xc]
lea rcx, [rbp - 0x35]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov dword [rbp - 0x29], 0x17
mov eax, dword [rbp - 0x29]
xor ax, 0x6f
mov word [rbp - 0x25], ax
mov eax, dword [rbp - 0x29]
add ax, bx
xor ax, 0x6c
mov word [rbp - 0x23], ax
mov eax, dword [rbp - 0x29]
add ax, 2
xor ax, 0x65
mov word [rbp - 0x21], ax
mov eax, dword [rbp - 0x29]
add ax, 3
xor ax, 0x61
mov word [rbp - 0x1f], ax
mov eax, dword [rbp - 0x29]
add ax, 4
xor ax, 0x75
mov word [rbp - 0x1d], ax
mov eax, dword [rbp - 0x29]
add ax, r14w
xor ax, 0x74
mov word [rbp - 0x1b], ax
mov eax, dword [rbp - 0x29]
add ax, 6
xor ax, 0x33
mov word [rbp - 0x19], ax
mov eax, dword [rbp - 0x29]
add ax, 7
xor ax, r15w
mov word [rbp - 0x17], ax
xor eax, eax
mov word [rbp - 0x15], ax
movzx eax, word [rbp - 0x25]
mov rdx, rdi
movzx eax, word [rbp + rdx*2 - 0x25]
mov ecx, dword [rbp - 0x29]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x25], cx
add rdx, rbx
cmp rdx, 8
jb 0x1800383b3
mov word [rbp - 0x15], di
lea rcx, [rbp - 0x25]
call fcn.1800e4f98
nop
mov esi, 0x12
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x25]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea eax, [rsi + 0x38]
mov word [rbp + 0x1f], ax
lea eax, [rsi + 0x5b]
mov word [rbp + 0x21], ax
lea eax, [rsi + 0x6d]
mov word [rbp + 0x23], ax
lea eax, [rsi + 0x58]
mov word [rbp + 0x25], ax
lea eax, [rsi + 0x67]
mov word [rbp + 0x27], ax
lea eax, [rsi + 0x60]
mov word [rbp + 0x29], ax
lea eax, [rsi + 0x2a]
mov word [rbp + 0x2b], ax
lea eax, [rsi + 0x29]
mov word [rbp + 0x2d], ax
mov word [rbp + 0x2f], di
movzx eax, word [rbp + 0x1f]
mov rcx, rdi
movzx eax, word [rbp + rcx*2 + 0x1f]
sub ax, 9
mov word [rbp + rcx*2 + 0x1f], ax
add rcx, rbx
cmp rcx, 8
jb 0x180038434
lea rcx, [rbp + 0x1f]
call fcn.1800e4f98
nop
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0x1f]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov dword [rbp - 0x11], r15d
mov eax, dword [rbp - 0x11]
xor ax, 0x6e
mov word [rbp - 0xd], ax
mov eax, dword [rbp - 0x11]
add ax, bx
xor ax, 0x65
mov word [rbp - 0xb], ax
mov eax, dword [rbp - 0x11]
add ax, 2
xor ax, 0x74
mov word [rbp - 9], ax
mov eax, dword [rbp - 0x11]
add ax, 3
xor ax, 0x61
mov word [rbp - 7], ax
mov eax, dword [rbp - 0x11]
add ax, 4
xor ax, 0x70
mov word [rbp - 5], ax
mov eax, dword [rbp - 0x11]
add ax, r14w
xor ax, 0x69
mov word [rbp - 3], ax
mov eax, dword [rbp - 0x11]
add ax, 6
xor ax, 0x33
mov word [rbp - 1], ax
mov eax, dword [rbp - 0x11]
add ax, 7
xor ax, r15w
mov word [rbp + 1], ax
xor eax, eax
mov word [rbp + 3], ax
movzx eax, word [rbp - 0xd]
mov rdx, rdi
movzx eax, word [rbp + rdx*2 - 0xd]
mov ecx, dword [rbp - 0x11]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0xd], cx
add rdx, rbx
cmp rdx, 8
jb 0x1800384e8
mov word [rbp + 3], di
lea rcx, [rbp - 0xd]
call fcn.1800e4f98
nop
mov r8, rsi
xor edx, edx
lea rcx, [rbp - 0xd]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov dword [rbp + 7], 0x18
mov eax, dword [rbp + 7]
xor ax, 0x73
mov word [rbp + 0xb], ax
mov eax, dword [rbp + 7]
add ax, bx
xor ax, 0x65
mov word [rbp + 0xd], ax
mov eax, dword [rbp + 7]
add ax, 2
xor ax, 0x74
mov word [rbp + 0xf], ax
mov eax, dword [rbp + 7]
add ax, 3
xor ax, 0x75
mov word [rbp + 0x11], ax
mov eax, dword [rbp + 7]
add ax, 4
xor ax, 0x70
mov word [rbp + 0x13], ax
mov eax, dword [rbp + 7]
add ax, r14w
xor ax, 0x61
mov word [rbp + 0x15], ax
mov eax, dword [rbp + 7]
add ax, 6
xor ax, 0x70
mov word [rbp + 0x17], ax
mov eax, dword [rbp + 7]
add ax, 7
xor ax, 0x69
mov word [rbp + 0x19], ax
xor eax, eax
mov word [rbp + 0x1b], ax
movzx eax, word [rbp + 0xb]
mov rdx, rdi
movzx eax, word [rbp + rdx*2 + 0xb]
mov ecx, dword [rbp + 7]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0xb], cx
add rdx, rbx
cmp rdx, 8
jb 0x1800385a8
mov word [rbp + 0x1b], di
lea rcx, [rbp + 0xb]
call fcn.1800e4f98
nop
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0xb]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret