Function at 0x180001af0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov ebp, dword [rsp + 0x80]
lea r13d, [rdx - 0x1b4]
mov edi, dword [rsp + 0x90]
mov eax, r9d
mov r10d, dword [rsp + 0x88]
xor eax, 0x2c
mov esi, r10d
mov dword [rsp + 0x80], eax
xor esi, 0x66
xor ebp, 0xeb6
mov r14d, r9d
lea r11d, [rdi + 0x6c]
xor r9d, r9d
mov dword [rsp + 0x90], r11d
mov rbx, r8
mov r15d, 0x6def3
mov r8d, r9d
lea r12d, [r9 + 1]
mov eax, dword [0x18022f104]
sub eax, dword [rbx + 0x150]
mov rcx, qword [section..data]
xor eax, 0x1c55d0
add dword [rcx + 0x38], eax
mov rax, qword [rbx + 0xc8]
movzx ecx, byte [0x18022f094]
movzx edx, byte [r8 + rax]
add r8, 4
mov rax, qword [section..data]
imul edx, ecx
movsxd rcx, dword [rax + 0x88]
mov rax, qword [rbx + 0xd0]
mov byte [rcx + rax], dl
mov rax, qword [section..data]
add dword [rax + 0x88], r12d
mov eax, dword [rbx + 0xf8]
mov ecx, dword [rbx + 0x38]
sub ecx, r15d
imul eax, ecx
mov dword [rbx + 0xf8], eax
mov ecx, dword [rbx + 0xdc]
mov eax, dword [0x18022f014]
dec eax
add ecx, eax
xor dword [0x18022f124], ecx
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x120]
sub eax, dword [0x18022f048]
add eax, r15d
add dword [rcx + 0x114], eax
mov ecx, dword [rbx + 0x8c]
mov rax, qword [section..data]
sub ecx, dword [rax + 0xdc]
sub ecx, 0x77bd9
or dword [rbx + 0x16c], ecx
mov rax, qword [section..data]
mov ecx, dword [rax + 0x8c]
xor ecx, dword [0x18022f124]
sub ecx, 0x77bdb
xor dword [rbx + 4], ecx
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x28]
xor eax, dword [rbx + 0x150]
xor eax, r12d
mov dword [rcx + 0x28], eax
mov eax, r12d
mov rdx, qword [section..data]
sub eax, dword [rdx + 0x1c]
add dword [0x18022f074], eax
mov ecx, dword [rdx + 0x38]
add ecx, 0xfff920fb
add ecx, dword [rbx + 0x28]
xor dword [rdx + 0x50], ecx
mov ecx, dword [0x18022f118]
lea ecx, [rcx*2 - 1]
add ecx, dword [0x18022f020]
mov dword [0x18022f118], ecx
cmp r8, 0x52da0
jl 0x180001b64
mov edx, dword [0x18022f130]
mov r15, r9
lea eax, [rdx + 0xcb422]
mov dword [0x18022f094], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0x150]
lea eax, [rdx + 0x3e0337c0]
add eax, ecx
xor dword [rbx + 0x84], eax
lea rax, [0x18022f180]
mov qword [rbx + 0xc8], rax
sub edi, 0x2b
mov eax, dword [0x18022f11c]
xor eax, dword [0x18022f108]
mov rcx, qword [section..data]
sub eax, 0xa71cf
or dword [rcx + 0x134], eax
mov eax, dword [0x18022f02c]
mov rcx, qword [section..data]
dec eax
xor dword [rcx + 0xb4], eax
mov rcx, qword [section..data]
mov eax, dword [rbx + 0xa4]
sub eax, 0x14
or dword [rcx + 0x10c], eax
mov rdx, qword [section..data]
mov ecx, dword [0x18022f160]
xor ecx, dword [rbx + 0xa4]
sub ecx, 0x14
mov eax, dword [rdx + 0x120]
imul eax, ecx
mov dword [rdx + 0x120], eax
mov rax, qword [rbx + 0xc8]
movsxd rcx, dword [rbx + 0x88]
mov r8d, dword [r15 + rax]
add r15, 4
imul r8d, dword [rbx + 0x84]
mov rax, qword [0x18022f0e0]
mov edx, r8d
shr edx, 0x10
mov byte [rcx + rax], dl
mov edx, r8d
add dword [rbx + 0x88], r12d
mov rax, qword [section..data]
shr edx, 8
movsxd rcx, dword [rax + 0x88]
mov rax, qword [rbx + 0xd0]
mov byte [rcx + rax], dl
mov rax, qword [section..data]
add dword [rax + 0x88], r12d
mov eax, dword [rbx + 0x28]
xor eax, dword [0x18022f048]
sub eax, 0x6dee5
add dword [rbx + 4], eax
mov eax, r12d
mov ecx, dword [0x18022f088]
mov edx, dword [0x18022f0a4]
add ecx, 0xce656638
add ecx, edx
mov dword [0x18022f088], ecx
sub eax, dword [rbx + 0x100]
add edx, eax
mov rax, qword [section..data]
mov dword [0x18022f0a4], edx
movsxd rcx, dword [rax + 0x88]
mov rax, qword [rbx + 0xd0]
mov byte [rcx + rax], r8b
mov rax, qword [section..data]
add dword [rax + 0x88], r12d
mov rax, qword [section..data]
mov ecx, dword [rax + 0x28]
mov eax, dword [rbx + 0x144]
sub ecx, 0x10
imul eax, ecx
mov dword [rbx + 0x144], eax
mov eax, dword [rbx + 0x100]
sub eax, dword [rbx + 0x50]
sub eax, r12d
or dword [rbx + 0x108], eax
cmp r15, 0x170a0
jl 0x180001ce0
lea rax, [0x18022f010]
mov qword [0x18022f128], rax
lea eax, [r14 - 0x108]
cmp r11d, eax
je 0x1800020b9
mov rdx, qword [section..data]
mov eax, r13d
xor eax, 0xf80
cmp edi, eax
je 0x180001f84
mov eax, dword [rdx + 0xfc]
add eax, dword [rdx + 0x24]
add eax, dword [rbx + 0x20]
xor eax, 0x984f6ff2
mov dword [0x18022f164], eax
mov eax, dword [rdx + 0xb8]
mov rcx, qword [0x18022f0f8]
xor dword [rcx + r9], eax
add r9, 4
mov ecx, dword [rbx + 0x114]
mov eax, dword [0x18022f108]
add eax, 0xfff58e31
add ecx, eax
xor dword [0x18022f110], ecx
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x15c]
xor eax, dword [0x18022f014]
sub eax, 0xa
add dword [rcx + 0xf4], eax
mov eax, 0x1c55d2
sub eax, dword [rbx + 0xf4]
sub eax, dword [0x18022f160]
add dword [0x18022f024], eax
mov eax, dword [rbx + 0xf0]
mov rcx, qword [section..data]
add dword [rcx + 0xb8], eax
mov eax, dword [rbx + 4]
xor eax, dword [rbx + 0xa4]
xor eax, 0x14
mov dword [rbx + 4], eax
cmp r9, 0x21e794
jge 0x180001f31
mov rdx, qword [section..data]
jmp 0x180001e99
mov r9, qword [section..data]
mov eax, dword [r9 + 0x100]
cmp dword [0x18022f02c], eax
ja 0x180001f55
mov rax, qword [rbx + 0xe8]
mov qword [0x18022f0d0], rax
mov rdx, qword [r9 + 0x118]
lea r8, [0x18022dae8]
mov ecx, dword [rbx + 0x154]
call qword [r9 + 0xc0]
mov ecx, eax
mov rax, qword [section..data]
mov dword [rax + 0x104], ecx
jmp 0x1800020b9
mov eax, dword [rdx + 0x98]
sub eax, dword [rdx + 0x160]
imul eax, dword [0x18022f02c]
cmp ebp, eax
jne 0x1800020b9
mov r14d, esi
lea r15d, [rbp + 1]
lea eax, [r13 - 0x742]
imul r15d, esi
xor r14d, 0x8c6
cdqe
mov r12d, r11d
mov qword [rsp + 0x70], rax
and r12d, esi
mov ecx, dword [rbx + 0x10]
sub edi, r15d
mov eax, dword [0x18022f144]
add ecx, r14d
imul eax, ecx
mov r9d, r12d
mov ecx, edi
or ecx, 0x8c6
mov dword [0x18022f144], eax
mov eax, dword [rdx + 0xf8]
mov rdx, rbx
mov r8d, dword [rbx + 0x10c]
imul eax, r13d
and r8d, r10d
mov dword [rsp + 0x20], eax
call sym.xxubcoh481gq.dll_Xgmaiv67
mov dword [rsp + 0x88], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [section..data]
mov r11d, dword [rbx + 0x4c]
imul r11d, dword [rbx + 0x168]
mov r9d, dword [rsp + 0x90]
mov r10d, dword [rcx + 0x10]
mov r8d, dword [rcx + 0x64]
or r10d, 0x790
mov edx, dword [rcx + 0x140]
xor r8d, r13d
sub r9d, dword [rbx + 0xa0]
add r11d, 0x68d
add r10d, dword [rsp + 0x80]
xor rdx, 0x1d4
add r9d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r10d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rdx, qword [section..data]
add ebp, 4
mov r10d, dword [rsp + 0x88]
mov eax, dword [rdx + 0x60]
sub eax, esi
xor eax, dword [rbx + 0x7c]
or edi, eax
mov eax, dword [rdx + 0x98]
sub eax, dword [rdx + 0x160]
imul eax, dword [0x18022f02c]
cmp ebp, eax
je 0x180001fc5
mov eax, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x60]
add eax, 0x237
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret