Function at 0x14005df00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rcx
add rcx, 8
mov qword [rsp + 0x78], rcx
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
cmp rax, rcx
jge 0x14005e325
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 8
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rcx, 0
mov qword [rsp + 0x58], rax
je 0x14005e0e0
mov eax, dword [0x1401d7a28]
mov r8d, dword [0x1401d7a2c]
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 r8d, 0xffffffff
xor r8d, 0x33c8c91c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x33c8c91c
mov r8d, 0x4e539f46
xor r8d, 0x7d9b565a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xb3b9d54c
xor ecx, 0x4d24b632
mov edx, 0x43a9e382
xor edx, 0xbc561c7d
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x2a1d46ab
xor ecx, 0xe2bd96c0
add eax, ecx
cmp eax, 0x2b27ea75
jb 0x14005e404
mov eax, dword [0x1401d7a30]
xor eax, 0x1c6ea1ed
xor edx, edx
div dword [0x1401d7a34]
mov rdx, qword [rsp + 0x50]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x215efa69
xor ecx, 0xaf588028
mov r8d, 0x1a2f41a4
xor r8d, 0xe5d0be5b
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x8e067a41
or ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xac0e6c9c
add eax, 0x861c1d9e
sub eax, 0xac0e6c9c
add eax, 0x9223d9ff
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xf3efc802
ja 0x14005e01f
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x4f]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x14005e0c9
jmp 0x14005e0e0
mov rcx, qword [rsp + 0x50]
call fcn.14000eb2e
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov eax, dword [0x1401d7a38]
xor eax, 0x5cf99503
sub eax, dword [0x1401d7a3c]
add eax, 0xd6870712
add eax, 0x5a42074e
mov ecx, eax
add ecx, 1
mov edx, 0xf292601e
xor edx, 0xd6d9fe1
xor eax, edx
mov edx, 0xe9c2adc0
xor edx, 0xe9d6cc6b
or eax, edx
add eax, ecx
mov ecx, 0xaef2c65a
xor ecx, 0x2f37cca4
cmp eax, ecx
jae 0x14005e40d
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401d7a40]
mov r9d, dword [0x1401d7a44]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0xef73ec
xor edx, 0xda765fda
or eax, edx
mov r8d, 0x8831de5b
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
add eax, 0xc779a636
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x18
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x79b2235b
je 0x14005e139
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14005e209
jmp 0x14005e1d3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
movabs rcx, 0x9bfbb734688d0435
movabs rdx, 0xdbfbb734688d0435
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14005e209
mov rcx, qword [rsp + 0x30]
call fcn.14000eb2e
mov eax, dword [0x1401d7a48]
mov ecx, dword [0x1401d7a4c]
xor ecx, 0x6e10b508
xor edx, edx
div ecx
sub eax, 0x6200e69
imul eax, eax, 0x3c12a243
mov r8d, 0xffffffff
xor r8d, 0xbe091810
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xbf1242c7
xor r8d, 0x40edbd38
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbe091810
or eax, 0xbe091810
imul eax, edx
add eax, ecx
cmp eax, 0x6f42907f
ja 0x14005e416
mov eax, dword [0x1401d7a50]
add eax, dword [0x1401d7a54]
imul eax, eax, 0x3687016
mov ecx, 0xc7472ee0
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xc8a4e3a5
xor r9d, 0x375b1c5a
mov r8d, ecx
xor r8d, r9d
or eax, r8d
and eax, 0xececf50d
xor eax, 0xffffffff
mov r8d, 0xb313f01
xor r8d, 0xe7ddca0c
mov r9d, 0xbe990e4a
xor r9d, 0x5275fb47
and r8d, r9d
xor r8d, 0xffffffff
xor ecx, 0xffffffff
mov r9d, 0xb8ca1fd4
xor r9d, 0x4735e02b
xor r8d, r9d
or ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov rcx, rdx
and rcx, 1
or rdx, 1
add rcx, rdx
mov qword [rsp + 0x28], rcx
cmp eax, 0x1b63eecc
jb 0x14005e271
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x80], rax
jmp 0x14005df1f
mov rax, qword [rsp + 0x68]
cmp rax, 0
je 0x14005e343
mov rcx, qword [rsp + 0x68]
mov edx, 8
call fcn.14000eb33
mov eax, dword [0x1401d7a58]
mov ecx, dword [0x1401d7a5c]
xor ecx, 0xa797ccad
add eax, 0xffb19a00
add eax, ecx
sub eax, 0xffb19a00
mov ecx, 0x32345d5b
xor ecx, 0x66fcc74a
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
mov ecx, 0xf4374ac0
xor ecx, 0xa0ffd0d1
and ecx, edx
shl ecx, 1
sub ecx, 0x54c89a11
sub eax, ecx
or eax, 0xaa7d5cde
mov ecx, 0x31c74f1b
xor ecx, 0xe26e7859
sub eax, ecx
cmp eax, 0x689450dd
je 0x14005e41f
mov eax, dword [0x1401d7a60]
mov ecx, 0x57a60ba5
xor ecx, 0x564d0479
xor eax, ecx
mov edx, dword [0x1401d7a64]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
imul eax, eax, 0x58efd4aa
add eax, 0xfb9c2dae
sub eax, 0xd43e7d7
sub eax, 0xfb9c2dae
mov ecx, 0x194a52de
xor ecx, 0xcd873ff6
xor eax, ecx
cmp eax, 0x21b2b256
je 0x14005e3a8
add rsp, 0x88
ret
call qword [rdi - 0x40]
shr cl, 1
adc bh, ah
invalid
adc al, 0xfe
cmp eax, 0xfd23e9da
invalid
not bl
pop rbp
jmp 0x14005e271
stosb byte [rdi], al
invalid