Function at 0x140092f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r14d, dword [rdx]
lea rsi, str.e6lM
mov ebx, dword [rdx + 4]
mov r13, rcx
mov r15d, dword [rdx + 8]
xor edi, edi
mov ebp, dword [rdx + 0xc]
bswap r14d
bswap ebx
bswap r15d
bswap ebp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rsi - 1]
mov edx, r15d
xor r14d, eax
xor edx, r14d
mov ecx, edx
mov eax, edx
rol eax, 8
ror ecx, 8
xor ecx, eax
xor edx, ecx
xor ebx, edx
xor ebp, edx
mov edx, ebp
rol ebp, 2
xor edx, ebx
mov r8d, ebp
mov ecx, edx
rol ebx, 1
ror ecx, 8
mov eax, edx
rol eax, 8
xor ecx, eax
mov eax, ebp
xor edx, ecx
mov ecx, edx
xor ecx, r15d
rol ecx, 5
or eax, ecx
mov r10d, ecx
not eax
xor ebx, eax
and r10d, ebx
xor r10d, edx
xor r10d, r14d
xor r8d, r10d
mov eax, r10d
xor r8d, ecx
ror r10d, 2
xor r8d, ebx
or eax, r8d
mov r9d, r8d
not eax
ror r8d, 5
xor ebx, eax
mov edx, r8d
movzx eax, byte [rdi + rsi]
and r9d, ebx
ror ebx, 1
xor r9d, ebp
xor r9d, eax
xor edx, r9d
mov ecx, edx
mov eax, edx
ror ecx, 8
rol eax, 8
xor ecx, eax
xor edx, ecx
xor ebx, edx
xor r10d, edx
mov edx, r10d
rol r10d, 2
xor edx, ebx
rol ebx, 1
mov ecx, edx
mov eax, edx
ror ecx, 8
rol eax, 8
xor ecx, eax
mov eax, r10d
xor edx, ecx
mov ecx, edx
xor ecx, r8d
mov r8d, r10d
rol ecx, 5
or eax, ecx
mov r11d, ecx
not eax
xor ebx, eax
and r11d, ebx
xor r11d, edx
xor r11d, r9d
xor r8d, r11d
mov eax, r11d
xor r8d, ecx
ror r11d, 2
xor r8d, ebx
or eax, r8d
mov r9d, r8d
not eax
ror r8d, 5
xor ebx, eax
mov edx, r8d
movzx eax, byte [rdi + rsi + 1]
and r9d, ebx
xor r9d, r10d
ror ebx, 1
xor r9d, eax
xor edx, r9d
mov ecx, edx
mov eax, edx
ror ecx, 8
rol eax, 8
xor ecx, eax
xor edx, ecx
xor ebx, edx
xor r11d, edx
mov edx, r11d
rol r11d, 2
xor edx, ebx
rol ebx, 1
mov ecx, edx
mov eax, edx
rol eax, 8
ror ecx, 8
xor ecx, eax
mov eax, r11d
xor edx, ecx
mov ecx, edx
xor ecx, r8d
mov r8d, r11d
rol ecx, 5
or eax, ecx
mov r10d, ecx
not eax
xor ebx, eax
and r10d, ebx
xor r10d, edx
xor r10d, r9d
xor r8d, r10d
mov eax, r10d
xor r8d, ecx
ror r10d, 2
xor r8d, ebx
or eax, r8d
mov r9d, r8d
not eax
ror r8d, 5
xor ebx, eax
mov edx, r8d
movzx eax, byte [rdi + rsi + 2]
and r9d, ebx
xor r9d, r11d
ror ebx, 1
xor r9d, eax
xor edx, r9d
mov ecx, edx
mov eax, edx
ror ecx, 8
rol eax, 8
xor ecx, eax
xor edx, ecx
xor r10d, edx
xor ebx, edx
mov edx, r10d
xor edx, ebx
mov ecx, edx
mov eax, edx
ror ecx, 8
rol eax, 8
xor ecx, eax
xor edx, ecx
mov ecx, edx
rol r10d, 2
xor ecx, r8d
rol ecx, 5
mov eax, r10d
or eax, ecx
rol ebx, 1
not eax
mov ebp, ecx
xor ebx, eax
mov r15d, r10d
and ebp, ebx
add rdi, 4
xor ebp, edx
xor ebp, r9d
xor r15d, ebp
mov eax, ebp
xor r15d, ecx
ror ebp, 2
xor r15d, ebx
or eax, r15d
mov r14d, r15d
not eax
ror r15d, 5
xor ebx, eax
and r14d, ebx
ror ebx, 1
xor r14d, r10d
cmp rdi, 0x10
jne 0x140092f50
lea edx, [rdi - 0xc]
xor r14d, 0xd4
lea rcx, [r13 + 0x20]
call fcn.140050720
mov rax, qword [r13 + 0x20]
lea edx, [rdi - 0xc]
mov r8d, r15d
xor r8d, r14d
mov ecx, r8d
mov dword [rax], r14d
mov rax, qword [r13 + 0x20]
ror ecx, 8
mov dword [rax + 4], ebx
mov rax, qword [r13 + 0x20]
mov dword [rax + 8], r15d
mov rax, qword [r13 + 0x20]
mov dword [rax + 0xc], ebp
mov eax, r8d
rol eax, 8
xor ecx, eax
xor r8d, ecx
xor ebp, r8d
xor ebx, r8d
mov esi, ebp
xor esi, ebx
mov ecx, esi
mov eax, esi
ror ecx, 8
rol eax, 8
xor ecx, eax
xor esi, ecx
lea rcx, [r13 + 8]
call fcn.140050720
mov rax, qword [r13 + 8]
mov ecx, esi
mov rdi, qword [rsp + 0x58]
xor ecx, r14d
xor esi, r15d
mov dword [rax], ecx
mov rax, qword [r13 + 8]
mov dword [rax + 4], ebx
mov rax, qword [r13 + 8]
mov rbx, qword [rsp + 0x40]
mov dword [rax + 8], esi
mov rax, qword [r13 + 8]
mov rsi, qword [rsp + 0x50]
mov dword [rax + 0xc], ebp
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop r13
ret