Function at 0x140051810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1401eb040]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rcx
mov r14, qword [rcx]
lea rax, [rbp + 0xf]
mov qword [rbp + 0x2f], rax
mov rax, qword [rcx + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x36e0]
lea rcx, [rbp + 0xf]
call fcn.140071d80
mov rbx, rax
mov qword [rbp + 7], rax
movdqa xmm0, xmmword [0x1401cec10]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401cf2d0]
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0x72656761
mov byte [rbp - 0x25], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004f8c0
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14004db40
nop
mov rcx, rbx
call fcn.140011ad0
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov r14, qword [rsi]
lea rax, [rbp + 0xf]
mov qword [rbp + 7], rax
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x36e8]
lea rcx, [rbp + 0xf]
call fcn.140071d80
mov rbx, rax
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [0x1401cebf0]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401ce9b0]
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0x67616e61
mov word [rbp - 0x25], 0x7265
mov byte [rbp - 0x23], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004f970
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14004db40
nop
mov rcx, rbx
call fcn.140011ad0
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov r14, qword [rsi]
lea rax, [rbp + 0xf]
mov qword [rbp + 7], rax
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x38a8]
lea rcx, [rbp + 0xf]
call fcn.140071d80
mov rbx, rax
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [0x1401cec00]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401cf580]
movdqu xmmword [rbp - 0x39], xmm1
mov word [rbp - 0x29], 0x74
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x14004fa11
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14004db40
nop
mov rcx, rbx
call fcn.140011ad0
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov r14, qword [rsi]
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
mov r15d, dword [rcx + 0x36fc]
movdqa xmm0, xmmword [0x1401cdd50]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401cdde0]
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0xa060547
mov dword [rbp - 0x25], 0x5390508
mov dword [rbp - 0x21], 0x1b0c1008
mov word [rbp - 0x1d], 0xd20
mov byte [rbp - 0x1b], 0
xor ebx, ebx
mov ecx, ebx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x48], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x47], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x46], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x45], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x44], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x43], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x42], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x41], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x40], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3f], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3e], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3d], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3c], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3b], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rcx - 0x3a], al
add rcx, 0xf
cmp rcx, 0x2d
jb 0x14004fab0
mov byte [rbp - 0x1b], bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], bl
jne 0x14004fb50
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov dword [rbp + 0x2f], r15d
xor r9d, r9d
lea r8, [rbp + 0x2f]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14004d650
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov r15, qword [rsi]
lea rax, [rbp + 0xf]
mov qword [rbp + 7], rax
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x3828]
lea rcx, [rbp + 0xf]
call fcn.140071d80
mov r14, rax
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [0x1401cebe0]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401ced20]
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0x74707972
mov word [rbp - 0x25], 0x6465
mov byte [rbp - 0x23], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x14004fbf2
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, r14
lea rdx, [rbp - 0x19]
mov rcx, r15
call fcn.14004db40
nop
mov rcx, r14
call fcn.140011ad0
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov r14, qword [rsi]
lea rax, [rbp + 0xf]
mov qword [rbp + 7], rax
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x38a0]
lea rcx, [rbp + 0xf]
call fcn.140071d80
mov rsi, rax
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [0x1401cdd80]
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x1401cdd90]
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0x1517111e
mov dword [rbp - 0x25], 0x131e3502
mov dword [rbp - 0x21], 0x4000902
mov word [rbp - 0x1d], 0x1415
mov byte [rbp - 0x1b], 0
nop word [rax + rax]
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x48], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x47], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x46], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x45], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x44], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x43], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x42], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x41], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x40], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3f], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3e], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3d], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3c], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3b], al
movzx eax, byte [rbp - 0x49]
xor byte [rbp + rbx - 0x3a], al
add rbx, 0xf
cmp rbx, 0x2d
jb 0x14004fca0
mov byte [rbp - 0x1b], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x48]
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x14004fd40
mov r8, rdi
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x19]
call fcn.1400126a0
nop
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rsi
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14004db40
nop
mov rcx, rsi
call fcn.140011ad0
nop
lea rcx, [rbp - 0x19]
call fcn.140011ad0
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14016ff10
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
add rcx, 8
jmp 0x14004f820