Function at 0x140073940
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
mov rbp, rsp
nop
add rsp, 0x199ace54
sub rsp, 0x199ace94
xor r15d, r15d
mov r14, r8
cmp byte [rcx], 0x7b
mov eax, r15d
mov rsi, rdx
mov qword [rdx + 0x10], r15
setne al
mov qword [rdx], r15
inc rcx
mov dword [rdx + 0x20], eax
call fcn.140073160
mov rbx, rax
test rax, rax
je 0x140073a5e
lea r13d, [r15 + 0x7d]
lea r12, [0x140000000]
movzx ecx, byte [rbx]
cmp cl, 0x2c
jne 0x1400739b1
inc rbx
jmp 0x140073ef0
cmp dword [rsi + 0x20], r15d
pushf
mov eax, 0x21a4ce50
add eax, 0x3011245f
sub eax, 0x51b5f252
popf
cmove eax, r13d
cmp cl, al
jne 0x1400739f1
mov byte [rbx], r15b
inc rbx
mov rax, qword [rsi]
test rax, rax
je 0x140073f09
mov qword [rsi], r15
mov rsi, rax
jmp 0x140073ef0
mov rax, qword [r14 + 8]
mov rcx, r14
call rax
mov rdi, rax
test rax, rax
je 0x140073a5e
cmp dword [rsi + 0x20], 1
je 0x140073a7e
cmp byte [rbx], 0x22
jne 0x140073a5e
lea rcx, [rbx + 1]
mov qword [rax + 8], rcx
call fcn.140073f90
test rax, rax
je 0x140073a5e
mov rcx, rax
call fcn.140073160
test rax, rax
je 0x140073a5e
cmp byte [rax], 0x3a
jne 0x140073a5e
lea rcx, [rax + 1]
call fcn.140073160
mov rbx, rax
test rax, rax
jne 0x140073a82
xor eax, eax
mov rbx, qword [rsp + 0x90]
neg rsp
add rsp, 0xffffffffffffffc0
neg rsp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rax + 8], r15
mov qword [rdi], r15
cmp qword [rsi + 0x10], r15
jne 0x140073a98
mov qword [rsi + 0x10], rdi
jmp 0x140073a9f
mov rax, qword [rsi + 0x18]
mov qword [rax], rdi
mov qword [rsi + 0x18], rdi
mov qword [rdi + 0x10], rbx
movsx eax, byte [rbx]
add eax, 0xffffffde
cmp eax, 0x59
ja case.0x140073acc.40
cdqe
movzx eax, byte [r12 + rax + 0x73f2f]
mov ecx, dword [r12 + rax*4 + 0x73f13]
add rcx, r12
jmp rcx
mov qword [rdi], rsi
inc rbx
mov rsi, rdi
mov dword [rdi + 0x20], r15d
mov qword [rdi + 0x10], r15
jmp 0x140073ee7
mov qword [rdi], rsi
inc rbx
mov rsi, rdi
mov dword [rdi + 0x20], 0x72e333b8
sub dword [rdi + 0x20], 0x37763b57
xor dword [rdi + 0x20], 0x3b6cf860
mov qword [rdi + 0x10], r15
jmp 0x140073ee7
lea rcx, [rbx + 1]
mov qword [rdi + 0x10], rcx
call fcn.140073f90
mov rbx, rax
test rax, rax
je 0x140073a5e
mov dword [rdi + 0x20], 0x47ff567d
add dword [rdi + 0x20], 0x18a3147d
xor dword [rdi + 0x20], 0x60a26af8
jmp 0x140073ef0
mov dword [rbp + 0x40], 0x390bdab0
xor dword [rbp + 0x40], 0x2c84bde3
add dword [rbp + 0x40], 0x35cc3092
xor dword [rbp + 0x40], 0x3cedf91e
mov qword [rbp - 0x10], r15
mov rax, qword [rbp - 0x10]
nop word [rax + rax]
mov rcx, qword [rbp - 0x10]
mov edx, 0x4266865e
add edx, 0x16415c3f
xor edx, 0x2a76cb3c
sub edx, 0x600e0d12
mov rax, qword [rbp - 0x10]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rbp + rax + 0x40]
mov rax, qword [rbp - 0x10]
mov byte [rbp + rax - 0x20], dl
mov rax, qword [rbp - 0x10]
inc rax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp rax, 4
jb 0x140073b6b
movzx ecx, byte [rbp - 0x20]
mov byte [rbp - 0x1c], r15b
test cl, cl
je 0x140073bef
lea rdx, [rbp - 0x20]
sub rdx, rbx
nop dword [rax]
movzx eax, byte [rbx]
inc rbx
cmp al, cl
jne 0x140073c4d
movzx ecx, byte [rdx + rbx]
test cl, cl
jne 0x140073bd5
test rbx, rbx
je 0x140073c4d
movzx ecx, byte [rbx]
call fcn.1400732b0
test al, al
je 0x140073c4d
mov rcx, rbx
call fcn.140074110
mov rbx, rax
mov dword [rdi + 0x20], 0x2a46fc1f
xor dword [rdi + 0x20], 0x2adbf1fe
add dword [rdi + 0x20], 0x54e6d501
xor dword [rdi + 0x20], 0x5583e2e1
lea rdi, [rbp - 0x20]
xor eax, eax
mov ecx, 0x1e6ed54f
add ecx, 0x56e90390
xor ecx, 0x7557d8db
rep stosb byte [rdi], al
jmp 0x140073ee7
mov rbx, r15
lea rdi, [rbp - 0x20]
xor eax, eax
mov ecx, 0x3619f408
add ecx, 0x2b047afe
xor ecx, 0x637557f2
sub ecx, 0x26b38f0
rep stosb byte [rdi], al
jmp 0x140073ee7
mov dword [rbp + 0x58], 0x6d59e5a
xor dword [rbp + 0x58], 0x432b9aac
add dword [rbp + 0x58], 0x1f5ae744
sub dword [rbp + 0x58], 0x3a96e51
mov byte [rbp + 0x5c], 0x44
xor byte [rbp + 0x5c], 0x30
add byte [rbp + 0x5c], 0x76
mov qword [rbp - 0x10], r15
mov rax, qword [rbp - 0x10]
nop
mov rcx, qword [rbp - 0x10]
mov edx, 0x59b17b79
sub edx, 0x15978e23
sub edx, 0x3156d0c7
mov rax, qword [rbp - 0x10]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rbp + rax + 0x58]
mov rax, qword [rbp - 0x10]
mov byte [rbp + rax - 0x16], dl
mov rax, qword [rbp - 0x10]
inc rax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp rax, 5
jb 0x140073ca5
movzx ecx, byte [rbp - 0x16]
mov byte [rbp - 0x11], r15b
test cl, cl
je 0x140073d23
lea rdx, [rbp - 0x16]
sub rdx, rbx
nop dword [rax]
movzx eax, byte [rbx]
inc rbx
cmp al, cl
jne 0x140073d81
movzx ecx, byte [rdx + rbx]
test cl, cl
jne 0x140073d09
test rbx, rbx
je 0x140073d81
movzx ecx, byte [rbx]
call fcn.1400732b0
test al, al
je 0x140073d81
mov rcx, rbx
call fcn.140074110
mov rbx, rax
mov dword [rdi + 0x20], 0x614e67ca
sub dword [rdi + 0x20], 0x4700a89f
add dword [rdi + 0x20], 0x49fb37fd
sub dword [rdi + 0x20], 0x6448f725
lea rdi, [rbp - 0x16]
xor eax, eax
mov ecx, 0x1fdf8937
add ecx, 0x2097e886
sub ecx, 0x407771b8
rep stosb byte [rdi], al
jmp 0x140073ee7
mov rbx, r15
lea rdi, [rbp - 0x16]
xor eax, eax
mov ecx, 0x6bf1ced4
sub ecx, 0x4546e319
sub ecx, 0x3133b44
sub ecx, 0x2397b072
rep stosb byte [rdi], al
jmp 0x140073ee7
mov dword [rbp + 0x48], 0x40d255a3
sub dword [rbp + 0x48], 0x38b6de98
add dword [rbp + 0x48], 0x72bd9477
add dword [rbp + 0x48], 0x3d65e5f
mov qword [rbp - 0x10], r15
mov rax, qword [rbp - 0x10]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x10]
mov edx, 0x555cf922
xor edx, 0x23c4eeb4
sub edx, 0x27b96a29
sub edx, 0x3c1b90de
mov rax, qword [rbp - 0x10]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rbp + rax + 0x48]
mov rax, qword [rbp - 0x10]
mov byte [rbp + rax - 0x1b], dl
mov rax, qword [rbp - 0x10]
inc rax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp rax, 4
jb 0x140073dd1
movzx ecx, byte [rbp - 0x1b]
mov byte [rbp - 0x17], r15b
test cl, cl
je 0x140073e55
lea rdx, [rbp - 0x1b]
sub rdx, rbx
nop dword [rax]
movzx eax, byte [rbx]
inc rbx
cmp al, cl
jne 0x140073eb2
movzx ecx, byte [rdx + rbx]
test cl, cl
jne 0x140073e3b
test rbx, rbx
je 0x140073eb2
movzx ecx, byte [rbx]
call fcn.1400732b0
test al, al
je 0x140073eb2
mov rcx, rbx
call fcn.140074110
mov rbx, rax
mov dword [rdi + 0x20], 0x332beba5
xor dword [rdi + 0x20], 0x1cabe053
sub dword [rdi + 0x20], 0x2f800bf0
lea rdi, [rbp - 0x1b]
xor eax, eax
mov ecx, 0x357a3f48
xor ecx, 0x6c48cff7
sub ecx, 0xb5769cc
xor ecx, 0x4ddb86f7
rep stosb byte [rdi], al
jmp 0x140073ee7
mov rbx, r15
lea rdi, [rbp - 0x1b]
xor eax, eax
mov ecx, 0x22ae7909
xor ecx, 0x411b7af9
sub ecx, 0x318c8c03
sub ecx, 0x322877e9
rep stosb byte [rdi], al
jmp 0x140073ee7
mov rdx, rdi
mov rcx, rbx
call fcn.1400734e0
mov rbx, rax
test rbx, rbx
je 0x140073a5e
mov rcx, rbx
call fcn.140073160
mov rbx, rax
test rax, rax
jne 0x14007399d
jmp 0x140073a5e
mov rax, rbx
jmp 0x140073a60