Function at 0x140058da8
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
lea rbp, [rsp + 0x20]
mov rax, qword [0x14021c510]
xor rax, rbp
mov qword [rbp + 0x18], rax
mov ebx, dword [rcx + 8]
mov r15, r8
mov r8d, edx
movsxd r14, r9d
mov eax, ebx
mov rsi, rcx
neg eax
mov r9d, r14d
mov eax, 0x8000
sbb dx, dx
xor edi, edi
not dx
and dx, 0x80
or dx, ax
cmp dword [rcx + 0x10], edi
je 0x140058e02
mov dword [rcx + 0x10], edi
xor r8d, r8d
lea rcx, [rbp + 8]
call fcn.1400897ac
mov r12d, eax
test ebx, ebx
jne 0x140058f42
lea eax, [r14 + 4]
add eax, r12d
movsxd rdx, eax
mov dword [rbp], eax
lea rax, [rdx + 0x38]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140058e3a
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140168660
sub rsp, rcx
mov ebx, 1
mov r9d, ebx
lea rcx, [rsp + 0x20]
lea r8d, [rbx + 7]
call fcn.140073060
mov r13, rax
movsxd r12, r12d
add rax, 8
lea r8, [rbp + 8]
mov r9, r12
mov rdx, r12
mov rcx, r13
mov qword [r13], rax
call section..text
lea edx, [rbx + 3]
lea rcx, [r12 + r13]
call fcn.1400ab9d0
lea r10, [r12 + r13]
mov r11d, dword [r10]
test r14d, r14d
jle 0x140058f14
mov rcx, r14
mov edx, edi
sar rcx, 2
mov r8, r14
test rcx, rcx
jle 0x140058ecd
mov r10, r12
mov r9, r15
sub r10, r15
mov edx, ecx
add r10, r13
mov eax, dword [r9]
lea r9, [r9 + 4]
xor eax, r11d
mov dword [r10 + r9], eax
sub rcx, rbx
jne 0x140058eb6
lea r10, [r12 + r13]
shl edx, 2
movsxd rcx, edx
cmp rcx, r8
jge 0x140058f14
sub r15, r12
lea rax, [rcx + r12]
lea r9, [r13 + 4]
sub r15, r13
add r9, rax
sub r8, rcx
mov eax, edx
and eax, 0x80000003
jge 0x140058efc
sub eax, ebx
or eax, 0xfffffffc
add eax, ebx
cdqe
add edx, ebx
mov cl, byte [rax + r10]
xor cl, byte [r15 + r9 - 4]
mov byte [r9], cl
add r9, rbx
sub r8, rbx
jne 0x140058eec
mov rcx, qword [rsi + 0x48]
call fcn.140073198
test eax, eax
je 0x140058fd5
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x140058f33
mov rcx, qword [rax]
jmp 0x140058f36
mov rcx, rdi
mov r9d, dword [rbp]
mov r8, r13
jmp 0x140058fc5
mov rcx, qword [rsi]
call fcn.140079008
test eax, eax
je 0x140058fe0
mov rcx, qword [rsi + 0x48]
call fcn.140073198
test r14d, r14d
jle 0x140058fa9
test eax, eax
je 0x140058f83
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x140058f72
mov rcx, qword [rax]
jmp 0x140058f75
mov rcx, rdi
mov r9d, r12d
lea r8, [rbp + 8]
xor edx, edx
call fcn.140064538
mov rcx, qword [rsi + 0x48]
call fcn.140073198
test eax, eax
je 0x140058fd0
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x140058f9e
mov rcx, qword [rax]
jmp 0x140058fa1
mov rcx, rdi
mov r9d, r14d
mov r8, r15
jmp 0x140058fc5
test eax, eax
je 0x140058fd0
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x140058fbb
mov rcx, qword [rax]
jmp 0x140058fbe
mov rcx, rdi
mov r9d, r12d
lea r8, [rbp + 8]
xor edx, edx
call fcn.140064538
mov ebx, eax
jmp 0x140058fd5
mov ebx, 1
test ebx, ebx
sete dil
jmp 0x14005906e
lea eax, [r14 + r12]
movsxd rbx, eax
lea rcx, [rbx + 0x18]
call fcn.1401707f0
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.140073060
movsxd rbx, r12d
lea r8, [rbp + 8]
mov r9, rbx
mov rdx, rbx
mov rcx, rax
mov r13, rax
call section..text
mov rdx, r14
lea rcx, [rbx + r13]
mov r9, r14
mov r8, r15
call section..text
mov rcx, qword [rsi + 0x48]
call fcn.140073198
test eax, eax
je 0x14005905b
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x140059046
mov rcx, qword [rax]
jmp 0x140059049
mov rcx, rdi
lea r9d, [r14 + r12]
mov r8, r13
xor edx, edx
call fcn.140064538
mov ebx, eax
jmp 0x140059060
mov ebx, 1
test ebx, ebx
mov rcx, r13
sete dil
call fcn.140073148
mov eax, edi
mov rcx, qword [rbp + 0x18]
xor rcx, rbp
call fcn.140168070
lea rsp, [rbp + 0x28]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret