Function at 0x18007b120
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xf0
mov r15, r9
mov esi, r8d
mov r14, rdx
xor r12d, r12d
mov edi, r12d
lea ecx, [rsi*2 + 1]
call fcn.1800917a4
mov rbx, rax
mov r10, r14
mov dword [rsp + 0x30], 0x67
mov ecx, dword [rsp + 0x30]
xor cl, 0x30
mov byte [rbp - 0x7d], cl
mov ecx, dword [rsp + 0x30]
inc cl
xor cl, 0x31
mov byte [rbp - 0x7c], cl
mov ecx, dword [rsp + 0x30]
add cl, 2
xor cl, 0x32
mov byte [rbp - 0x7b], cl
mov ecx, dword [rsp + 0x30]
add cl, 3
xor cl, 0x33
mov byte [rbp - 0x7a], cl
mov ecx, dword [rsp + 0x30]
add cl, 4
xor cl, 0x34
mov byte [rbp - 0x79], cl
mov ecx, dword [rsp + 0x30]
add cl, 5
xor cl, 0x35
mov byte [rbp - 0x78], cl
mov ecx, dword [rsp + 0x30]
add cl, 6
xor cl, 0x36
mov byte [rbp - 0x77], cl
mov ecx, dword [rsp + 0x30]
add cl, 7
xor cl, 0x37
mov byte [rbp - 0x76], cl
mov ecx, dword [rsp + 0x30]
add cl, 8
xor cl, 0x38
mov byte [rbp - 0x75], cl
mov ecx, dword [rsp + 0x30]
add cl, 9
xor cl, 0x39
mov byte [rbp - 0x74], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xa
xor cl, 0x41
mov byte [rbp - 0x73], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xb
xor cl, 0x42
mov byte [rbp - 0x72], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xc
xor cl, 0x43
mov byte [rbp - 0x71], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xd
xor cl, 0x44
mov byte [rbp - 0x70], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xe
xor cl, 0x45
mov byte [rbp - 0x6f], cl
mov ecx, dword [rsp + 0x30]
add cl, 0xf
xor cl, 0x46
mov byte [rbp - 0x6e], cl
xor ecx, ecx
mov byte [rbp - 0x6d], cl
movzx ecx, byte [rbp - 0x7d]
mov r8d, r12d
nop word [rax + rax]
movzx ecx, byte [rbp + r8 - 0x7d]
mov edx, dword [rsp + 0x30]
add dl, r8b
xor dl, cl
mov byte [rbp + r8 - 0x7d], dl
inc r8
cmp r8, 0x10
jb 0x18007b250
mov byte [rbp - 0x6d], dil
test esi, esi
je 0x18007b2ac
mov rdx, rsi
nop dword [rax + rax]
movzx ecx, byte [r10]
shr rcx, 4
movzx ecx, byte [rbp + rcx - 0x7d]
mov byte [rax], cl
movzx ecx, byte [r10]
and ecx, 0xf
movzx ecx, byte [rbp + rcx - 0x7d]
mov byte [rax + 1], cl
add rax, 2
lea r10, [r10 + 1]
sub rdx, 1
jne 0x18007b280
mov byte [rax], dil
mov r8d, 0x700
mov rdx, r15
lea rcx, [rbp + 0xf]
call fcn.18006feb0
nop
mov qword [rbp - 0x61], r12
mov byte [rbp - 0x59], 0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x51], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x41], xmm1
mov qword [rbp - 0x31], r12
mov byte [rbp - 0x29], 0
movdqa xmmword [rbp - 0x21], xmm0
mov byte [rbp - 0x11], 0
mov qword [rbp - 9], r12
mov qword [rbp - 1], r12
mov byte [rbp + 7], 0
mov rsi, 0xffffffffffffffff
mov rax, rsi
lea rax, [rax + 1]
cmp byte [rbx + rax], 0
jne 0x18007b301
lea rdx, [rax + rbx]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0xf]
lea r8, [rbp - 0x61]
mov rcx, rbx
call fcn.18006eaf0
movabs r15, 0x2aaaaaaaaaaaaaab
test al, al
je 0x18007b3bc
mov rcx, qword [rbp - 0x49]
mov r8, qword [rbp - 0x51]
sub rcx, r8
mov rax, r15
imul rcx
mov rcx, rdx
sar rcx, 2
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov r9, qword [rbp - 0x61]
jne 0x18007b36d
mov rax, qword [rbp - 9]
lea r8, [rbp - 9]
jmp 0x18007b370
mov rax, qword [r8]
sub rax, r9
cqo
sub rax, rdx
sar rax, 1
lea rdi, [r14 + rax]
mov rax, qword [r8]
sub rax, r9
add rcx, rax
add rcx, rbx
mov rax, rsi
nop
lea rax, [rax + 1]
cmp byte [rcx + rax], 0
jne 0x18007b390
lea rdx, [rax + rcx]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0xf]
lea r8, [rbp - 0x61]
call fcn.18006eaf0
movsxd rax, dword [rbp + 0x7f]
add rdi, rax
mov rcx, rbx
call fcn.18009168c
nop
mov r8, qword [rbp - 0x51]
test r8, r8
je 0x18007b41f
mov rcx, qword [rbp - 0x41]
sub rcx, r8
mov rax, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x18007b416
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007b4a7
mov rcx, r8
call fcn.18009168c
nop
mov rax, qword [rbp + 0xf]
test rax, rax
je 0x18007b45c
lock xadd dword [rax + 0x2c], esi
cmp esi, 1
jne 0x18007b45c
mov rbx, qword [rbp + 0xf]
test rbx, rbx
je 0x18007b45c
nop dword [rax + rax]
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r12
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x18007b440
mov qword [rbp + 0xf], r12
mov rcx, qword [rbp + 0x2f]
test rcx, rcx
je 0x18007b483
mov r8, qword [rcx]
call qword [r8 + 0x10]
test rax, rax
je 0x18007b483
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rax, rdi
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.180095520
nop
int3