Function at 0x140058df0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x128
mov qword [rsp + 0xd8], rcx
call fcn.1400476b5
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x118], 0
lea rax, [rsp + 0x118]
add rax, 8
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x120], 0
mov rcx, qword [rcx]
mov edx, 2
lea r8, [rsp + 0x110]
call fcn.14004847c
test al, 1
jne 0x140058e62
jmp 0x140058e6c
call fcn.1400077a3
jmp 0x14005942b
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xd0], rax
cmp rax, 0
jge 0x140058ea6
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d167
jmp 0x14005942b
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x118]
call fcn.140027a50
mov r8, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [r8]
mov qword [rsp + 0xb0], rdx
mov rcx, r8
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rsp + 0x118]
mov qword [r8], r9
mov r9, qword [rsp + 0x120]
mov qword [r8 + 8], r9
mov qword [rsp + 0x118], rdx
mov qword [rax], rcx
lea rax, [rsp + 0x100]
add rax, 8
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
cmp rax, rcx
jge 0x1400593fe
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
setns al
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0xa0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140058fbd
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
movabs rax, 0x1f3cc3e106cd0aae
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x9c4f8d08009de9c6
movabs r8, 0x83734ee90650e368
xor rax, r8
add rdx, rax
call fcn.140013580
jmp 0x14005942b
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rsp + 0x90], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0x9f], al
or al, cl
test al, 1
jne 0x140059324
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
sub rax, rdx
and rax, rcx
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x78], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x80], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005909d
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140013580
jmp 0x14005942b
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140059110
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
movabs rax, 0x4bbad975ebd5dcf8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x4bbad975ebd5dcf8
add rdx, rax
call fcn.140048560
mov rcx, qword [rsp + 0xe0]
cmp byte [rcx], 0
mov qword [rsp + 0x88], rax
je 0x140059038
jmp 0x14005942b
mov eax, dword [0x1401d7840]
mov ecx, dword [0x1401d7844]
sub eax, 0xc2804980
add eax, ecx
add eax, 0xc2804980
mov ecx, 0xd0942049
xor ecx, 0xd3800c3c
add eax, ecx
mov ecx, 0x201a9bb8
xor ecx, 0xd858bb77
sub eax, ecx
sub eax, 0x9222e21c
add eax, 0x2228b2cd
add eax, 0x9222e21c
cmp eax, 0x54de1c94
je 0x14005951f
mov rcx, qword [rsp + 0xa8]
mov eax, dword [str.I__f]
mov edx, dword [0x1401d784c]
xor edx, 0xb94f9f2a
and eax, edx
xor eax, 0x2a0d6f56
or eax, 0xae2d0e06
mov r8d, 0x6b81e8af
xor r8d, 0xa5e76712
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x68], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x77], cl
cmp eax, 0xa9a322b9
jae 0x14005915c
mov al, byte [rsp + 0x77]
test al, 1
jne 0x140059209
jmp 0x1400591c7
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
movabs rax, 0x162c4574482b7a7f
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x99a95fccde4fbaeb
movabs r8, 0x8f851ab89664c094
xor rax, r8
sub rdx, rax
call fcn.140013580
jmp 0x14005942b
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov ax, word [rcx]
mov word [rsp + 0x5e], ax
call fcn.140027d0b
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x60], rcx
cmp rax, rcx
jl 0x140059287
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
movabs rax, 0x8fe9cb5b2672322b
movabs r8, 0x701634a4d98dcdd4
xor rax, r8
add rdx, rax
call fcn.140013580
jmp 0x14005942b
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x50], rax
call fcn.140010510
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd8]
mov r8w, word [rsp + 0x5e]
mov r10, qword [rsp + 0x90]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x100], r11
mov qword [rcx], r9
lea r9, [rsp + 0x100]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140058cb0
mov rax, qword [rsp + 0xe0]
cmp byte [rax], 0
je 0x14005934c
jmp 0x14005942b
mov rcx, qword [rsp + 0xa8]
mov dl, byte [rsp + 0x9f]
xor eax, eax
test dl, 1
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x47], al
jne 0x1400593df
jmp 0x14005934c
mov rdx, qword [rsp + 0xa8]
xor eax, eax
sub rax, 1
mov rcx, rdx
sub rcx, rax
movabs r8, 0xadae134d0dffb0f1
movabs rax, 0x5251ecb2f2004f0e
xor r8, rax
mov rax, rdx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
and rax, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
or rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rax, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x47], al
jge 0x1400593df
call fcn.1400077a3
jmp 0x14005942b
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0xc8], rax
jne 0x140058f29
jmp 0x14005942b
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xf0]
call fcn.140049b70
mov r8d, dword [0x1401d7850]
xor r8d, 0x338d0f6a
imul r8d, dword [0x1401d7854]
sub r8d, 0x4231bcbd
add r8d, 0x506888d8
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xe9cf7074
mov edx, 0xbb9d815d
xor edx, 0x5252f129
mov ecx, 0x299ae330
xor ecx, 0xd6651ccf
xor edx, ecx
and r8d, edx
mov ecx, 0x3c8860cc
xor ecx, 0x66f29afd
mov r9d, 0x754de4d4
xor r9d, 0x8ab21b2b
xor ecx, r9d
and ecx, 0xe9cf7074
and edx, 0x5a7afa31
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x2a7a2ce
jbe 0x140059528
mov eax, dword [0x1401d7858]
mov edx, dword [0x1401d785c]
xor edx, 0x26010bb9
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov edx, 0x94f06f96
xor edx, 0x94f06f97
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x6cac7b2f
add eax, ecx
mov ecx, eax
and ecx, 0x1c735cb6
shl ecx, 1
xor eax, 0x1c735cb6
add eax, ecx
mov ecx, 0xe5b06237
xor ecx, 0x9f9ba295
and eax, ecx
mov ecx, 0x97814f88
xor ecx, 0x88eede50
cmp eax, ecx
je 0x140059528
add rsp, 0x128
ret
adc al, 0x6a
and dword [rsi], ebp
jmp 0x14005915c
or al, 0xff
sbb ebx, dword [rdx - 0x8217]
jmp qword [rsi + 0x66]