Function at 0x18000a2c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x180087020]
xor rax, rsp
mov qword [rbp + 0x140], rax
movsxd r15, edx
mov r14, rcx
mov qword [rbp - 0x40], rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rax
movdqa xmm1, xmmword [0x180079f60]
mov dword [rbp + 0x80], 0x19a28c4e
mov ecx, dword [0x180089430]
mov rax, qword gs:[0x58]
mov rsi, qword [rax + rcx*8]
mov ecx, 0x77c
mov eax, dword [rcx + rsi]
test al, 1
jne 0x18000a395
or eax, 1
mov dword [rcx + rsi], eax
mov eax, 0x780
mov ebx, eax
lea rcx, [rax + rsi]
mov byte [rcx + 0x14], 1
lea rax, [rcx + 0x13]
lea rdx, [rbp + 0x83]
cmp rcx, rdx
ja 0x18000a37a
lea rdx, [rbp + 0x70]
cmp rax, rdx
jb 0x18000a37a
movups xmmword [rcx], xmm1
mov eax, dword [rbp + 0x80]
mov dword [rcx + 0x10], eax
jmp 0x18000a386
movups xmmword [rcx], xmm1
mov eax, dword [rbp + 0x80]
mov dword [rcx + 0x10], eax
lea rcx, [0x180069110]
call fcn.18003f1a4
nop
jmp 0x18000a39a
mov ebx, 0x780
lea r9, [rsi + rbx]
xor r13d, r13d
movabs r12, 0xd993efbb19cfe32d
cmp byte [r9 + 0x14], r13b
je 0x18000a3e0
mov edx, r13d
nop dword [rax]
nop dword [rax + rax]
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r12
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0x14
jb 0x18000a3c0
mov byte [r9 + 0x14], r13b
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r13b
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [r9 + r8], r13b
jne 0x18000a400
mov rdx, r9
lea rcx, [rbp - 0x60]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000a470
add dword [0x180087be8], eax
lea r8, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x50]
add r9, r8
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0xc0]
call fcn.1800152b0
nop
lea rcx, [rbp + 0xc0]
call fcn.1800136b0
nop
movdqa xmm0, xmmword [0x180079f60]
movdqa xmm1, xmmword [0x180079e20]
mov dword [rbp + 0x90], 0x76accd48
mov word [rbp + 0x94], 0xefd6
mov ecx, 0x690
mov eax, dword [rcx + rsi]
test al, 1
jne 0x18000a547
or eax, 1
mov dword [rcx + rsi], eax
mov eax, 0x970
mov edi, eax
lea rcx, [rax + rsi]
mov byte [rcx + 0x26], 1
lea rax, [rcx + 0x25]
lea rdx, [rbp + 0x95]
cmp rcx, rdx
ja 0x18000a51d
lea rdx, [rbp + 0x70]
cmp rax, rdx
jb 0x18000a51d
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [rbp + 0x90]
mov dword [rcx + 0x20], eax
movzx eax, word [rbp + 0x94]
mov word [rcx + 0x24], ax
jmp 0x18000a538
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [rbp + 0x90]
mov dword [rcx + 0x20], eax
movzx eax, word [rbp + 0x94]
mov word [rcx + 0x24], ax
lea rcx, [0x1800690e0]
call fcn.18003f1a4
nop
jmp 0x18000a54c
mov edi, 0x970
lea r9, [rsi + rdi]
cmp byte [r9 + 0x26], 0
je 0x18000a5ad
lea r8, [r9 + 1]
mov r10, r9
not r10
nop dword [rax]
nop word [rax + rax]
lea ecx, [r10 + r8]
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 - 1], dl
movzx ecx, r8b
sub cl, r9b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8], dl
add r8, 2
lea rax, [r8 + r10]
cmp rax, 0x26
jb 0x18000a570
mov byte [r9 + 0x26], 0
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov r8, rbx
inc r8
cmp byte [r9 + r8], 0
jne 0x18000a5c4
mov rdx, r9
lea rcx, [rbp - 0x80]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000a635
add dword [0x180087be8], eax
lea r8, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r8, qword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
add r9, r8
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xc0]
call fcn.1800152b0
nop
lea rcx, [rbp + 0xc0]
call fcn.1800136b0
nop
movdqa xmm0, xmmword [0x180079f60]
movdqa xmm1, xmmword [0x180079e80]
mov word [rbp + 0x90], 0xe359
mov ecx, 0x740
mov eax, dword [rcx + rsi]
test al, 1
jne 0x18000a6f0
or eax, 1
mov dword [rcx + rsi], eax
mov eax, 0x7f8
mov edi, eax
lea rcx, [rax + rsi]
mov byte [rcx + 0x22], 1
lea rax, [rcx + 0x21]
lea rdx, [rbp + 0x91]
cmp rcx, rdx
ja 0x18000a6cf
lea rdx, [rbp + 0x70]
cmp rax, rdx
jb 0x18000a6cf
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movzx eax, word [rbp + 0x90]
mov word [rcx + 0x20], ax
jmp 0x18000a6e1
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movzx eax, word [rbp + 0x90]
mov word [rcx + 0x20], ax
lea rcx, [0x1800690b0]
call fcn.18003f1a4
nop
jmp 0x18000a6f5
mov edi, 0x7f8
lea r9, [rsi + rdi]
cmp byte [r9 + 0x22], 0
je 0x18000a74d
lea r8, [r9 + 1]
mov r10, r9
not r10
nop word [rax + rax]
lea ecx, [r8 + r10]
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 - 1], dl
movzx ecx, r8b
sub cl, r9b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8], dl
add r8, 2
lea rax, [r10 + r8]
cmp rax, 0x22
jb 0x18000a710
mov byte [r9 + 0x22], 0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x18000a770
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000a7e2
add dword [0x180087be8], eax
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
add r9, r8
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xc0]
call fcn.1800152b0
nop
lea rcx, [rbp + 0xc0]
call fcn.1800136b0
nop
movdqa xmm0, xmmword [0x180079f60]
movdqa xmm1, xmmword [0x180079f50]
mov dword [rbp + 0x90], 0x6bba994c
mov dword [rbp + 0x94], 0xb6f0c1de
mov word [rbp + 0x98], 0xe340
mov ecx, 0x8c4
mov eax, dword [rcx + rsi]
test al, 1
jne 0x18000a8cf
or eax, 1
mov dword [rcx + rsi], eax
mov eax, 0x7c0
mov edi, eax
lea rcx, [rax + rsi]
mov byte [rcx + 0x2a], 1
lea rax, [rcx + 0x29]
lea rdx, [rbp + 0x99]
cmp rcx, rdx
ja 0x18000a8a1
lea rdx, [rbp + 0x70]
cmp rax, rdx
jb 0x18000a8a1
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [rbp + 0x90]
movsd qword [rcx + 0x20], xmm0
movzx eax, word [rbp + 0x98]
mov word [rcx + 0x28], ax
jmp 0x18000a8c0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [rbp + 0x90]
movsd qword [rcx + 0x20], xmm0
movzx eax, word [rbp + 0x98]
mov word [rcx + 0x28], ax
lea rcx, [0x180069080]
call fcn.18003f1a4
nop
jmp 0x18000a8d4
mov edi, 0x7c0
lea r9, [rsi + rdi]
cmp byte [r9 + 0x2a], 0
je 0x18000a92d
lea r8, [r9 + 1]
mov r10, r9
not r10
nop dword [rax]
lea ecx, [r8 + r10]
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 - 1], dl
movzx ecx, r8b
sub cl, r9b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8], dl
add r8, 2
lea rax, [r10 + r8]
cmp rax, 0x2a
jb 0x18000a8f0
mov byte [r9 + 0x2a], 0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x18000a950
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000a9c2
add dword [0x180087be8], eax
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
add r9, r8
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0xc0]
call fcn.1800152b0
nop
lea rcx, [rbp + 0xc0]
call fcn.1800136b0
nop
movdqa xmm0, xmmword [0x180079e00]
movdqa xmm1, xmmword [str.Yc]
mov dword [rbp + 0x90], 0x19bb8643
mov ecx, 0x8d4
mov eax, dword [rcx + rsi]
test al, 1
jne 0x18000aa7e
or eax, 1
mov dword [rcx + rsi], eax
mov eax, 0x698
mov edi, eax
lea rcx, [rax + rsi]
mov byte [rcx + 0x24], 1
lea rax, [rcx + 0x23]
lea rdx, [rbp + 0x93]
cmp rcx, rdx
ja 0x18000aa5f
lea rdx, [rbp + 0x70]
cmp rax, rdx
jb 0x18000aa5f
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [rbp + 0x90]
mov dword [rcx + 0x20], eax
jmp 0x18000aa6f
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [rbp + 0x90]
mov dword [rcx + 0x20], eax
lea rcx, [0x180069050]
call fcn.18003f1a4
nop
jmp 0x18000aa83
mov edi, 0x698
lea r9, [rsi + rdi]
cmp byte [r9 + 0x24], 0
je 0x18000aadd
lea r8, [r9 + 1]
mov r10, r9
not r10
nop dword [rax + rax]
lea ecx, [r8 + r10]
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 - 1], dl
movzx ecx, r8b
sub cl, r9b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8], dl
add r8, 2
lea rax, [r10 + r8]
cmp rax, 0x24
jb 0x18000aaa0
mov byte [r9 + 0x24], 0
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
inc rbx
cmp byte [r9 + rbx], 0
jne 0x18000aaf5
mov r8, rbx
mov rdx, r9
lea rcx, [rsp + 0x20]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000ab6a
add dword [0x180087be8], eax
lea r8, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae r8, qword [rsp + 0x20]
mov r9, qword [rsp + 0x30]
add r9, r8
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0xc0]
call fcn.1800152b0
nop
lea rcx, [rbp + 0xc0]
call fcn.1800136b0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r13
mov edx, 5
lea rcx, [rbp + 0xa0]
call fcn.18000fa70
lea rax, [rbp + 0xa0]
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov rbx, qword [rbp + 0xa0]
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x78], rbx
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x80], rax
lea rdi, [rbp - 0x30]
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.180008f90
add rbx, 0x20
mov qword [rbp + 0x78], rbx
add rdi, 0x20
lea rax, [rbp + 0x70]
cmp rdi, rax
jne 0x18000ac00
mov rdx, rbx
mov rcx, rbx
call fcn.18000fe10
mov qword [rbp + 0xa8], rbx
lea r9, [fcn.180002bf0]
mov edx, 0x20
lea r8d, [rdx - 0x1b]
lea rcx, [rbp - 0x30]
call fcn.18003f854
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x18000ac89
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ac84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aef2
call fcn.18003f0cc
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18000acd9
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000acd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aef8
call fcn.18003f0cc
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18000ad29
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ad24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aefe
call fcn.18003f0cc
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18000ad77
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ad72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000af04
call fcn.18003f0cc
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18000adc2
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000adbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aee6
call fcn.18003f0cc
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xa0]
sub rax, rcx
sar rax, 5
mov rdx, r15
cmp r15, rax
jae 0x18000ae87
shl rdx, 5
add rdx, rcx
mov rcx, r14
call fcn.180008f90
nop
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x18000ae5a
mov rdx, qword [rbp + 0xa8]
call fcn.18000fe10
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ae55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aeec
call fcn.18003f0cc
mov rax, r14
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.18003f070
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rcx
mov rcx, r14
call fcn.180008f90
nop
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x18000ae5a
mov rdx, qword [rbp + 0xa8]
call fcn.18000fe10
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ae55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000aeec
jmp 0x18000ae55
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
int3