Function at 0x1800bc840
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rsp + 0xe8], rbx
mov rax, qword [0x18017a408]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, r8
mov rbx, rcx
mov rdx, qword [rbp + 0x7f]
xor eax, eax
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x51]
call fcn.180039180
nop
mov eax, dword [rdi + 0x10]
cdq
and edx, 7
lea r12d, [rdx + rax]
sar r12d, 3
xor eax, eax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
lea rsi, [rdi + 0x18]
mov rcx, rsi
call fcn.180015e00
mov rcx, rsi
cmp eax, 0x40
jbe 0x1800bc8fe
call fcn.180015b30
test rax, rax
je 0x1800bc929
mov rcx, rsi
call fcn.180015b30
mov r8d, 0x40
jmp 0x1800bc91d
call fcn.180015b30
test rax, rax
je 0x1800bc929
mov rcx, rsi
call fcn.180015e00
mov edi, eax
mov rcx, rsi
call fcn.180015b30
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.18002b210
xor edi, edi
mov r9d, edi
lea r13, [0x180179374]
mov r11d, 8
mov r10d, r11d
sub r10, r13
mov esi, 0xc
sub rsi, r13
mov r14d, 0x10
sub r14, r13
mov r15d, 0x14
sub r15, r13
nop dword [rax + rax]
lea r8, [r9 + r13]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 - 4]
mov dword [r9 + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8]
mov dword [r9 + rcx + 4], eax
lea rdx, [r10 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 4]
mov dword [rdx + rcx], eax
lea rdx, [rsi + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 8]
mov dword [rdx + rcx], eax
lea rdx, [r14 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 0xc]
mov dword [rdx + rcx], eax
lea rdx, [r15 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 0x10]
mov dword [rdx + rcx], eax
add r9, 0x18
cmp r9, 0x48
jl 0x1800bc960
lea rsi, [0x1801793c4]
sub r11, rsi
mov r8, rdi
lea r9, [r8 + 0xc]
mov r10d, 0x40
nop dword [rax + rax]
lea rdx, [r8 + rsi]
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx - 4]
mov dword [r8 + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx]
mov dword [rcx + r8 + 4], eax
mov rcx, qword [rbx + 0xb8]
add rcx, r11
mov eax, dword [rdx + 4]
mov dword [rcx + rdx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx + 8]
mov dword [r9 + rcx], eax
add r8, 0x10
lea r9, [r9 + 0x10]
sub r10, 1
jne 0x1800bc9f0
cmp r8, 0x1000
jl 0x1800bc9e1
mov r9d, edi
mov r10, rdi
nop dword [rax + rax]
lea eax, [r9 + 1]
cdq
idiv r12d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movsxd rax, r9d
movzx ecx, byte [rbp + rax - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 2]
cdq
idiv r12d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv r12d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
mov rax, qword [rbx + 0xb0]
xor dword [r10 + rax], r8d
lea eax, [r9 + 4]
cdq
idiv r12d
mov r9d, edx
add r10, 4
cmp r10, 0x48
jl 0x1800bca50
mov dword [rbp - 0x61], edi
mov dword [rbp - 0x5d], edi
mov rsi, rdi
nop word [rax + rax]
lea r8, [rbp - 0x5d]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call fcn.1800bbad0
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x61]
mov dword [rsi + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x5d]
mov dword [rsi + rcx + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x1800bcad0
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x5d]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call fcn.1800bbad0
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x61]
mov dword [rdi + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x5d]
mov dword [rdi + rcx + 4], eax
add rdi, 8
sub rsi, 1
jne 0x1800bcb20
cmp rdi, 0x1000
jl 0x1800bcb10
lea rcx, [rbp - 0x51]
call fcn.1800392a0
mov al, 1
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1800c9b90
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret