Function at 0x14005dc10
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xb0], r8
mov word [rsp + 0xc6], dx
mov qword [rsp + 0xb8], rcx
call fcn.14004c253
mov qword [rsp + 0xc8], rax
call fcn.14004c253
mov dx, word [rsp + 0xc6]
movzx eax, dx
mov ecx, eax
call fcn.140062bd4
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xd0], rcx
cmp byte [rax], 0
jne 0x14005e28a
mov eax, dword [0x1401ddb90]
mov ecx, dword [0x1401ddb94]
xor ecx, 0xa5af5843
mov edx, 0x8a5ac81b
xor edx, 0xa3c0f097
add eax, edx
add eax, ecx
sub eax, 0x299a388c
mov edx, eax
xor edx, 0xffffffff
and edx, 0x633fae3c
mov r8d, 0x24981896
xor r8d, 0x47a7b6aa
mov ecx, 0xd370c4bb
xor ecx, 0x2c8f3b44
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x633fae3c
or eax, 0x633fae3c
imul eax, edx
add eax, ecx
mov ecx, 0x7852a350
xor edx, edx
div ecx
mov ecx, 0x20f6a586
xor edx, edx
div ecx
cmp eax, 0x311f8fa5
ja 0x14005e29a
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xd0]
mov eax, dword [0x1401ddb98]
xor eax, 0x82552277
and eax, dword [0x1401ddb9c]
mov ecx, 0x2f99b8a3
xor ecx, 0x2f99b8a3
mov r10d, 0x285f94b2
xor r10d, 0xace33976
sub ecx, r10d
sub eax, ecx
mov ecx, 0xd16d428f
xor ecx, 0x1ee4db13
sub eax, ecx
sub eax, 0xb2d7c133
mov ecx, 0x255baa77
xor ecx, 0x506c117d
movabs r10, 0xe2ee731d71d7567a
movabs r11, 0xe2ee731d0abd96c1
xor r10, r11
cmp r9, 0
cmove r9, r10
mov qword [rsp + 0x98], r9
mov qword [r8], r9
mov rdx, qword [rdx]
mov qword [rsp + 0xa0], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0xaf], dl
cmp eax, ecx
jbe 0x14005dcf2
mov cl, byte [rsp + 0xaf]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0x90], rax
jne 0x14005e28a
jmp 0x14005ddc4
mov eax, dword [0x1401ddba0]
mov r8d, dword [0x1401ddba4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xec00293b
mov edx, 0x19994411
xor edx, 0xf5996d2a
mov r8d, 0x64468137
xor r8d, 0x9bb97ec8
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x606f372b
xor ecx, 0x5380881f
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf85d3da3
mov r8d, 0xe6fc432c
xor r8d, 0x1ea17e8f
mov ecx, 0xb26f08c8
xor ecx, 0x4d90f737
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xaac76cd0
xor r8d, 0x529a5173
mov edx, eax
and edx, r8d
mov r8d, 0x732b9691
xor r8d, 0x8b76ab32
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x17093719
jbe 0x14005e2a3
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov r9d, dword [0x1401ddba8]
or r9d, dword [0x1401ddbac]
mov eax, r9d
xor eax, 0xffffffff
mov r10d, 0x3d0ec7e1
xor r10d, 0xc2f1381e
xor r9d, r10d
or eax, r9d
mov r9d, 0xbb58e4b6
and r9d, 0xbb58e4b6
mov r10d, 0xc52ad193
xor r10d, 0x3ad52e6c
xor r9d, r10d
and eax, r9d
mov r9d, 0x593c237c
xor r9d, 0xa6c3dc83
xor eax, r9d
and eax, 0x39c133d2
mov r11d, 0xc6f88e34
xor r11d, 0x6671b98c
mov r9d, 0xc66a7da
xor r9d, 0xf3995825
xor r11d, r9d
mov r10d, eax
and r10d, r11d
mov r9d, eax
or r9d, r11d
mov r11d, 0x86f5773b
xor r11d, 0x790a88c4
xor r9d, r11d
imul r9d, r10d
mov r11d, 0xe717fc66
xor r11d, 0x479ecbde
mov r10d, eax
and r10d, r11d
or eax, 0xa08937b8
imul eax, r10d
add eax, r9d
add rdx, 0xffffffffffffffff
and rdx, r8
mov qword [rsp + 0x80], rdx
add rcx, 8
mov qword [rsp + 0x88], rcx
cmp eax, 0x3203faa0
je 0x14005e2a3
mov rcx, qword [rsp + 0x80]
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jmp 0x14005dfa2
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005e028
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
movabs rax, 0xa76a492b185eb093
movabs r8, 0x6744b97e76cd4508
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xc02ef0556e93f59b
sub rdx, rax
call fcn.1400137e9
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
jmp 0x14005e28a
mov eax, dword [0x1401ddbb0]
xor eax, dword [0x1401ddbb4]
and eax, 0x88221b3a
mov ecx, eax
and ecx, 0x325850b9
xor eax, 0x325850b9
or ecx, eax
mov edx, 0x52f1b9b4
xor edx, 0xad0e464b
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x6e116af0
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6e116af0
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xebad6b02
xor ecx, 0x999bfd58
cmp eax, ecx
jae 0x14005e2ac
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1401ddbb8]
mov r8d, dword [0x1401ddbbc]
mov r9d, 0xdc6112ed
xor r9d, 0x61610f5d
xor r8d, r9d
or eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x3a9dfaeb
mov r9d, 0xffffffff
xor r9d, 0x3a9dfaeb
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xc47b7249
xor r8d, 0x3b848db6
mov r9d, eax
xor r9d, r8d
and r9d, 0xa9bd3b5
mov r10d, 0xffffffff
xor r10d, 0xa9bd3b5
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xa9bd3b5
or eax, 0xa9bd3b5
imul eax, r9d
add eax, r8d
sub eax, 0xab6b62fc
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
add rcx, 8
shl rdx, 5
add rcx, rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0x13f75e0e
ja 0x14005e08c
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14005e261
jmp 0x14005e173
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb0]
cmp rax, qword [rcx]
jne 0x14005e1cb
mov rcx, qword [rsp + 0x60]
mov r8w, word [rsp + 0xc6]
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 0x14005e230
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.14004cfd7
mov rcx, qword [rsp + 0xc8]
mov rdx, rax
mov rax, qword [rsp + 0x58]
mov r8b, byte [rcx]
mov r9b, 0x88
xor r9b, 0x88
mov cl, 1
cmp r8b, r9b
mov qword [rsp + 0x28], rdx
mov rdx, rax
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x3f], cl
mov qword [rsp + 0x90], rax
jne 0x14005e28a
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov dl, byte [rsp + 0x3f]
test dl, 1
mov qword [rsp + 0x70], rcx
mov rcx, rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x90], rax
jne 0x14005dfa2
jmp 0x14005e28a
mov rcx, qword [rsp + 0x60]
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rsp, 0xd8
ret
out dx, al
lodsd eax, dword [rsi]
int 0xba
jmp 0x14005dcf2
adc byte [rax - 0x1d16ee0f], cl
sti
invalid
nop
sbb al, 2
pop rcx
jmp 0x14005e08c