Function at 0x1400e3b30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
mov rsi, rcx
mov rcx, qword [rbp + 0x1b0]
mov dword [rsi + 0xc], r9d
mov r14d, r9d
mov rbx, r8
lea rax, [0x14035f0cc]
movsxd r9, dword [0x14035f0cc]
mov r8, r9
xor r8, rax
and r9, rax
lea rax, [r8 + r9*2]
mov r9d, dword [0x14035f0c4]
test r14d, r14d
jns case.0x1400e3c01.4
cmp byte [rsi + 0x10], 0
je case.0x1400e3c01.4
mov r13d, dword [0x14043a250]
lea r8d, [r13 + 1]
mov dword [0x14043a250], r8d
xor edi, edi
mov dword [rbp + 0xbc], r8d
test r13d, r8d
jne 0x1400e3be0
test r9d, r9d
jle 0x1400e3be0
xor r8d, r8d
xor edi, edi
nop dword [rax]
movsxd r8, r8d
xor edi, dword [rax + r8]
add r8d, 4
cmp r8d, r9d
jl 0x1400e3bd0
lea eax, [r14 + 0x14]
cmp eax, 0x13
mov dword [rbp + 0x13c], edx
ja case.0x1400e3c01.18
lea r8, [0x1400e4ddc]
movsxd rax, dword [r8 + rax*4]
add rax, r8
jmp rax
movzx edx, word [0x14048ffd4]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r15, [0x14035cd08]
cmovne r15, rax
lea r14, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r15
mov edx, 0x522f1e4b
call fcn.140084850
mov r12, rax
cmp rax, 0xf
jbe 0x1400e41f9
mov rcx, r14
mov rdx, r12
mov r9, r15
call fcn.1400733f0
jmp 0x1400e4217
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffd2]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e4097
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e40b5
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffca]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e4152
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e4170
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffc8]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e42a2
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e42c0
movzx edx, word [0x14048ffc6]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r15, [0x14035cd08]
cmovne r15, rax
lea r14, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r15
mov edx, 0x522f1e4b
call fcn.140084850
mov r12, rax
cmp rax, 0xf
jbe 0x1400e4349
mov rcx, r14
mov rdx, r12
mov r9, r15
call fcn.1400733f0
jmp 0x1400e4367
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffc0]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e43e4
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e4402
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffce]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e448b
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e44a9
mov qword [rbp + 0x130], r13
movzx edx, word [0x14048ffcc]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r12, [0x14035cd08]
cmovne r12, rax
lea r15, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r12
mov edx, 0x522f1e4b
call fcn.140084850
mov r13, rax
cmp rax, 0xf
jbe 0x1400e4532
mov rcx, r15
mov rdx, r13
mov r9, r12
call fcn.1400733f0
jmp 0x1400e4550
movzx edx, word [0x14048ffc2]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r15, [0x14035cd08]
cmovne r15, rax
lea r14, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r15
mov edx, 0x522f1e4b
call fcn.140084850
mov r12, rax
cmp rax, 0xf
jbe 0x1400e45d9
mov rcx, r14
mov rdx, r12
mov r9, r15
call fcn.1400733f0
jmp 0x1400e45f7
movzx edx, word [0x14048ffc4]
mov r8d, 0x90520cf7
call fcn.1400847d0
test rax, rax
lea r15, [0x14035cd08]
cmovne r15, rax
lea r14, [rbp + 0xc8]
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
mov rcx, r15
mov edx, 0x522f1e4b
call fcn.140084850
mov r12, rax
cmp rax, 0xf
jbe 0x1400e467d
mov rcx, r14
mov rdx, r12
mov r9, r15
call fcn.1400733f0
jmp 0x1400e469b
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e40e2
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e419d
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r12
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1403414a0
mov byte [rbp + r12 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r12d, dword [rbp + 0x13c]
jb 0x1400e423d
mov r14, qword [rbp + 0xc8]
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r14
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400e48d2
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
jmp 0x1400e4712
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e42ed
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r12
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1403414a0
mov byte [rbp + r12 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r12d, dword [rbp + 0x13c]
jb 0x1400e438d
mov r14, qword [rbp + 0xc8]
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r14
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e442f
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e44d6
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r13
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.1403414a0
mov byte [rbp + r13 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r13, qword [rbp + 0x130]
mov r12d, dword [rbp + 0x13c]
jb 0x1400e457d
mov r15, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r15
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r12
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1403414a0
mov byte [rbp + r12 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r12d, dword [rbp + 0x13c]
jb 0x1400e461d
mov r14, qword [rbp + 0xc8]
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r14
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
cmp byte [0x140490429], 0
jne 0x1400e4663
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jb 0x1400e470b
call fcn.1402f9bec
mov qword [rbp + 0xd8], r12
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1403414a0
mov byte [rbp + r12 + 0xc8], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xe0], 0x10
mov r12d, dword [rbp + 0x13c]
jb 0x1400e46c1
mov r14, qword [rbp + 0xc8]
lea rcx, [rbp - 0x50]
mov edx, 0x100
mov r8, r14
mov r9, rbx
call fcn.140060ed0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400e471a
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4715
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400e48d7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
lea rcx, [rbp + 0xd8]
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 0xf
mov byte [rbp + 0xe0], 0
lea rax, [0x14035c428]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], 0
mov qword [rbp + 0x100], rax
mov dword [rbp + 0xc0], r12d
movaps xmm0, xmmword [0x14035f0b0]
movups xmmword [rbp + 0xc4], xmm0
mov edx, 0x408
add rdx, qword [rsi + 0x18]
call fcn.1401ec490
lea rcx, [rbp + 0x100]
lea rdx, [rbp - 0x50]
call fcn.1401eb5c0
mov byte [rbp + 0x128], 0
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r10, qword [case.0x1400eabdd.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp + 0xb0]
lea r9, [rbp + 0xc0]
xor r8d, r8d
call r10
mov rax, qword [rbp + 0x120]
cmp rax, 0x10
jb 0x1400e481e
mov rcx, qword [rbp + 0x108]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e4819
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400e48c8
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], 0
mov rax, qword [rbp + 0xf8]
cmp rax, 0x10
jb case.0x1400e3c01.4
mov rcx, qword [rbp + 0xe0]
cmp byte [0x140490428], 0
jne 0x1400e4865
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400e48ae
and r13d, dword [rbp + 0xbc]
mov edx, dword [0x14035f0d0]
xor r8d, r8d
cmp r13d, 1
sbb r8d, r8d
sub edx, edi
test edx, r8d
setne dl
or dl, byte [0x140490428]
and dl, 1
mov byte [0x140490428], dl
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400e48cd
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
nop
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1402f9bec
call fcn.1402f9bec
call fcn.1402f9bec
call fcn.1402f9bec
int3