Function at 0x18007b154
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x220
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r8d, r8d
mov qword [rbp - 0x70], rbx
xor edx, edx
mov byte [rbp - 0x80], bl
lea r13d, [rbx + 0xf]
mov ecx, 0x13ee37f0
mov qword [rbp - 0x68], r13
mov r14d, ebx
call fcn.1800e6b9c
mov rcx, rax
call fcn.1800e73b4
lea rcx, [rbp + 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
lea edx, [rbx + 0x1a]
xor ecx, ecx
xor r8d, r8d
call rax
mov r12d, 0x2f684bdb
mov r15b, 0x31
test eax, eax
je 0x18007b207
xorps xmm0, xmm0
mov byte [rbp + 0x150], bl
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x70], rbx
movups xmmword [rsp + 0x60], xmm0
mov r8, rdi
mov qword [rsp + 0x78], rbx
lea rax, [rbp + 0x150]
inc r8
cmp byte [rax + r8], bl
jne 0x18007b1f5
lea rdx, [rbp + 0x150]
jmp 0x18007b27f
movdqa xmm0, xmmword [0x180007ff0]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov r8d, ebx
mov eax, r12d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, r15b
xor byte [r9], al
inc r9
cmp r8d, 0x10
jl 0x18007b21d
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x40]
call fcn.1800687d8
xorps xmm0, xmm0
mov qword [rsp + 0x70], rbx
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x78], rbx
movups xmmword [rsp + 0x60], xmm0
mov r8, rdi
inc r8
cmp byte [rax + r8], bl
jne 0x18007b273
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180029868
mov ecx, dword [0x1800ecf7c]
movabs rsi, 0x7fffffffffffffff
test ecx, ecx
je 0x18007b3ab
sub ecx, 1
je 0x18007b32a
cmp ecx, 1
jne 0x18007b479
movdqa xmm0, xmmword [0x180006ef0]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x4232
mov r8d, ebx
mov eax, r12d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, r15b
xor byte [r9], al
inc r9
cmp r8d, 0x12
jl 0x18007b2d0
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], bl
jne 0x18007b304
mov rcx, qword [rsp + 0x70]
mov rax, rsi
sub rax, rcx
cmp rax, rdi
jb 0x18007b5f4
lea rax, [rsp + 0x40]
jmp 0x18007b422
movdqa xmm0, xmmword [0x180006510]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x2a6d2726
mov r8d, ebx
mov word [rsp + 0x54], 0x3529
mov byte [rsp + 0x56], 0x47
mov eax, r12d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, r15b
xor byte [r9], al
inc r9
cmp r8d, 0x17
jl 0x18007b354
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], bl
jne 0x18007b388
mov rcx, qword [rsp + 0x70]
mov rax, rsi
sub rax, rcx
cmp rax, rdi
jb 0x18007b5f4
lea rax, [rsp + 0x40]
jmp 0x18007b422
movdqa xmm0, xmmword [0x180007040]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x312d
mov r8d, ebx
mov byte [rsp + 0x52], 0x43
mov eax, r12d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, r15b
xor byte [r9], al
inc r9
cmp r8d, 0x13
jl 0x18007b3cd
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], bl
jne 0x18007b401
mov rcx, qword [rsp + 0x70]
mov rax, rsi
sub rax, rcx
cmp rax, rdi
jb 0x18007b5f4
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x78], 0x10
lea r9, [rsp + 0x60]
mov dl, byte [rbp + 0x150]
lea r8, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x60]
call fcn.18002c9f8
movups xmm1, xmmword [rbp - 0x50]
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmm1
movq r14, xmm1
psrldq xmm0, 8
movq r13, xmm0
mov rdi, qword [rbp - 0x80]
lea r15, [rbp - 0x80]
cmp r13, 0x10
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmovae r15, rdi
cmp r14, rsi
ja 0x18007b5fa
mov r12d, 0x1000
cmp r14, 0x10
jae 0x18007b4c0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [r15]
movdqu xmmword [rsp + 0x40], xmm0
jmp 0x18007b522
mov rax, r14
or rax, 0xf
cmp rax, rsi
jbe 0x18007b4d8
movabs rcx, 0x8000000000000000
jmp 0x18007b4f0
mov ecx, 0x16
mov rsi, rax
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, r12
jb 0x18007b4f7
call fcn.1800296e4
jmp 0x18007b501
test rcx, rcx
je 0x18007b504
call fcn.1800e421c
mov rbx, rax
lea r8, [r14 + 1]
mov qword [rsp + 0x40], rbx
mov rdx, r15
mov qword [rsp + 0x50], r14
mov rcx, rbx
mov qword [rsp + 0x58], rsi
call fcn.1800e663c
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.1800d4ba8
mov rdx, rax
lea rcx, [0x1800ec0f0]
mov rbx, rax
call fcn.18002e3e8
lea rdx, [rbx + 0x20]
lea rcx, [0x1800ec110]
call fcn.18002e3e8
mov eax, dword [rbx + 0x40]
lea rcx, [rbp - 0x40]
mov dword [0x1800ec130], eax
call fcn.18002e098
call fcn.18008825c
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18007b59e
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, r12
jb 0x18007b599
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007b5ee
call fcn.1800e423c
cmp r13, 0x10
jb 0x18007b5cd
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, r12
jb 0x18007b5c5
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007b5ee
mov rcx, rdi
call fcn.1800e423c
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800ad4f0
int3
call fcn.180033304
int3
call fcn.180033304
int3