Function at 0x140073910
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
mov rbp, rsp
sub rsp, 0x70
movzx eax, byte [rcx]
mov rsi, rdx
mov rbx, rcx
cmp al, 0x2d
jne 0x14007393a
movzx eax, byte [rbx + 1]
inc rbx
movsx ecx, al
mov qword [rsp + 0x88], rdi
call fcn.140099f90
test eax, eax
je 0x140073985
cmp byte [rbx], 0x30
je 0x1400739af
movzx eax, byte [rbx]
test al, al
je 0x140073985
movsx ecx, al
call fcn.140099f90
test eax, eax
je 0x1400739a1
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x140073966
xor eax, eax
mov rdi, qword [rsp + 0x88]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
test rbx, rbx
je 0x140073985
jmp 0x1400739c3
movsx ecx, byte [rbx + 1]
inc rbx
call fcn.140099f90
test eax, eax
jne 0x140073985
mov dword [rsi + 0x20], 0x50214c92
sub dword [rsi + 0x20], 0x27801582
sub dword [rsi + 0x20], 0x28a1370c
movzx eax, byte [rbx]
cmp al, 0x2e
jne 0x140073a49
movsx ecx, byte [rbx + 1]
call fcn.140099f90
test eax, eax
je 0x140073985
movzx eax, byte [rbx + 2]
add rbx, 2
test al, al
je 0x140073985
movsx ecx, al
call fcn.140099f90
test eax, eax
je 0x140073a28
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x140073a04
jmp 0x140073985
test rbx, rbx
je 0x140073985
mov dword [rsi + 0x20], 0x62183f9f
xor dword [rsi + 0x20], 0xd962308
sub dword [rsi + 0x20], 0x6f8e1c92
movzx eax, byte [rbx]
xor edi, edi
cmp al, 0x65
je 0x140073a5f
movzx ecx, byte [rbx]
cmp cl, 0x45
jne 0x140073ae1
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x2d
je 0x140073a76
cmp al, 0x2b
jne 0x140073a7d
movzx eax, byte [rbx + 1]
inc rbx
movsx ecx, al
call fcn.140099f90
test eax, eax
je 0x140073985
movzx eax, byte [rbx + 1]
inc rbx
test al, al
je 0x140073abd
nop
movsx ecx, al
call fcn.140099f90
test eax, eax
je 0x140073ac0
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x140073a9e
mov rbx, rdi
test rbx, rbx
je 0x140073985
mov dword [rsi + 0x20], 0x4030737e
xor dword [rsi + 0x20], 0x5ff473a8
sub dword [rsi + 0x20], 0x1fc400d1
movzx ecx, byte [rbx]
call fcn.1400736b0
test al, al
je 0x140073985
cmp dword [rsi + 0x20], 4
jne 0x140073cc8
mov r8, qword [rsi + 0x10]
movdqa xmm0, xmmword [0x140003e00]
movdqu xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x40], 0xe89ed42
xor dword [rbp - 0x40], 0x65ca015d
xor dword [rbp - 0x40], 0x505e5d18
add dword [rbp - 0x40], 0x296eb770
movzx r9d, byte [r8]
mov qword [rbp + 0x10], rdi
mov rax, qword [rbp + 0x10]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x10]
mov edx, 0x12c0cf49
add edx, 0x275b5a76
add edx, 0x22a02683
mov rax, qword [rbp + 0x10]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rbp + rax - 0x50]
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, 0x14
jb 0x140073b39
movdqa xmm0, xmmword [0x140003df0]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0xc], dil
mov word [rbp - 0x40], 0x7f5b
sub word [rbp - 0x40], 0x3408
sub word [rbp - 0x40], 0xc42
add word [rbp - 0x40], 0x2169
mov byte [rbp - 0x3e], 0x4f
add byte [rbp - 0x3e], 0xa
xor byte [rbp - 0x3e], 0x42
xor byte [rbp - 0x3e], 0x90
mov qword [rbp + 0x10], rdi
mov rax, qword [rbp + 0x10]
nop dword [rax]
mov rcx, qword [rbp + 0x10]
mov edx, 0x20141ff5
xor edx, 0x1bf1550b
xor edx, 0x67591abc
mov rax, qword [rbp + 0x10]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rbp + rax - 0x50]
mov rax, qword [rbp + 0x10]
mov byte [rbp + rax - 0x38], dl
mov rax, qword [rbp + 0x10]
inc rax
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
cmp rax, 0x13
jb 0x140073bc7
cmp r9b, 0x2d
mov byte [rbp - 0x25], dil
mov eax, ebx
sete dil
sub eax, r8d
nop
sub edi, 0x6d684cd6
add edi, 0x6d684ce9
cmp eax, edi
ja 0x140073cd5
jne 0x140073c8c
movzx edi, byte [rbx]
lea rax, [rbp - 0x38]
cmp r9b, 0x2d
pushf
mov byte [rbx], 0x2a
add byte [rbx], 8
add byte [rbx], 0x38
xor byte [rbx], 0x6a
popf
lea rcx, [rbp - 0x20]
cmove rax, rcx
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140073c81
inc rax
test ecx, ecx
jne 0x140073c66
test edx, edx
js 0x140073cd5
mov byte [rbx], dil
xor eax, eax
lea rdi, [rbp - 0x38]
mov ecx, 0x3e4860a1
xor ecx, 0x2ecbcff0
add ecx, 0x3665d665
sub ecx, 0x46e985a3
rep stosb byte [rdi], al
lea rdi, [rbp - 0x20]
mov ecx, 0x2ccc5d07
add ecx, 0x3e6e0087
sub ecx, 0x3d62a86
sub ecx, 0x676432f4
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.1400744b0
jmp 0x140073987
xor eax, eax
lea rdi, [rbp - 0x38]
mov ecx, 0x487ecff
add ecx, 0x3f86eda8
sub ecx, 0x1f5f7bf9
sub ecx, 0x24af5e9b
rep stosb byte [rdi], al
lea rdi, [rbp - 0x20]
mov ecx, 0x26324c9e
add ecx, 0x5976d17d
xor ecx, 0x7fa91e0f
rep stosb byte [rdi], al
jmp 0x140073987