Function at 0x180003ab0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x30
mov edi, dword [rsp + 0x78]
mov r11d, ecx
mov ecx, dword [rsp + 0x68]
mov ebp, edx
mov edx, dword [rsp + 0x60]
add ecx, 0xfffffaa4
mov rbx, qword [rsp + 0x70]
xor r11d, 0x37bf
lea r10d, [rdi + 0x2f0]
add r8d, 0xffffd38a
xor edi, 0x7e
add r9d, 0xffffff89
xor edx, 0x19b6
lea eax, [rdi + 0x766]
cmp edx, eax
jge 0x180003b5d
mov eax, ecx
xor eax, 0x733
cmp r9d, eax
jge 0x180003bdb
mov eax, dword [rbx + 0x20]
mov r8d, ecx
sub eax, 0x69236e27
xor r8d, 0x6ff
mov edx, ecx
mov dword [rsp + 0x28], r8d
mov dword [rbx + 0x58], eax
xor edx, 0x7dc
lea eax, [r9 + 0x967]
add ecx, 0xba1
mov r9, rbx
mov dword [rsp + 0x20], eax
mov r8d, edi
call fcn.180010290
mov r9d, eax
jmp 0x180003bdb
mov edx, dword [rbx + 0xf4]
or edx, dword [rbx + 0x80]
mov ecx, dword [rbx + 0x90]
add edx, edi
cmp ecx, edx
je 0x180003b8a
mov eax, dword [rbx + 0xc8]
imul eax, r10d
nop
sub r8d, eax
add ecx, 4
cmp ecx, edx
jne 0x180003b80
lea eax, [rbp - 0x18a]
add eax, r8d
cmp r10d, eax
jle 0x180003bdb
mov eax, dword [rbx + 0x108]
xor eax, 0x2e47
cmp r10d, eax
jae 0x180003bdb
imul eax, r11d, 0x2c2c
sub eax, 0x96c32d0
xor dword [rbx + 0x90], eax
mov eax, dword [rbx + 0xdc]
xor eax, 0x334a
sub eax, 0x353f
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0x24]
sub eax, 0x2cdd
or dword [rbx + 0x34], eax
xor r9d, 0x7dc
cmp edi, r9d
jg 0x180003d45
lea rax, [0x180023130]
xor r9d, r9d
mov qword [rbx + 0x98], rax
mov r8d, r9d
nop
mov eax, dword [rbx + 0x70]
xor eax, 0x1a6758
add dword [rbx + 0x5c], eax
mov eax, dword [rbx + 0x70]
xor eax, 0x1a6758
sub dword [rbx + 0x90], eax
mov eax, dword [rbx + 0x110]
mov ecx, eax
xor ecx, 0xffe9d7fe
add ecx, eax
mov dword [rbx + 0x110], ecx
mov rax, qword [rbx + 0x98]
mov ecx, dword [rbx + 0xf8]
sub ecx, 0x1a9251
mov edx, dword [r8 + rax]
add r8, 4
mov eax, dword [rbx + 0x48]
imul eax, ecx
mov dword [rbx + 0x48], eax
mov eax, dword [rbx + 0x7c]
add dword [rbx + 0xdc], eax
mov eax, dword [rbx + 0xfc]
sub eax, 0x17568f
add dword [rbx + 0xf0], eax
mov eax, dword [rbx + 8]
imul edx, dword [rbx + 0x58]
sub eax, 5
xor dword [rbx + 0x28], eax
mov eax, 0x1cf477
sub eax, dword [rbx + 0x20]
add dword [rbx + 0xdc], eax
mov eax, dword [rbx + 0xcc]
sub eax, dword [rbx + 0x70]
movsxd rcx, dword [rbx + 0x64]
sub eax, 0x1cd1f
add dword [rbx + 0xf8], eax
mov rax, qword [rbx + 0xb0]
mov byte [rcx + rax], dl
mov eax, 0x565dc
inc dword [rbx + 0x64]
sub eax, dword [rbx + 0x108]
add dword [rbx + 0xdc], eax
mov eax, dword [rbx + 0x7c]
add dword [rbx + 0xfc], eax
mov ecx, dword [rbx + 0x70]
inc eax
imul ecx, eax
mov dword [rbx + 0x70], ecx
cmp r8, 0x300
jl 0x180003c00
nop
mov eax, dword [rbx + 0x90]
sub eax, dword [rbx + 0x11c]
mov rcx, qword [rbx + 0xb8]
sub eax, 6
add dword [rbx + 8], eax
mov eax, dword [rbx + 0x68]
xor dword [rcx + r9], eax
add r9, 4
mov edx, dword [rbx + 0x48]
mov eax, dword [rbx + 0xd4]
add dword [rbx + 0x68], eax
lea ecx, [rdx - 1]
add edx, 0xfff9a194
add dword [rbx + 0xc0], ecx
add edx, dword [rbx + 0xa8]
mov dword [rbx + 0x48], edx
mov r8d, dword [rbx + 0x5c]
lea edx, [r8 + 0x30779e70]
add edx, dword [rbx + 0x4c]
xor edx, r8d
mov dword [rbx + 0x5c], edx
cmp r9, 0x1ff4
jl 0x180003ce0
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret