Function at 0x140002ff0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov r15, rcx
xor r14d, r14d
lea rcx, [rsp + 0x58]
call fcn.140001c80
nop
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x48], rsi
lea rcx, [rsi + 1]
call fcn.140007834
mov r13, rax
mov qword [rbp - 0x70], rax
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0xf
cmova rdx, qword [rsp + 0x58]
lea r8, [rsi + 1]
mov rcx, rax
call fcn.140021e10
lea rcx, [rsi + 1]
call fcn.140007834
mov rdi, rax
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0xf
cmova rdx, qword [rsp + 0x58]
lea r8, [rsi + 1]
mov rcx, rax
call fcn.140021e10
lea rax, vtable.AES.0
mov qword [rbp - 0x60], rax
mov byte [rbp - 0x58], r14b
mov qword [rbp + 0x36c], r14
mov dword [rbp + 0x374], r14d
lea rcx, [rbp - 0x60]
call fcn.140001630
cmp byte [rbp - 0x58], r14b
je 0x14000349e
test rsi, rsi
je 0x14000349e
movsxd r11, dword [rbp + 0x370]
xor edx, edx
mov rax, rsi
div r11
test rdx, rdx
jne 0x14000349e
mov dword [rbp + 0x470], r14d
mov rbx, r13
mov qword [rsp + 0x40], rbx
mov r12, rdi
mov qword [rsp + 0x50], rdi
test rax, rax
je 0x14000349e
lea r8, [0x140000000]
mov rcx, rbx
cmp byte [rbp - 0x58], 0
je 0x14000340a
cmp r11d, 0x10
jne 0x14000312f
mov r8, r12
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.140001200
mov r11d, dword [rbp + 0x370]
jmp 0x14000340a
mov eax, r11d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
xor edx, edx
cmp r13d, 4
je 0x140003150
cmp r13d, 6
setne dl
inc rdx
shl rdx, 5
mov r15d, dword [rdx + r8 + 0x30c3c]
mov dword [rsp + 0x38], r15d
mov ebx, dword [rdx + r8 + 0x30c44]
mov dword [rsp + 0x30], ebx
mov esi, dword [rdx + r8 + 0x30c4c]
mov dword [rsp + 0x34], esi
lea r9, [rbp + 0x3f8]
xor r10d, r10d
test eax, eax
jle 0x1400031dd
nop word [rax + rax]
movzx r8d, byte [rcx]
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, edx
shl r8d, 8
mov dword [r9], r8d
movzx eax, byte [rcx + 3]
lea rcx, [rcx + 4]
mov rdx, r9
add r9, 4
or r8d, eax
xor r8d, dword [rbp + r10*4 + 0x18c]
mov dword [rdx], r8d
inc r10
cmp r10, r13
jl 0x140003190
mov r11d, dword [rbp + 0x370]
mov r14d, 1
mov dword [rbp + 0x478], r14d
mov eax, dword [rbp + 0x374]
cmp eax, r14d
jle 0x14000331d
lea eax, [r13*4]
cdqe
mov qword [rbp - 0x80], rax
mov r12, 0xfffffffffffffdb4
nop
xor esi, esi
test r13d, r13d
jle 0x1400032d5
mov ebx, r15d
mov r10d, dword [rsp + 0x30]
sub r10d, r15d
mov r11d, dword [rsp + 0x34]
sub r11d, r15d
lea r15, [rbp + 0x3f8]
add r15, r12
lea r14, [0x140000000]
nop
lea eax, [r10 + rbx]
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 8
movzx r8d, cl
lea eax, [r11 + rbx]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax*4 + 0x3f8]
mov r9d, dword [r14 + r8*4 + 0x2f330]
xor r9d, dword [r14 + rcx*4 + 0x30430]
mov eax, ebx
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [r14 + rax*4 + 0x2e330]
movzx eax, byte [rbp + rsi*4 + 0x3fb]
xor r9d, dword [r14 + rax*4 + 0x30830]
xor r9d, dword [r15 + rsi*4]
lea rax, [rbp + 0x3d8]
mov dword [rax + rsi*4], r9d
inc ebx
inc rsi
cmp rsi, r13
jl 0x140003240
mov r14d, dword [rbp + 0x478]
mov r15d, dword [rsp + 0x38]
mov r8, qword [rbp - 0x80]
lea rdx, [rbp + 0x3d8]
lea rcx, [rbp + 0x3f8]
call fcn.140021e10
inc r14d
mov dword [rbp + 0x478], r14d
add r12, 0x20
mov eax, dword [rbp + 0x374]
cmp r14d, eax
jl 0x140003210
mov r11d, dword [rbp + 0x370]
mov ebx, dword [rsp + 0x30]
mov esi, dword [rsp + 0x34]
mov r12, qword [rsp + 0x50]
xor r10d, r10d
test r13d, r13d
jle 0x1400033f9
cdqe
mov r9, r12
sub r15d, ebx
sub esi, ebx
shl rax, 5
lea r14, [rbp + 0x18c]
add r14, rax
lea r11, [0x140000000]
nop dword [rax + rax]
mov r8d, dword [r14 + r10*4]
movzx ecx, byte [rbp + r10*4 + 0x3fb]
mov eax, r8d
sar eax, 0x18
xor al, byte [rcx + r11 + 0x2e230]
mov byte [r9], al
lea eax, [r15 + rbx]
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 0x10
movzx edx, cl
mov eax, r8d
sar eax, 0x10
xor al, byte [rdx + r11 + 0x2e230]
mov byte [r9 + 1], al
mov eax, ebx
cdq
idiv r13d
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 8
movzx edx, cl
mov eax, r8d
sar eax, 8
xor al, byte [rdx + r11 + 0x2e230]
mov byte [r9 + 2], al
lea eax, [rsi + rbx]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax*4 + 0x3f8]
xor r8b, byte [rcx + r11 + 0x2e230]
mov byte [r9 + 3], r8b
lea r9, [r9 + 4]
inc ebx
inc r10
cmp r10, r13
jl 0x140003350
mov r11d, dword [rbp + 0x370]
mov r14d, dword [rbp + 0x470]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rcx, r12
cmp byte [rbp - 0x58], 0
je 0x140003441
test r11d, r11d
jle 0x140003441
lea r8, [rbp + 0x398]
sub r8, r12
mov edx, r11d
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140003430
movsxd r8, r11d
mov rdx, rbx
lea rcx, [rbp + 0x398]
call fcn.140021e10
movsxd r11, dword [rbp + 0x370]
add rbx, r11
mov qword [rsp + 0x40], rbx
add r12, r11
mov qword [rsp + 0x50], r12
inc r14d
mov dword [rbp + 0x470], r14d
xor edx, edx
mov rax, rsi
div r11
movsxd rcx, r14d
cmp rcx, rax
lea r8, [0x140000000]
jb 0x140003101
mov rdi, qword [rbp - 0x78]
mov r15, qword [rbp + 0x460]
mov r13, qword [rbp - 0x70]
movzx r9d, byte [rdi + rsi - 1]
lea edx, [rsi - 1]
movsx rax, r9b
mov r8, rsi
sub r8, rax
movsxd rax, edx
cmp rax, r8
jb 0x1400034f1
lea rcx, [rax + rdi]
nop dword [rax]
cmp byte [rcx], r9b
jne 0x1400034d7
mov byte [rcx], 0
dec edx
dec rcx
movsxd rax, edx
cmp rax, r8
jae 0x1400034c0
jmp 0x1400034f1
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.1400224b0
call fcn.140003e70
mov rcx, rax
call fcn.140004150
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], al
jne 0x140003510
mov rdx, rdi
mov rcx, r15
call fcn.140002350
mov rcx, r13
call fcn.140007584
mov rcx, rdi
call fcn.140007584
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x14000356e
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003569
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000358c
call fcn.140007584
mov rax, r15
mov rbx, qword [rsp + 0x568]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000e2bc
int3