Function at 0x140059d60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140051260
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x60], 0
lea rax, [rbp + 0x60]
add rax, 8
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x68], 0
mov rcx, qword [rcx]
movabs rdx, 0x7413c423b5540fa4
movabs rax, 0x7413c423b5540fa6
xor rdx, rax
lea r8, [rbp + 0x58]
sub rsp, 0x20
call fcn.140052074
add rsp, 0x20
test al, 1
jne 0x140059df3
jmp 0x140059e05
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x14005a555
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x20], rax
movabs rcx, 0x55b319c2e8754585
movabs rdx, 0x55b319c2e8754585
xor rcx, rdx
cmp rax, rcx
jge 0x140059e51
mov rcx, qword [rbp + 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000f6ec
add rsp, 0x20
jmp 0x14005a555
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140028ad0
mov r9, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp], r8
mov rdx, r9
add rdx, 8
mov qword [rbp + 8], rdx
mov rdx, qword [r9 + 8]
mov r10, qword [rbp + 0x60]
mov qword [r9], r10
mov r10, qword [rbp + 0x68]
mov qword [r9 + 8], r10
mov qword [rbp + 0x60], r8
mov qword [rcx], rdx
add rax, 8
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x18]
mov qword [rbp - 8], rax
cmp rax, rcx
jge 0x14005a534
mov rcx, qword [rbp - 8]
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x60]
mov qword [rbp - 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140059f3e
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
movabs rax, 0xa84eb0e6a6335336
movabs r8, 0x57c9f43e4fde38b6
xor rax, r8
add rdx, rax
movabs rax, 0x34cc55ee6badc094
movabs r8, 0xcb33aa1194523f6b
xor rax, r8
add rdx, rax
movabs rax, 0xff8744d8e9ed6b80
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x14005a555
mov eax, dword [0x1401f3e50]
xor eax, 0xf9bc8b54
mov ecx, dword [0x1401f3e54]
xor ecx, 0x209d5324
xor edx, edx
div ecx
sub eax, 0x2a52473c
mov ecx, eax
xor ecx, 0x9c9d8ffb
xor ecx, 0xffffffff
mov edx, 0xb558c901
xor edx, 0x29c546fa
or eax, edx
and eax, ecx
mov ecx, 0xcf8fd805
xor ecx, 0x91383c52
xor eax, ecx
mov ecx, 0xf214ab0e
xor ecx, 0x5cbe9091
cmp eax, ecx
je 0x14005a55d
mov rcx, qword [rbp + 0x38]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp + 0x40]
mov r9d, dword [0x1401f3e58]
mov r11d, dword [0x1401f3e5c]
mov eax, r9d
not eax
mov r10d, r11d
and r10d, eax
mov esi, r11d
not esi
mov eax, r9d
and eax, esi
imul eax, r10d
mov r10d, r9d
and r10d, r11d
or r9d, r11d
imul r9d, r10d
add r9d, eax
mov eax, r9d
and eax, 0xb7bef86f
mov r10d, r9d
xor r10d, 0x48410790
add r9d, r10d
sub r9d, eax
mov r10d, r9d
not r10d
mov eax, r9d
and eax, 0x3dd13236
and r10d, 0xc22ecdc9
imul r10d, eax
mov eax, r9d
and eax, 0xc22ecdc9
or r9d, 0xc22ecdc9
imul r9d, eax
mov eax, r9d
mov r9d, r10d
lea eax, [rax + r9 - 0x2e35297b]
mov rdx, qword [rdx]
shl r8, 5
mov rdx, qword [rdx + r8 + 8]
mov qword [rbp - 0x20], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp - 0x12], cl
or cl, dl
mov byte [rbp - 0x11], cl
cmp eax, 0xdfffa5d0
je 0x140059f98
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14005a44d
jmp 0x14005a06d
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x38], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005a0e1
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x14005a555
mov eax, dword [0x1401f3e60]
mov r8d, dword [0x1401f3e64]
xor r8d, 0x7171cedd
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x6052905e
add eax, ecx
add eax, 0x2b8bf1a
sub eax, 0x875b03e6
sub eax, 0xea095a75
add eax, 0x875b03e6
cmp eax, 0xd5c6f93f
je 0x14005a566
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401f3e68]
imul eax, dword [0x1401f3e6c]
mov r8d, 0xaaa4ee0d
xor r8d, 0xaaa4ee0d
sub r8d, eax
xor eax, eax
sub eax, 0xef0a452c
add r8d, eax
mov eax, 0x32c4f90f
xor eax, 0x32c4f90f
sub eax, r8d
mov r8d, eax
xor r8d, 0x94fce67
mov r9d, 0xc6f503d8
xor r9d, 0x390afc27
xor r8d, r9d
or eax, 0x94fce67
and eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x3abfcd7b
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x3abfcd7b
or eax, 0x3abfcd7b
imul eax, r9d
add eax, r8d
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 5
add rcx, rdx
cmp qword [rcx], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xb84d87ec
je 0x14005a566
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14005a228
jmp 0x14005a1f9
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140052130
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x28], rax
je 0x14005a090
jmp 0x14005a555
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x14005a25b
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x14005a555
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140012dfb
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14005a2c4
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x14005a555
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14013d081
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa5
xor cl, 0xa5
cmp al, cl
jne 0x14005a555
mov eax, dword [0x1401f3e70]
or eax, dword [0x1401f3e74]
mov edx, 0x3aad1f10
xor edx, 0xa81aea2f
mov ecx, eax
and ecx, edx
mov edx, 0xa74d187d
xor edx, 0xa74d187f
imul ecx, edx
mov edx, 0xbfdff3d5
xor edx, 0x2d6806ea
xor eax, edx
add eax, ecx
add eax, 0x8218520e
mov edx, 0xa9026e4b
xor edx, 0xafd75a78
mov ecx, 0x7054a770
xor ecx, 0x8fab588f
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x453aadac
xor r8d, 0x43ef999f
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0xf8ced76f
ja 0x14005a56f
mov rax, qword [rbp - 0x38]
mov r10, qword [rbp - 0x20]
mov r9, qword [rbp - 0x68]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
mov r11, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x60]
mov edi, dword [0x1401f3e78]
add edi, dword [0x1401f3e7c]
xor edi, 0x9090d36e
add edi, 0x4c737a43
and edi, 0x50d74b1d
mov dword [rbp - 0x70], edi
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140059a10
mov rcx, qword [rbp + 0x38]
mov eax, dword [rbp - 0x70]
add rsp, 0x30
mov cl, byte [rcx]
mov dl, 0x41
xor dl, 0x41
cmp cl, dl
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x8c619ca8
jae 0x14005a56f
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14005a40e
jmp 0x14005a555
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x14005a46b
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14005a46b
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
jmp 0x14005a46b
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x12]
xor eax, eax
test dl, 1
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jne 0x14005a51b
jmp 0x14005a46b
mov r8, qword [rbp - 8]
movabs rax, 0xab67e6ec299877ea
movabs rcx, 0xab67e6ec299877ea
xor rax, rcx
movabs rcx, 0x62d079448e2ae7a3
movabs rdx, 0x62d079448e2ae7a2
xor rcx, rdx
sub rax, rcx
mov rcx, r8
sub rcx, rax
xor r8, 0xffffffffffffffff
movabs rax, 0x6a42d03db782e8a5
movabs rdx, 0x95bd2fc2487d175a
xor rax, rdx
mov rdx, rcx
xor rdx, rax
xor r8, 0xffffffffffffffff
mov rax, 0xffffffffffffffff
movabs r9, 0xc1384ea78db9378a
xor rax, r9
or rdx, r8
movabs r8, 0xc1384ea78db9378a
or rax, r8
xor rdx, 0xffffffffffffffff
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jge 0x14005a51b
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x14005a555
mov rax, qword [rbp - 0x80]
mov cl, byte [rbp - 0x71]
test cl, 1
mov qword [rbp + 0x18], rax
jne 0x140059eac
jmp 0x14005a555
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.140058960
add rsp, 0x20
lea rsp, [rbp + 0x70]
pop rdi
pop rsi
pop rbp
ret
sahf
wbinvd
in eax, dx
jmp 0x140059f98
std
cmp eax, 0xc2e9127b
sti
invalid
invalid