Function at 0x18007d4b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
cmp qword [0x1801473c0], 0
jne 0x18007d4d6
xor al, al
add rsp, 0x330
pop rbp
ret
cmp qword [0x180147418], 0
mov qword [rsp + 0x328], rbx
mov qword [rsp + 0x320], rsi
mov qword [rsp + 0x318], rdi
mov qword [rsp + 0x310], r12
mov qword [rsp + 0x308], r13
mov qword [rsp + 0x300], r14
mov qword [rsp + 0x2f8], r15
movaps xmmword [rsp + 0x2e0], xmm6
je 0x18007d525
call fcn.18007ded0
mov rbx, qword [0x18002f2f0]
movdqa xmm6, xmmword [0x18002ec80]
mov rcx, rbx
call fcn.18003df10
mov rcx, qword [0x1801473c0]
lea rsi, [0x18002f300]
xor r13d, r13d
lea r14, [0x18002f310]
lea r15, [0x18002f320]
mov rdi, rax
mov r8d, r13d
mov rdx, qword [rcx]
mov r12, qword [rdx + 0x60]
test rbx, rbx
je 0x18007d624
cmp rbx, 0x40
jb 0x18007d5ff
lea rcx, [rbx - 1]
add rcx, rax
lea rax, [rsi - 1]
add rax, rbx
cmp rdi, rax
ja 0x18007d593
cmp rcx, rsi
jae 0x18007d5ff
mov rdx, rbx
and rdx, 0xffffffffffffffc0
mov r9, r14
lea rax, [rdi + 0x10]
mov r10, r15
sub r9, rdi
sub r10, rdi
mov rcx, rsi
sub rcx, rdi
movdqu xmm0, xmmword [rcx + rax - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [r9 + rax - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [r10 + rax - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, rdx
jb 0x18007d5b0
cmp r8, rbx
jae 0x18007d624
mov r9, rsi
lea rcx, [rdi + r8]
sub r9, rdi
mov rdx, rbx
sub rdx, r8
nop
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18007d610
mov rcx, qword [0x1801473c0]
lea rax, [0x1801473f0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rbx
mov rdx, rdi
call r12
movabs r12, 0x7ffffffeffff
test eax, eax
js 0x18007dcc8
mov eax, dword [0x18002ec14]
mov r8, r13
movsd xmm0, qword [0x18002ebf8]
movabs r9, 0x29e4129e4129e413
movzx ecx, byte [0x18002ec00]
movzx edx, byte [0x18002ec10]
xor cl, 0x39
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x18002ec08]
xor byte [rsp + 0x31], 0x32
xor byte [rsp + 0x32], 0x33
xor byte [rsp + 0x33], 0x34
xor byte [rsp + 0x34], 0x35
xor byte [rsp + 0x35], 0x36
xor byte [rsp + 0x36], 0x37
xor byte [rsp + 0x37], 0x38
movsd qword [rsp + 0x40], xmm0
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor byte [rsp + 0x44], 0x35
xor byte [rsp + 0x45], 0x36
xor byte [rsp + 0x46], 0x37
xor byte [rsp + 0x47], 0x38
mov dword [rbp + 0x250], eax
xor dl, 0x39
movzx eax, word [0x18002ec18]
mov word [rbp + 0x254], ax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x40]
mov byte [rsp + 0x48], dl
mov qword [rbp - 0x10], rax
mov byte [rsp + 0x30], 0x50
mov byte [rsp + 0x38], cl
mov dword [rbp - 0x28], r13d
mov qword [rbp - 0x24], 0x10
mov qword [rbp - 0x1c], r13
mov dword [rbp - 0x14], r13d
mov byte [rsp + 0x40], 0x54
mov dword [rbp - 8], r13d
mov qword [rbp - 4], 0x10
mov qword [rbp + 4], 8
mov dword [rbp + 0xc], r13d
nop dword [rax]
nop word [rax + rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x250], al
inc r8
cmp r8, 6
jb 0x18007d750
mov dword [rbp + 0x18], r13d
lea rax, [rbp + 0x250]
mov qword [rbp + 0x10], rax
mov r8, r13
mov rax, qword [0x1801473c0]
mov qword [rbp + 0x1c], 0x1c
mov qword [rbp + 0x24], 0x10
mov dword [rbp + 0x2c], r13d
mov rcx, qword [rax]
mov r10, qword [rcx + 0x58]
test rbx, rbx
je 0x18007d873
cmp rbx, 0x40
jb 0x18007d84f
lea rcx, [rbx - 1]
lea rax, [rsi - 1]
add rcx, rdi
add rax, rbx
cmp rdi, rax
ja 0x18007d7e4
cmp rcx, rsi
jae 0x18007d84f
mov r9, rbx
and r9, 0xffffffffffffffc0
sub r14, rdi
lea rax, [rdi + 0x10]
sub r15, rdi
mov rcx, rsi
sub rcx, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rcx - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rax + rcx]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [rax + r14 - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [rax + r15 - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, r9
jb 0x18007d800
cmp r8, rbx
jae 0x18007d873
sub rsi, rdi
lea rcx, [rdi + r8]
mov rdx, rbx
sub rdx, r8
nop dword [rax]
movzx eax, byte [rcx + rsi]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18007d860
mov rcx, qword [0x1801473c0]
lea rax, [0x1801473f8]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x30]
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8d, 3
call r10
test eax, eax
js 0x18007dcc8
mov rcx, qword [0x1801473c0]
lea r9, [0x180147400]
mov dword [rbp - 0x78], 0x40
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x74], 2
xor r8d, r8d
mov dword [rbp - 0x70], 4
mov qword [rbp - 0x6c], 0x10000
mov dword [rbp - 0x64], r13d
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
js 0x18007dcc8
mov rsi, qword [0x18002f2f8]
mov rcx, rsi
call fcn.18003df10
mov rcx, qword [0x1801473c0]
mov rbx, rax
mov r8, r13
mov rdx, qword [rcx]
mov r15, qword [rdx + 0x78]
test rsi, rsi
je 0x18007d9d4
lea r9, [0x18002f680]
cmp rsi, 0x40
jb 0x18007d9b0
lea rcx, [rsi - 1]
add rcx, rax
lea rax, [r9 - 1]
add rax, rsi
cmp rbx, rax
ja 0x18007d93c
cmp rcx, r9
jae 0x18007d9b0
mov rdx, rsi
and rdx, 0xffffffffffffffc0
lea r10, [0x18002f690]
mov rcx, r9
lea r11, [0x18002f6a0]
sub r10, rbx
sub r11, rbx
lea rax, [rbx + 0x10]
sub rcx, rbx
movdqu xmm0, xmmword [rcx + rax - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [r10 + rax - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [r11 + rax - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, rdx
jb 0x18007d961
cmp r8, rsi
jae 0x18007d9d4
sub r9, rbx
lea rcx, [rbx + r8]
mov rdx, rsi
sub rdx, r8
nop dword [rax]
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18007d9c0
mov rcx, qword [0x1801473c0]
lea rax, [0x180147410]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
mov rdx, rbx
call r15
test eax, eax
js 0x18007dcaf
xor eax, eax
lea rcx, [rbp + 0xf5]
xor edx, edx
mov dword [rbp + 0xd4], eax
mov r8d, 0xe3
call fcn.18007fee0
mov rcx, qword [0x1801473c0]
lea r8, [0x180147430]
movdqa xmm0, xmmword [0x18002ec70]
lea rdx, [rbp + 0xd0]
mov dword [rbp + 0xd0], r13d
mov dword [rbp + 0xd8], 1
mov dword [rbp + 0xdc], 5
movdqu xmmword [rbp + 0xe0], xmm0
mov dword [rbp + 0xf0], 1
mov byte [rbp + 0xf4], 0xf
mov rax, qword [rcx]
call qword [rax + 0xa0]
test eax, eax
js 0x18007dcaf
mov rcx, qword [0x1801473c0]
lea r8, [0x180147428]
xorps xmm0, xmm0
mov qword [rbp + 0x50], r13
movdqu xmmword [rbp + 0x38], xmm0
mov dword [rbp + 0x30], 3
lea rdx, [rbp + 0x30]
mov dword [rbp + 0x34], 1
mov dword [rbp + 0x4c], 1
mov dword [rbp + 0x48], 1
mov rax, qword [rcx]
call qword [rax + 0xb0]
test eax, eax
js 0x18007dcaf
movdqa xmm0, xmmword [0x18002ec50]
lea r8, [0x180147438]
mov rcx, qword [0x1801473c0]
lea rdx, [rbp + 0x58]
movdqu xmmword [rbp + 0x58], xmm0
mov dword [rbp + 0x6c], 1
mov dword [rbp + 0x74], 1
mov dword [rbp + 0x70], 1
mov dword [rbp + 0x78], 8
movups xmm0, xmmword [rbp + 0x6c]
mov dword [rbp + 0x68], r13d
movups xmmword [rbp + 0x7c], xmm0
mov rax, qword [rcx]
call qword [rax + 0xa8]
test eax, eax
js 0x18007dcaf
call fcn.180048560
mov qword [rsp + 0x50], r13
lea r9, [rbp + 0x248]
mov dword [rbp + 0x240], r13d
lea r8, [rbp + 0x240]
mov dword [rbp + 0x248], r13d
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + 0xa0]
mov r14, rax
mov qword [rsp + 0x20], r13
call fcn.180070d80
mov ecx, dword [rbp + 0x240]
lea r9, [rbp + 0x258]
mov eax, dword [rbp + 0x248]
lea r8, [rbp - 0x60]
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x60], rax
lea eax, [rcx*4]
mov dword [rsp + 0x58], ecx
mov rcx, qword [0x1801473c0]
mov qword [rsp + 0x6c], 1
mov qword [rsp + 0x7c], r13
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x64], 1
mov dword [rsp + 0x68], 0x1c
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], 8
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x54], r13d
mov qword [rbp + 0x258], r13
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x18007dcaf
mov eax, dword [rsp + 0x60]
lea r9, [0x180147420]
mov rcx, qword [0x1801473c0]
lea r8, [rbp - 0x50]
mov rdx, qword [rbp + 0x258]
mov qword [rbp - 0x40], r13
mov dword [rbp - 0x50], 0x1c
mov qword [rbp - 0x4c], 4
mov dword [rbp - 0x44], eax
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rcx, qword [rbp + 0x258]
mov esi, eax
lea rdx, [rcx - 0x10000]
cmp rdx, r12
ja 0x18007dc40
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov qword [rbp + 0x258], r13
test esi, esi
js 0x18007dcaf
mov rcx, qword [r14 + 0xa0]
lea r8, [0x180147418]
mov rax, qword [0x180147420]
lea rdx, [rbp + 0x90]
movdqa xmm1, xmmword [0x18002ec60]
xorps xmm0, xmm0
mov qword [rcx + 8], rax
mov rcx, qword [0x1801473c0]
mov qword [rbp + 0xa0], r13
movdqu xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xa8], 8
movdqu xmmword [rbp + 0x90], xmm1
mov qword [rbp + 0xbc], r13
mov rax, qword [rcx]
call qword [rax + 0xb8]
test eax, eax
setns sil
jmp 0x18007dcb2
xor sil, sil
lea rax, [rbx - 0x10000]
cmp rax, r12
ja 0x18007dccb
mov rcx, rbx
call fcn.18003df30
jmp 0x18007dccb
xor sil, sil
movaps xmm6, xmmword [rsp + 0x2e0]
lea rcx, [rdi - 0x10000]
mov r15, qword [rsp + 0x2f8]
cmp rcx, r12
mov r12, qword [rsp + 0x310]
mov r14, qword [rsp + 0x300]
mov r13, qword [rsp + 0x308]
mov rbx, qword [rsp + 0x328]
ja 0x18007dd0f
mov rcx, rdi
call fcn.18003df30
mov rdi, qword [rsp + 0x318]
movzx eax, sil
mov rsi, qword [rsp + 0x320]
add rsp, 0x330
pop rbp
ret