Function at 0x140058960
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x80
mov qword [rsp + 0x60], rcx
call fcn.140051260
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
add rcx, 8
mov qword [rsp + 0x70], rcx
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov r11d, dword [0x1401f3df0]
mov eax, dword [0x1401f3df4]
xor eax, 0xc6d2c991
sub r11d, 0xc7d8d576
sub r11d, eax
mov eax, 0x41a9ed98
xor eax, 0x867138ee
add r11d, eax
sub r11d, 0xa8b4eeea
mov eax, 0x29a16223
xor eax, 0x993fea3b
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x262cede1
mov edx, 0xffffffff
xor edx, 0x2ddde6d7
mov r9d, 0xacc5bb37
xor r9d, 0x81185de0
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x2ddde6d7
mov r10d, edx
and r10d, 0x262cede1
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x2ddde6d7
and ecx, edx
or eax, ecx
cmp eax, 0x362abbbf
jbe 0x140058e30
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov eax, dword [0x1401f3df8]
xor eax, 0x663449d3
mov r11d, dword [0x1401f3dfc]
xor r11d, 0x180f549e
mov r10d, 0x3946e201
xor r10d, 0xc6b91dfe
mov r9d, eax
xor r9d, r10d
mov r10d, r11d
and r10d, r9d
mov esi, r11d
xor esi, 0xffffffff
mov r9d, eax
and r9d, esi
imul r9d, r10d
mov r10d, eax
and r10d, r11d
or eax, r11d
imul eax, r10d
add eax, r9d
mov r11d, 0xffffffff
xor r11d, 0xb6e813e4
mov r10d, eax
and r10d, r11d
mov r9d, eax
or r9d, r11d
xor r9d, 0xffffffff
imul r9d, r10d
mov r11d, 0x8e4ab752
xor r11d, 0x38a2a4b6
mov r10d, eax
and r10d, r11d
or eax, 0xb6e813e4
imul eax, r10d
add eax, r9d
mov r9d, 0xcb604c62
xor r9d, 0x2644cb5f
sub eax, r9d
mov r9d, eax
and r9d, 0x30185b05
shl r9d, 1
xor eax, 0x30185b05
add eax, r9d
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x4f], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp eax, 0x30668b0f
je 0x140058e30
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140058b33
jmp 0x140058d81
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rcx, 0
mov qword [rsp + 0x40], rax
je 0x140058cd3
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xe5936015a1fa996
movabs r8, 0x4e5936015a1fa996
xor rdx, r8
movabs r8, 0x9054052fd8a8a362
movabs r9, 0xd054052fd8a8a362
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x40], rax
jne 0x140058cd3
mov ecx, dword [0x1401f3e00]
mov edx, dword [0x1401f3e04]
xor edx, 0x41ce6351
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xe8c7f316
xor ecx, 0xd39c32
sub eax, ecx
mov ecx, 0x4f28d9dc
xor ecx, 0xb0d72623
mov edx, eax
xor edx, ecx
and edx, 0x8486292c
mov r8d, 0xffffffff
xor r8d, 0x8486292c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8486292c
or eax, 0x8486292c
imul eax, edx
add eax, ecx
mov ecx, 0xf7454a47
xor edx, edx
div ecx
cmp eax, 0x5a8afd26
ja 0x140058e39
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f3e08]
mov edx, dword [0x1401f3e0c]
sub eax, 0x3f782229
add eax, edx
add eax, 0x3f782229
mov edx, eax
xor edx, 0x7217c544
mov r8d, 0xffffffff
xor r8d, 0x7217c544
and eax, r8d
shl eax, 1
sub eax, edx
mov edx, 0x66d2b539
xor edx, 0x5fe5e724
imul eax, edx
sub eax, 0xaddabb31
mov dword [rsp + 0x2c], eax
call fcn.140011305
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp eax, 0x4c5d4681
ja 0x140058c52
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
jmp 0x140058cd3
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
mov rdx, qword [0x1402085f0]
call fcn.140058e4b
test al, 1
jne 0x140058d08
jmp 0x140058d69
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
call fcn.14013c780
mov rax, qword [rsp + 0x68]
mov al, byte [rax]
mov cl, 0x94
xor cl, 0x94
cmp al, cl
jne 0x140058db1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
mov edx, 8
call fcn.140011370
mov rax, qword [rsp + 0x58]
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x14005898c
mov rax, qword [rsp + 0x50]
cmp rax, 0
je 0x140058db1
mov rcx, qword [rsp + 0x50]
movabs rdx, 0xecc9e2a4b287138d
movabs rax, 0xecc9e2a4b2871385
xor rdx, rax
call fcn.14001130a
mov eax, dword [0x1401f3e10]
mov ecx, dword [0x1401f3e14]
xor ecx, 0x29877fbf
xor eax, ecx
mov ecx, 0x9a28b3c1
xor ecx, 0x71ed1bff
and eax, ecx
and eax, 0xaa43b98e
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x706f9ebe
mov edx, 0xffffffff
xor edx, 0x706f9ebe
and eax, edx
sub eax, ecx
cmp eax, 0x6ff5ac1e
jbe 0x140058e42
mov eax, dword [0x1401f3e18]
xor eax, 0x3883f5f8
sub eax, dword [0x1401f3e1c]
xor eax, 0xa94c6630
xor eax, 0x14d86a7b
and eax, 0x2abbd346
cmp eax, 0x76393817
ja 0x140058dfc
add rsp, 0x80
pop rsi
ret
scasd eax, dword [rdi]
cmp ebx, dword [rbx - 0x3fa16e7]
invalid
sahf
jmp 0x140058c52
stosb byte [rdi], al
fnsave dword fs:[rcx - 0x4e17]
dec dword [rax - 0x7d]
sub rsp, 0x68
mov qword [rsp + 0x50], rdx