Function at 0x18000b620
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xb8
lea rsi, [rcx + 0x18]
mov r15, rcx
mov rcx, rsi
call fcn.180001a60
mov rdx, qword [r15 + 8]
lea r9, [rbp + 0x7f]
sub rdx, qword [r15]
lea r8, [rbp + 0x7f]
xorps xmm0, xmm0
xor edi, edi
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x7f], edx
mov edx, edi
mov qword [rbp - 0x61], 2
mov qword [rbp - 0x69], 2
mov rcx, qword [rbp - 0x69]
mov rax, qword [rbp - 0x61]
add rcx, rax
mov qword [rbp - 0x61], rcx
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x61]
add r9, rax
call fcn.180240710
mov rbx, qword [r15]
cmp rbx, qword [r15 + 8]
je 0x18000b7b7
mov rdx, rbx
lea rcx, [rbp - 9]
call fcn.18023b280
mov r14, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 0x10
jb 0x18000b6dd
mov rax, qword [rax]
mov r9, qword [r14 + 0x10]
mov r8, r14
add r9, rax
cmp rdx, 0x10
jb 0x18000b6f0
mov r8, qword [r14]
mov rdx, qword [rbp - 0x51]
lea rcx, [rbp - 0x59]
call fcn.180240710
mov rdx, qword [rbp - 0x51]
mov byte [rbp + 0x67], dil
cmp rdx, qword [rbp - 0x49]
je 0x18000b714
mov byte [rdx], dil
inc qword [rbp - 0x51]
jmp 0x18000b721
lea r8, [rbp + 0x67]
lea rcx, [rbp - 0x59]
call fcn.18023f460
mov rcx, r14
call fcn.18023c0a0
movzx eax, word [rbx + 0x20]
lea r9, [rbp + 0x6f]
mov word [rbp + 0x6f], ax
lea r8, [rbp + 0x6f]
mov qword [rbp - 0x69], 2
mov qword [rbp - 0x61], rdi
mov rcx, qword [rbp - 0x61]
mov rax, qword [rbp - 0x69]
add rcx, rax
mov qword [rbp - 0x61], rcx
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x51]
add r9, rax
call fcn.180240710
mov eax, dword [rbx + 0x24]
lea r9, [rbp - 0x41]
mov dword [rbp - 0x41], eax
lea r8, [rbp - 0x41]
mov qword [rbp - 0x69], 2
mov qword [rbp - 0x61], 2
mov rcx, qword [rbp - 0x61]
mov rax, qword [rbp - 0x69]
add rcx, rax
mov qword [rbp - 0x61], rcx
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x51]
add r9, rax
call fcn.180240710
add rbx, 0x30
cmp rbx, qword [r15 + 8]
jne 0x18000b6c1
mov r13, qword [rbp - 0x51]
xorps xmm0, xmm0
mov r12, qword [rbp - 0x59]
mov rbx, r13
mov qword [rbp - 0x29], rdi
mov r15, rdi
movdqu xmmword [rbp - 0x39], xmm0
sub rbx, r12
je 0x18000b816
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x18000ba17
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.18023c020
mov r15, qword [rbp - 0x39]
mov r8, rbx
mov rcx, r15
mov rdx, r12
call fcn.18024af30
mov r14, r15
sub r14, r12
add r14, r13
mov qword [rbp - 0x31], r14
jmp 0x18000b81a
mov r14, qword [rbp - 0x31]
mov rax, qword gs:[0x58]
mov ecx, dword [0x1802848b4]
mov edx, 4
mov r12, qword [rax + rcx*8]
add r12, rdx
mov eax, dword [r12]
cmp dword [0x18028aa10], eax
jle 0x18000b873
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18000b873
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
mov qword [rbp - 0x11], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
cmp r15, r14
je 0x18000b8b2
mov rbx, r14
lea rcx, [rbp - 0x21]
sub rbx, r15
mov rdx, rbx
call fcn.18023c020
mov r8, rbx
mov rdx, r15
mov rbx, qword [rbp - 0x21]
mov rcx, rbx
call fcn.18024af30
sub rbx, r15
add rbx, r14
mov qword [rbp - 0x19], rbx
mov dword [rbp + 0x77], 0xadf2f4
movabs r9, 0xaaaaaaaaaaaaaaab
mov qword [rbp - 0x69], rdi
mov rax, qword [rbp - 0x69]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x69]
mov rax, qword [rbp - 0x69]
movzx r8d, byte [rbp + rax + 0x78]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp - 0x69]
shl dl, 3
sub cl, dl
mov edx, 0x6278f59c
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x78], dl
mov rax, qword [rbp - 0x69]
inc rax
mov qword [rbp - 0x69], rax
mov rax, qword [rbp - 0x69]
cmp rax, 2
jb 0x18000b8d0
lea r8, [rbp - 0x21]
mov byte [rbp + 0x7a], dil
lea rdx, [rbp + 0x78]
lea rcx, [0x18028a930]
call fcn.180003e90
mov eax, dword [r12]
cmp dword [0x18028aa10], eax
jle 0x18000b971
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18000b971
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
lea rcx, [0x18028a930]
call fcn.180003860
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x18000b9b3
mov rdx, qword [rbp - 0x29]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000b9ae
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000ba11
call fcn.180249cb8
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18000b9f5
mov rdx, qword [rbp - 0x49]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000b9e4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000ba11
call fcn.180249cb8
xorps xmm0, xmm0
mov qword [rbp - 0x49], rdi
movdqu xmmword [rbp - 0x59], xmm0
mov rcx, rsi
call fcn.180001bf0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1802514a4
int3
call fcn.18023c000
int3