Function at 0x14005f340
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xa8], r8
mov word [rsp + 0xbe], dx
mov qword [rsp + 0xb0], rcx
call fcn.14004e8b3
mov qword [rsp + 0xc0], rax
call fcn.14004e8b3
mov dx, word [rsp + 0xbe]
movzx eax, dx
mov ecx, eax
call fcn.140064006
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0xd0], rax
jne 0x14005f87e
mov ecx, dword [0x140252ca0]
mov edx, dword [0x140252ca4]
mov eax, ecx
or eax, edx
mov r8d, 0x6f9e19b8
xor r8d, 0x9061e647
xor eax, r8d
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0x5f0643ae
xor edx, 0xa0f9bc51
mov ecx, eax
xor ecx, edx
and ecx, 0xf9c0c092
mov edx, 0xffffffff
xor edx, 0xf9c0c092
and eax, edx
sub eax, ecx
mov edx, 0x7f6dc10b
xor edx, 0x6b02e06d
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x146f2166
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0x25ede54
cmp eax, 0x3965ec0e
jb 0x14005f88e
mov rcx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc8]
mov eax, dword [0x140252ca8]
mov edx, 0xf1f486ce
xor edx, 0x6fa5d7a7
xor eax, edx
mov r9d, dword [0x140252cac]
mov edx, eax
xor edx, r9d
xor r9d, 0xffffffff
and eax, r9d
shl eax, 1
sub eax, edx
sub eax, 0x2d8a812e
sub eax, 0x49c433bf
add eax, 0x2d8a812e
mov r9d, 0xf16f67dc
xor r9d, 0xa5bd993d
xor edx, edx
div r9d
mov rdx, qword [rsp + 0xa8]
mov r10d, 0x38da00ff
xor r10d, 0xc725ff00
mov r9d, eax
xor r9d, r10d
and r9d, 0x7c927691
mov r10d, 0xffffffff
xor r10d, 0x7c927691
and eax, r10d
sub eax, r9d
mov r9d, 0x34672089
cmp r8, 0
cmove r8, r9
mov qword [rsp + 0x90], r8
mov qword [rdx], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x98], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0xa7], cl
cmp eax, 0xe2d43ddc
jae 0x14005f428
mov cl, byte [rsp + 0xa7]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0xd0], rax
jne 0x14005f87e
jmp 0x14005f51a
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
add rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0xb3b000bb13e9c736
xor r8, r9
or rcx, rdx
movabs rdx, 0x71b145c6d835d97f
movabs r9, 0xc201457dcbdc1e49
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov eax, dword [0x140252cb0]
mov ecx, dword [0x140252cb4]
xor ecx, 0x99a191c4
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x1f72a750
sub eax, ecx
add eax, 0x71f3a528
mov ecx, 0xa99ca162
xor ecx, 0x6d1f1b2e
xor edx, edx
div ecx
cmp eax, 0xf5d736c7
jae 0x14005f897
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xb0]
mov ecx, dword [0x140252cb8]
mov eax, dword [0x140252cbc]
xor eax, ecx
xor eax, 0x4b9f6fdd
and eax, ecx
add eax, 0x55e650a7
mov ecx, eax
and ecx, 0xd6c8c48
add ecx, ecx
sub eax, ecx
add eax, 0xd6c8c48
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x58], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x67], cl
cmp eax, 0x278067e4
jbe 0x14005f5ea
mov al, byte [rsp + 0x67]
test al, 1
jne 0x14005f72a
jmp 0x14005f658
mov ecx, dword [0x140252cc0]
mov edx, dword [0x140252cc4]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x7b77bf7b
xor ecx, 0x1921cce2
sub eax, ecx
add eax, 0xb63fe45d
mov ecx, 0xab48998b
xor ecx, 0xad8dd4ae
add eax, ecx
sub eax, 0xb63fe45d
mov ecx, 0xd8787273
xor edx, edx
div ecx
cmp eax, 0xe1da89f6
je 0x14005f8a0
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140252cc8]
xor eax, 0xd6cb51bf
xor edx, edx
div dword [0x140252ccc]
mov rdx, qword [rsp + 0x58]
xor eax, 0x53e79e3e
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x4bcf1ab0
mov r9d, 0xe6a821e5
xor r9d, 0xad673b55
mov r10d, 0x6d62aaca
xor r10d, 0x929d5535
xor r9d, r10d
and eax, r9d
sub eax, r8d
xor eax, 0x51594d8c
mov dword [rsp + 0x54], eax
add rdx, 0xffffffffffffffff
call fcn.140013507
mov eax, dword [rsp + 0x54]
cmp eax, 0x7aba9eb2
jae 0x14005f8a0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rax
jmp 0x14005f87e
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x14005f857
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
cmp rax, qword [rcx]
jne 0x14005f7b1
mov rcx, qword [rsp + 0x70]
mov r8w, word [rsp + 0xbe]
mov rdx, qword [rsp + 0x40]
add rdx, 8
mov rax, rcx
shl rax, 5
add rdx, rax
add rdx, 8
xor eax, eax
cmp word [rdx], r8w
mov rdx, rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x3f], al
je 0x14005f820
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
movabs rax, 0x68aa3a85a97d86ed
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xe4dc2a896dc871a
movabs r8, 0x66e7f82d3fa101f7
xor rax, r8
sub rdx, rax
call fcn.14004fa4c
mov r8, qword [rsp + 0xc0]
mov rdx, rax
mov rax, qword [rsp + 0x68]
mov cl, 1
cmp byte [r8], 0
mov qword [rsp + 0x28], rdx
mov rdx, rax
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x3f], cl
mov qword [rsp + 0xd0], rax
jne 0x14005f87e
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
and al, 0x30
mov dl, byte [rsp + 0x3f]
test dl, 1
mov qword [rsp + 0x80], rcx
mov rcx, rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xd0], rax
jne 0x14005f591
jmp 0x14005f87e
mov rax, qword [rsp + 0x70]
movabs rcx, 0x4a04aaac4c46e361
movabs rdx, 0xb5fb5553b3b91c9e
xor rcx, rdx
xor rax, rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xd8
ret
loope 0x14005f828
invalid
outsb dx, byte [rsi]
sub dword [rbp + riz*8 - 0x17], edx
std
invalid
dec byte [rdi - 0x4164803]
std
invalid