Function at 0x140006a30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x418
call fcn.1400df7a0
test al, al
jne 0x1400076f3
lea rsi, [rsp + 0x3f8]
mov rcx, rsi
call fcn.1400ec040
mov rcx, rsi
call fcn.1400ce800
mov rsi, rax
mov rdi, rdx
lea rax, [0x14012ec36]
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1a8]
movabs rdx, 0xcbbe830710fdf018
mov qword [rsp + 0x1a8], rdx
mov rdx, qword [rsp + 0x1a8]
call fcn.1400017a0
mov qword [rsp + 0x1a8], 0
mov dword [rsp + 0x1af], 0
movabs rcx, 0x590ae043ab5e54c0
xor rcx, qword [rax]
mov qword [rsp + 0x1a8], rcx
movzx ecx, word [rax + 8]
movzx eax, byte [rax + 0xa]
mov edx, ecx
shr edx, 8
xor cl, 0x82
xor dl, 0xda
mov byte [rsp + 0x1b0], cl
mov byte [rsp + 0x1b1], dl
xor al, 0x52
mov byte [rsp + 0x1b2], al
mov qword [rsp + 0x20], 0xb
lea rcx, [rsp + 0x150]
lea r9, [rsp + 0x1a8]
mov rdx, rsi
mov r8, rdi
call fcn.1400ef6b0
mov rdi, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
test rsi, rsi
je 0x140006b67
setns al
js 0x140007965
movzx ebx, al
mov rcx, rsi
mov rdx, rbx
call fcn.14000dad0
mov rcx, rax
test rax, rax
jne 0x140006b6c
mov rcx, rsi
mov rdx, rbx
call fcn.1401309a0
ud2
mov ecx, 1
mov qword [rsp + 0x1a8], rsi
mov qword [rsp + 0x1b0], rcx
mov rdx, rdi
mov r8, rsi
call fcn.14012c7c0
mov qword [rsp + 0x1b8], rsi
movzx eax, byte [rsp + 0x168]
mov byte [rsp + 0x1c0], al
lea rsi, [rsp + 0x1a8]
mov rcx, rsi
call fcn.140006760
test rax, rax
jne 0x140007708
mov qword [rsp + 0xb8], rdx
lea rax, [0x1401320bc]
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
movabs rax, 0x807cbf8aba57529a
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x1a8]
call fcn.140001630
mov rsi, rax
lea rcx, [rsp + 0x1a8]
mov r8d, 0x248
xor edx, edx
call fcn.14012cf40
mov rax, 0xfffffffffffffff8
lea rcx, [0x1401323c8]
nop dword [rax + rax]
mov rdx, qword [rax + rcx + 8]
xor rdx, qword [rsi + rax + 8]
mov qword [rsp + rax + 0x1b0], rdx
add rax, 8
cmp rax, 0x240
jb 0x140006c20
movzx eax, byte [rsi + 0x24a]
movzx ecx, word [rsi + 0x248]
mov edx, ecx
shr edx, 8
xor cl, 0x27
xor dl, 0xd2
mov byte [rsp + 0x3f0], cl
mov byte [rsp + 0x3f1], dl
xor al, 0xe7
mov byte [rsp + 0x3f2], al
mov ecx, 0x24b
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x14000794d
mov r15, rax
mov r14, rax
lea rsi, [rsp + 0x1a8]
mov r8d, 0x24b
mov rcx, r15
mov rdx, rsi
call fcn.14012c7c0
lea rax, [0x14013211b]
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
movabs rax, 0xf07a26ec6a594c7a
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x1a8]
call fcn.140001b90
movzx eax, word [rax]
mov ecx, eax
shr ecx, 8
xor al, 0x95
xor cl, 0xf6
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], cl
lea rcx, [rsp + 0x1a8]
call fcn.1400ec080
cmp byte [rsp + 0x1c0], 2
je 0x140007708
movups xmm0, xmmword [rsp + 0x1a8]
movups xmm1, xmmword [rsp + 0x1b8]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x80]
call fcn.1400ce800
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 0
lea r8, [0x140132318]
lea rsi, [rsp + 0x1a8]
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140102490
lea rcx, [rsp + 0x180]
mov rdx, rsi
call fcn.1400ef7e0
test al, al
jne 0x140007708
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdi, [rsp + 0x1a8]
mov rcx, rdi
call fcn.140101f20
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x148], 0
lea r8, [0x140132318]
lea rbx, [rsp + 0xc0]
lea rsi, [rsp + 0x138]
mov rcx, rbx
mov rdx, rsi
call fcn.140102490
mov rcx, rdi
mov rdx, rbx
call fcn.140106150
test al, al
jne 0x140007708
mov qword [rsp + 0x170], rsi
lea rax, [0x140006a10]
mov qword [rsp + 0x178], rax
lea rax, [0x140132618]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xc0], 0
lea rax, [rsp + 0x170]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0xc0]
call fcn.1400feb80
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x140006e99
mov rcx, qword [rsp + 0x140]
mov r8d, 1
call fcn.14000dae0
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x140006eb3
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.14000dae0
mov qword [rsp + 0x50], r15
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x140006ed8
mov rcx, qword [rsp + 0x88]
mov r8d, 1
call fcn.14000dae0
movups xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xc0]
call fcn.1400ff5c0
mov rbp, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], 2
lea r12, [rsp + 0x1a8]
lea r9, [rsp + 0x46]
mov r8d, 0x24b
mov rcx, r12
mov qword [rsp + 0x100], r14
mov rdx, r14
call fcn.140106560
mov rdi, qword [rsp + 0x1a8]
mov r15, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1e0]
cmp qword [rsp + 0x1c8], 0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rdx
je 0x140007364
mov qword [rsp + 0x118], rbp
mov rbp, qword [rsp + 0x1b8]
mov r12, qword [rsp + 0x1c0]
mov r11, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x200]
lea rax, [r12 - 1]
mov qword [rsp + 0x78], rax
mov rax, r12
sub rax, rdx
mov qword [rsp + 0x108], rax
lea rax, [r13 - 1]
mov qword [rsp + 0xa8], rax
mov rax, r13
neg rax
mov qword [rsp + 0xb0], rax
lea rax, [rdi + r13]
mov qword [rsp + 0x130], rax
mov rax, rbp
add rax, r13
mov qword [rsp + 0x128], rax
lea rax, [rdi + r13 - 1]
mov qword [rsp + 0x110], rax
lea rax, [rbp + r13 - 1]
mov qword [rsp + 0x120], rax
mov eax, 1
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0xa0], r11
mov rcx, qword [rsp + 0x78]
add rcx, rbx
cmp rsi, 0xffffffffffffffff
je 0x140007156
nop dword [rax + rax]
cmp rcx, r15
jae 0x140007350
movzx ecx, byte [rdi + rcx]
bt r11, rcx
jae 0x1400070e0
cmp r13, rsi
mov r10, rsi
cmova r10, r13
lea rcx, [rdi + rbx]
nop word cs:[rax + rax]
cmp r10, r12
jae 0x140007100
lea r8, [rbx + r10]
cmp r8, r15
jae 0x140007708
lea r8, [r10 + 1]
movzx r9d, byte [rbp + r10]
cmp r9b, byte [rcx + r10]
mov r10, r8
je 0x1400070a0
add rbx, qword [rsp + 0xb0]
add rbx, r8
jmp 0x1400070e3
add rbx, r12
xor esi, esi
mov rcx, qword [rsp + 0x78]
add rcx, rbx
cmp rcx, r15
jb 0x140007079
jmp 0x140007350
mov r10, qword [rsp + 0xa8]
nop dword [rax + rax]
lea r8, [r10 + 1]
cmp rsi, r8
jae 0x14000714f
cmp r10, r12
jae 0x140007708
lea r8, [rbx + r10]
cmp r8, r15
jae 0x140007708
movzx r8d, byte [rbp + r10]
lea r9, [r10 - 1]
cmp r8b, byte [rcx + r10]
mov r10, r9
je 0x140007110
add rbx, rdx
mov rsi, qword [rsp + 0x108]
jmp 0x1400070e5
xor esi, esi
jmp 0x140007254
cmp rcx, r15
jae 0x140007350
mov rsi, qword [rsp + 0xa8]
jmp 0x14000718a
add rbx, r12
mov r8, rbx
mov rcx, qword [rsp + 0x78]
add rcx, r8
mov rbx, r8
cmp rcx, r15
jae 0x140007350
movzx ecx, byte [rdi + rcx]
bt r11, rcx
jae 0x140007170
xor ecx, ecx
mov r10, rbx
nop dword [rax]
lea r8, [rcx + r13]
cmp r8, r12
jae 0x1400071e0
lea r8, [r10 + r13]
cmp r8, r15
jae 0x140007708
mov r8, qword [rsp + 0x128]
movzx r9d, byte [r8 + rcx]
lea r8, [r10 + 1]
inc rcx
mov r14, qword [rsp + 0x130]
cmp r9b, byte [r14 + r10]
mov r10, r8
je 0x1400071a0
jmp 0x140007176
mov rcx, qword [rsp + 0x110]
add rcx, rbx
lea r11, [rsi + rbx]
xor r8d, r8d
nop word cs:[rax + rax]
cmp qword [rsp + 0xb0], r8
je 0x14000724d
cmp rsi, r12
jae 0x140007708
lea r9, [r11 + r8]
cmp r9, r15
jae 0x140007708
mov r9, qword [rsp + 0x120]
movzx r9d, byte [r9 + r8]
lea r10, [r8 - 1]
cmp r9b, byte [rcx + r8]
mov r8, r10
je 0x140007200
add rbx, rdx
mov r8, rbx
mov r11, qword [rsp + 0xa0]
jmp 0x140007176
mov rsi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x50]
lea rdx, [rcx + rax]
mov rdi, rbx
sub rdi, rax
mov rax, qword [rsp + 0x28]
sub rax, qword [rsp + 0x48]
cmp rax, rdi
jb 0x14000730b
mov rcx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
add rcx, r14
mov r8, rdi
call fcn.14012c7c0
add r14, rdi
mov qword [rsp + 0x38], r14
mov rax, qword [rsp + 0x28]
mov rdx, r14
sub rax, r14
cmp rax, qword [rsp + 0x60]
jb 0x140007337
add rbx, r12
mov rax, qword [rsp + 0x30]
mov rdi, rdx
mov qword [rsp + 0x58], rax
lea rcx, [rax + rdx]
mov rdx, qword [rsp + 0x118]
mov r14, qword [rsp + 0x60]
mov r8, r14
call fcn.14012c7c0
add rdi, r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rdi
mov rax, rbx
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
add rcx, rbx
cmp rsi, 0xffffffffffffffff
jne 0x140007070
jmp 0x140007156
lea rcx, [rsp + 0x28]
mov r14, rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdi
call fcn.14012d5c0
mov rdx, r14
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
jmp 0x14000727b
lea rcx, [rsp + 0x28]
mov r8, qword [rsp + 0x60]
call fcn.14012d5c0
mov rdx, qword [rsp + 0x38]
jmp 0x1400072a9
mov rsi, qword [rsp + 0x50]
lea r12, [rsp + 0x1a8]
mov r14, qword [rsp + 0x48]
jmp 0x140007384
mov eax, 1
test edx, 0xff0000
je 0x14000770c
mov qword [rsp + 0x58], rax
xor r14d, r14d
xor eax, eax
mov rsi, qword [rsp + 0x50]
add rsi, rax
mov ebx, 0x24b
sub rbx, rax
mov rax, qword [rsp + 0x28]
sub rax, r14
cmp rax, rbx
jb 0x14000790d
mov rcx, qword [rsp + 0x58]
add rcx, r14
mov rdx, rsi
mov r8, rbx
call fcn.14012c7c0
add r14, rbx
mov rsi, qword [rsp + 0x30]
lea rcx, [rsp + 0xb8]
mov rdx, rsi
mov r8, r14
call fcn.1400067e0
test rax, rax
jne 0x140007708
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x1400073ef
mov r8d, 1
mov rcx, rsi
call fcn.14000dae0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14000740f
mov rcx, qword [rsp + 0x88]
mov r8d, 1
call fcn.14000dae0
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x14000742f
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012cc07]
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
movabs rax, 0xcefe255b6b0e30f2
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x1a8]
call fcn.140001110
movabs rcx, 0x2a1eadc47c6b6dab
xor rcx, qword [rax]
mov qword [rsp + 0x80], rcx
movzx eax, byte [rax + 8]
xor al, 0xf7
mov byte [rsp + 0x88], al
lea rcx, [rsp + 0x1a8]
lea rdx, [rsp + 0x80]
mov r8d, 9
call fcn.1400f4920
lea rcx, [rsp + 0x150]
call fcn.1400ce800
mov rcx, rax
call fcn.1400f0e20
test rax, rax
je 0x140007708
mov rsi, rax
mov rdi, rdx
lea rdx, str._au
lea rbx, [rsp + 0x1a8]
mov r8d, 3
mov rcx, rbx
call fcn.1400f4a00
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1400f4a00
lea rcx, [rsp + 0xc0]
mov rdx, rbx
call fcn.1400f6d80
mov r13, qword [rsp + 0xd0]
cmp r13, 2
je 0x140007708
mov rcx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [0x140131028]
call rbp
mov rcx, r14
call rbp
test r13, r13
je 0x140007567
mov rcx, rbx
call qword [0x140131028]
test r12, r12
je 0x140007575
mov rcx, rdi
call qword [0x140131028]
test r15, r15
je 0x140007583
mov rcx, rsi
call qword [0x140131028]
lea rsi, [rsp + 0x1a8]
mov rcx, rsi
call fcn.140001d50
lea rax, [0x14012abeb]
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
movabs rax, 0xf374b97f0ac7351a
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x1a8]
call fcn.140001ad0
mov rdi, qword [rax]
mov ecx, 8
mov edx, 1
call fcn.14000dad0
test rax, rax
mov r14, qword [rsp + 0x100]
je 0x140007954
mov rsi, rax
movabs rax, 0xb35e7f0f77463ae2
xor rdi, rax
mov qword [rsi], rdi
xor ecx, ecx
mov rdx, rsi
call qword [0x140131380]
test rax, rax
jne 0x140007638
mov rdi, qword [0x140131380]
nop word cs:[rax + rax]
xor ecx, ecx
mov edx, 0x5f5e100
call fcn.1400e99e0
xor ecx, ecx
mov rdx, rsi
call rdi
test rax, rax
je 0x140007620
xor ecx, ecx
mov rdx, rsi
call qword [0x140131380]
mov rdi, rax
mov rbx, qword [0x140131378]
mov r8d, 0xd
mov rcx, rax
mov edx, pe_nt_image_headers64
xor r9d, r9d
call rbx
xor ecx, ecx
mov edx, 0x2faf080
call fcn.1400e99e0
mov r8d, 0xd
mov rcx, rdi
mov edx, 0x101
xor r9d, r9d
call rbx
mov edx, 8
mov r8d, 1
mov rcx, rsi
call fcn.14000dae0
mov edx, 0x24b
mov r8d, 1
mov rcx, r14
call fcn.14000dae0
mov rcx, qword [rsp + 0xb8]
call qword [0x140131028]
mov rdx, qword [rsp + 0x150]
test rdx, rdx
je 0x1400076d3
mov rcx, qword [rsp + 0x158]
mov r8d, 1
call fcn.14000dae0
mov rdx, qword [rsp + 0x3f8]
test rdx, rdx
je 0x1400076f3
mov rcx, qword [rsp + 0x400]
mov r8d, 1
call fcn.14000dae0
nop
add rsp, 0x418
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov qword [rsp + 0x58], rax
xor r14d, r14d
xor eax, eax
mov rsi, qword [rsp + 0x50]
jmp 0x14000775a
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
xor al, 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
lea rcx, [rax + r14]
mov rdx, rbp
mov rbx, qword [rsp + 0x60]
mov r8, rbx
call fcn.14012c7c0
add r14, rbx
mov qword [rsp + 0x38], r14
mov rax, r13
test r13, r13
je 0x140007776
cmp r15, r13
jbe 0x140007770
cmp byte [rdi + r13], 0xc0
jge 0x140007776
jmp 0x14000792c
jne 0x14000792c
cmp r13, r15
jne 0x140007790
mov r13, r15
cmp byte [rsp + 0x68], 0
jne 0x140007890
jmp 0x140007384
movzx ecx, byte [rdi + r13]
test cl, cl
jns 0x140007800
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rdi + r13 + 1]
and r9d, 0x3f
cmp cl, 0xe0
jb 0x1400077ec
movzx r8d, byte [rdi + r13 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x14000787b
movzx ecx, byte [rdi + r13 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp byte [rsp + 0x68], 0
jne 0x140007890
jmp 0x14000780b
shl edx, 6
or edx, r9d
mov ecx, edx
nop word cs:[rax + rax]
cmp byte [rsp + 0x68], 0
jne 0x140007890
cmp ecx, 0x110000
je 0x140007384
mov edx, 1
cmp ecx, 0x80
jb 0x140007840
mov edx, 2
cmp ecx, 0x800
jb 0x140007840
cmp ecx, 0x10000
mov edx, 4
sbb rdx, 0
add r13, rdx
je 0x14000785c
cmp r15, r13
jbe 0x140007856
cmp byte [rdi + r13], 0xc0
jge 0x14000785c
jmp 0x14000792c
jne 0x14000792c
mov cl, 1
mov qword [rsp + 0x68], rcx
cmp r13, r15
jne 0x14000786d
mov r13, r15
jmp 0x140007890
movzx ecx, byte [rdi + r13]
test cl, cl
jns 0x140007890
cmp cl, 0xe0
jmp 0x140007890
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp byte [rsp + 0x68], 0
je 0x14000780b
nop dword [rax + rax]
lea rdi, [rsi + rax]
mov rbx, r13
sub rbx, rax
mov rax, qword [rsp + 0x28]
sub rax, r14
cmp rax, rbx
jb 0x1400078f1
mov rcx, qword [rsp + 0x58]
add rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.14012c7c0
add r14, rbx
mov qword [rsp + 0x38], r14
mov rax, qword [rsp + 0x28]
sub rax, r14
cmp rax, qword [rsp + 0x60]
jae 0x140007720
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, qword [rsp + 0x60]
call fcn.14012d5c0
mov r14, qword [rsp + 0x38]
jmp 0x140007720
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
call fcn.14012d5c0
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
jmp 0x1400078ac
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
call fcn.14012d5c0
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
jmp 0x1400073a5
lea rax, [0x1401323b0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x70]
mov rdx, r15
mov r8, r13
mov r9, r15
call fcn.1401309b0
ud2
mov ecx, 0x24b
jmp 0x140007959
mov ecx, 8
mov edx, 1
call fcn.1401309a0
ud2
call fcn.1400f47e0
ud2