Function at 0x180005320
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
movdqa xmm0, xmmword [0x18027b2b0]
xor edi, edi
movdqa xmm1, xmmword [0x18027b230]
mov r15, rdx
movdqu xmmword [rbp - 0x31], xmm0
mov r14, rcx
mov word [rbp + 0xf], 0xe5
movdqa xmm0, xmmword [0x18027b1d0]
movabs r9, 0xaaaaaaaaaaaaaaab
movdqu xmmword [rbp - 0x21], xmm1
movdqa xmm1, xmmword [0x18027b180]
movdqu xmmword [rbp - 0x11], xmm0
movdqu xmmword [rbp - 1], xmm1
mov qword [rbp + 0x7f], rdi
mov rax, qword [rbp + 0x7f]
nop dword [rax]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx r8d, byte [rbp + rax - 0x30]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x7f]
shl dl, 3
sub cl, dl
mov edx, 0x6fe52db2
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x30], dl
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 0x40
jb 0x180005390
mov byte [rbp + 0x10], dil
lea rax, [rbp - 0x30]
mov qword [rbp - 0x41], rdi
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x39], 0xf
mov byte [rbp - 0x51], dil
nop word [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x180005400
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x51]
call fcn.18023c100
mov eax, dword [r15 + 0x10]
mov ebx, edi
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
test eax, eax
je 0x1800057bc
mov qword [rsp + 0xa8], rsi
mov r9, rdi
movzx esi, byte [rbp + 0x78]
mov r8, rdi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x98], r13
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r15 + 0x18]
dec eax
mov dword [rbp + 0x7f], eax
mov rax, r15
cmp rdx, 0x10
jb 0x180005475
mov rax, qword [r15]
cmp byte [r9 + rax], 0x3d
je 0x18000563e
mov rax, r15
cmp rdx, 0x10
jb 0x18000548c
mov rax, qword [r15]
movzx ecx, byte [r9 + rax]
lea eax, [rcx - 0x41]
cmp al, 0x19
jbe 0x1800054b2
lea eax, [rcx - 0x61]
cmp al, 0x19
jbe 0x1800054b2
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x1800054b2
sub cl, 0x2b
test cl, 0xfb
jne 0x18000563e
mov rax, r15
cmp rdx, 0x10
jb 0x1800054be
mov rax, qword [r15]
movzx eax, byte [rax + r9]
inc ebx
inc r9
mov byte [rbp + r8 + 0x77], al
inc r8
mov qword [rbp - 0x59], r9
cmp ebx, 4
jne 0x18000562f
mov r13, qword [rbp - 0x39]
lea rdi, [rbp - 0x51]
mov r12, qword [rbp - 0x51]
cmp r13, 0x10
mov rbx, qword [rbp - 0x41]
cmovae rdi, r12
test rbx, rbx
je 0x180005513
movsx edx, byte [rbp + 0x77]
mov r8, rbx
mov rcx, rdi
call fcn.18024c430
test rax, rax
je 0x180005513
sub rax, rdi
jmp 0x18000551a
mov rax, 0xffffffffffffffff
cmp r13, 0x10
mov byte [rbp + 0x77], al
lea rdi, [rbp - 0x51]
cmovae rdi, r12
test rbx, rbx
je 0x18000554a
movsx edx, byte [rbp + 0x78]
mov r8, rbx
mov rcx, rdi
call fcn.18024c430
mov rsi, rax
test rax, rax
je 0x18000554a
sub rsi, rdi
jmp 0x180005551
mov rsi, 0xffffffffffffffff
cmp r13, 0x10
mov byte [rbp + 0x78], sil
lea r14, [rbp - 0x51]
cmovae r14, r12
test rbx, rbx
je 0x180005582
movsx edx, byte [rbp + 0x79]
mov r8, rbx
mov rcx, r14
call fcn.18024c430
mov rdi, rax
test rax, rax
je 0x180005582
sub rdi, r14
jmp 0x180005589
mov rdi, 0xffffffffffffffff
cmp r13, 0x10
mov byte [rbp + 0x79], dil
lea r14, [rbp - 0x51]
cmovae r14, r12
test rbx, rbx
je 0x1800055ba
movsx edx, byte [rbp + 0x7a]
mov r8, rbx
mov rcx, r14
call fcn.18024c430
mov rdx, rax
test rax, rax
je 0x1800055ba
sub rdx, r14
jmp 0x1800055c1
mov rdx, 0xffffffffffffffff
movzx eax, byte [rbp + 0x77]
lea rbx, [rbp + 0x6f]
mov r14, qword [rbp + 0x67]
movzx ecx, sil
shr cl, 4
and cl, 3
shl al, 2
add cl, al
mov byte [rbp + 0x7a], dl
mov byte [rbp + 0x6f], cl
movzx eax, sil
movzx ecx, dil
shl al, 4
shr cl, 2
and cl, 0xf
shl dil, 6
add cl, al
add dil, dl
mov byte [rbp + 0x70], cl
mov byte [rbp + 0x71], dil
mov edi, 3
nop dword [rax + rax]
mov rdx, rbx
mov rcx, r14
call fcn.18023aa40
inc rbx
sub rdi, 1
jne 0x180005610
mov r9, qword [rbp - 0x59]
xor ebx, ebx
xor r8d, r8d
jmp 0x180005633
movzx esi, byte [rbp + 0x78]
mov eax, dword [rbp + 0x7f]
test eax, eax
jne 0x180005460
test ebx, ebx
je 0x1800057a4
cmp ebx, 4
jge 0x180005670
mov eax, 4
lea rcx, [rbp + 0x77]
sub eax, ebx
xor edx, edx
movsxd r8, eax
movsxd rax, ebx
add rcx, rax
call fcn.18024b360
movzx esi, byte [rbp + 0x78]
nop word [rax + rax]
cmp qword [rbp - 0x39], 0x10
lea rdi, [rbp - 0x51]
mov r13, qword [rbp - 0x51]
mov r15, qword [rbp - 0x41]
cmovae rdi, r13
test r15, r15
je 0x1800056a6
movsx edx, byte [rbp + 0x77]
mov r8, r15
mov rcx, rdi
call fcn.18024c430
mov r12, rax
test rax, rax
je 0x1800056a6
sub r12, rdi
jmp 0x1800056ad
mov r12, 0xffffffffffffffff
cmp qword [rbp - 0x39], 0x10
lea rdi, [rbp - 0x51]
cmovae rdi, r13
test r15, r15
je 0x1800056db
movsx edx, sil
mov r8, r15
mov rcx, rdi
call fcn.18024c430
mov rsi, rax
test rax, rax
je 0x1800056db
sub rsi, rdi
jmp 0x1800056e2
mov rsi, 0xffffffffffffffff
cmp qword [rbp - 0x39], 0x10
lea r13, [rbp - 0x51]
cmovae r13, qword [rbp - 0x51]
test r15, r15
je 0x180005711
movsx edx, byte [rbp + 0x79]
mov r8, r15
mov rcx, r13
call fcn.18024c430
mov rdi, rax
test rax, rax
je 0x180005711
sub rdi, r13
jmp 0x180005718
mov rdi, 0xffffffffffffffff
cmp qword [rbp - 0x39], 0x10
lea r13, [rbp - 0x51]
cmovae r13, qword [rbp - 0x51]
test r15, r15
je 0x180005747
movsx edx, byte [rbp + 0x7a]
mov r8, r15
mov rcx, r13
call fcn.18024c430
mov rcx, rax
test rax, rax
je 0x180005747
sub rcx, r13
jmp 0x18000574e
mov rcx, 0xffffffffffffffff
movzx eax, sil
shl r12b, 2
shr al, 4
and al, 3
shl sil, 4
add al, r12b
mov byte [rbp + 0x6f], al
movzx eax, dil
shr al, 2
and al, 0xf
shl dil, 6
add al, sil
add dil, cl
mov byte [rbp + 0x70], al
lea eax, [rbx - 1]
mov byte [rbp + 0x71], dil
test eax, eax
jle 0x1800057a4
lea rbx, [rbp + 0x6f]
mov edi, eax
nop dword [rax]
mov rdx, rbx
mov rcx, r14
call fcn.18023aa40
inc rbx
sub rdi, 1
jne 0x180005790
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa8]
lea rcx, [rbp - 0x51]
call fcn.18023c0a0
mov rax, r14
add rsp, 0xb0
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret