Function at 0x14005af80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], rcx
mov r8d, dword [0x1401d78d0]
xor r8d, 0xafb36cc9
mov edx, dword [0x1401d78d4]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x1c68541
mov r9d, 0xffffffff
xor r9d, 0x1c68541
and r8d, r9d
mov r10d, 0xcb89802e
xor r10d, 0x34767fd1
mov ecx, edx
xor ecx, r10d
and ecx, 0x1c68541
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x56243b00
imul eax, eax, 0x9540aa64
sub eax, 0x9e74b86e
mov ecx, 0x691405f6
xor ecx, 0xf2b097ca
sub eax, ecx
add eax, 0x9e74b86e
cmp eax, 0xbdf8731c
ja 0x14005b8af
mov edx, dword [0x1401d78d8]
mov ecx, dword [str.Q__]
mov eax, edx
and eax, ecx
xor edx, ecx
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
or eax, 0x693c3608
add eax, 0x5788cc0d
xor eax, 0x9c0661c9
mov dword [rbp + 0x68], eax
mov eax, 0x10
mov qword [rbp + 0x30], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.1400476b5
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x58], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x60], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
mov edx, 2
sub rsp, 0x20
call fcn.14004847c
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x68]
mov byte [rbp + 0x6f], cl
cmp eax, 0x4a06cf06
jb 0x14005b013
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14005b101
jmp 0x14005b113
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14005b8a8
mov eax, dword [0x1401d78e0]
mov ecx, dword [0x1401d78e4]
mov edx, 0x98e12c67
xor edx, 0xc2605a52
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x9f0e41a6
xor edx, edx
div ecx
mov ecx, 0x63365a27
xor edx, edx
div ecx
mov ecx, 0x3654ef2a
xor ecx, 0xf034037e
xor edx, edx
div ecx
mov ecx, 0xdb77494d
xor ecx, 0x1fdd9486
cmp eax, ecx
je 0x14005b8b8
mov ecx, dword [0x1401d78e8]
mov edx, dword [0x1401d78ec]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xc4b8cc95
xor edx, 0x3b47336a
xor eax, edx
mov edx, 0x978cf19a
xor edx, 0x68730e65
xor ecx, edx
or eax, ecx
imul eax, eax, 0x145ab0ed
mov ecx, 0xf1f01f94
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x50]
mov ecx, 0xf1bdc036
xor ecx, 0x3711cf9a
and eax, ecx
mov ecx, 0xc5b2090c
xor ecx, 0xdceee0aa
mov rdx, qword [rdx]
mov qword [rbp + 0x20], rdx
movabs r8, 0x787a1027c9595b8f
movabs r9, 0x787a1027c9595b8f
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rbp + 0x2f], dl
cmp eax, ecx
je 0x14005b8b8
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x14005b202
jmp 0x14005b226
mov rcx, qword [rbp + 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14005b8a8
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140018e3d
mov r10, qword [rbp + 0x70]
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 8], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
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 0x14005b885
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x48]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005b2fb
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
movabs r8, 0x2ebbae98e820075b
movabs rdx, 0xd144516717dff8a4
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14005b8a8
mov rax, qword [rbp + 0x58]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x20], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x11], al
or al, cl
test al, 1
jne 0x14005b7db
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
and rax, rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x70]
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 0x14005b3a4
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
movabs rax, 0xd9efe510f647854f
movabs r8, 0x26101aef09b87ab0
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14005b8a8
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0x68a79b53a5d2dacb
movabs rdx, 0x68a79b53a5d2dacb
xor rcx, rdx
cmp rax, rcx
je 0x14005b431
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs r8, 0xfb1a9492daa6401a
movabs r9, 0xfb1a9492daa64018
xor r8, r9
imul rax, r8
xor rdx, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140048560
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x28], rax
je 0x14005b347
jmp 0x14005b8a8
mov eax, dword [0x1401d78f0]
xor eax, 0x558f70de
mov ecx, dword [0x1401d78f4]
xor ecx, 0xbdbc8cc9
add eax, 0xd7792dff
sub eax, ecx
sub eax, 0xd7792dff
mov ecx, 0xca27fae3
xor edx, edx
div ecx
mov ecx, 0x17048c64
xor ecx, 0x361e4167
sub eax, ecx
sub eax, 0x13cac0e2
add eax, 0x211acd03
sub eax, 0xce235591
cmp eax, 0x8cdfb154
jae 0x14005b8c1
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401d78f8]
xor edx, edx
div dword [0x1401d78fc]
mov rdx, qword [rbp + 0x48]
mov r8d, eax
mov eax, r8d
add eax, 1
mov r9d, 0x4955bbb6
xor r9d, 0xb6aa4449
xor r8d, r9d
mov r9d, 0xdeb7efdd
xor r9d, 0x87223013
or r8d, r9d
add r8d, eax
mov r9d, 0xe72db08c
xor r9d, 0x349e2dc1
mov eax, r8d
xor eax, r9d
xor eax, 0xffffffff
and eax, 0xd3b39d4d
shl eax, 1
sub eax, 0xd3b39d4d
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xbe3f5e00
or eax, r9d
mov r9d, 0xcb69ac0c
xor r9d, 0x349653f3
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xbe3f5e00
or r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0xa523b9cb
ja 0x14005b484
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14005b57a
jmp 0x14005b557
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x48]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14005b8a8
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
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.140010510
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14005b5e6
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14005b8a8
mov rsi, qword [rbp - 0x60]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
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.140027c10
mov r11, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp - 0x20]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14005ae2e
mov rax, qword [rbp + 0x58]
add rsp, 0x30
mov al, byte [rax]
mov cl, 0xd0
xor cl, 0xd0
cmp al, cl
jne 0x14005b8a8
mov ecx, dword [0x1401d7900]
mov edx, dword [0x1401d7904]
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, edx
and ecx, eax
mov eax, 0x2880a8ec
xor eax, 0xe5009405
add ecx, eax
mov edx, 0x415a42ea
xor edx, 0xbea5bd15
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xa789e537
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa789e537
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, 0xc9c8ef76
sub eax, ecx
cmp eax, 0x2ff778f
jb 0x14005b8ca
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1401d7908]
mov edx, dword [0x1401d790c]
xor edx, 0x103d32dd
sub eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xb8618d3f
mov r9d, 0x946ac7f2
xor r9d, 0x2c0b4acd
mov edx, 0x8ee45115
xor edx, 0x711baeea
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xb8618d3f
mov r9d, 0xd1c629e9
xor r9d, 0x69a7a4d6
or eax, r9d
imul eax, r8d
add eax, edx
add eax, 0xdda72880
and eax, eax
mov edx, 0x23ec4079
xor edx, 0xdc13bf86
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xa8056833
mov r8d, 0xffffffff
xor r8d, 0xa8056833
or edx, r8d
and eax, edx
mov edx, 0xdfd2f83b
xor edx, 0x202d07c4
xor eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x44b04595
jbe 0x14005b6cd
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14005b7f9
jmp 0x14005b79a
mov rax, qword [rbp - 0x58]
mov rax, qword [rax]
movabs rcx, 0xb30eab9d09411503
movabs rdx, 0xf30eab9d09411503
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14005b7f9
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
jmp 0x14005b7f9
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x11]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x6a], al
jne 0x14005b86c
jmp 0x14005b7f9
mov r8, qword [rbp - 8]
movabs rax, 0xb85beb93758e85eb
movabs rcx, 0xb85beb93758e85ea
xor rax, rcx
mov rcx, r8
add rcx, rax
xor r8, 0xffffffffffffffff
mov rax, rcx
xor rax, r8
movabs rdx, 0x610fe38944b5d0df
movabs r9, 0x9ef01c76bb4a2f20
xor rdx, r9
xor rax, rdx
mov rdx, rcx
or rdx, r8
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x6a], al
jge 0x14005b86c
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14005b8a8
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x6a]
test cl, 1
mov qword [rbp + 0x18], rax
jne 0x14005b283
jmp 0x14005b8a8
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004a8bf
add rsp, 0x20
lea rsp, [rbp + 0x78]
pop rsi
pop rbp
ret
test dword [rcx + 0x5be9a324], edi
idiv edi
jmp qword [rdx]
and ch, byte [rbp + rsi*2 - 0x75c1605]
invalid
outsb dx, byte [rsi]
adc ebx, dword [rcx - 0x44516d3]
invalid
setns byte [rdi - 0x64]
jmp 0x14005b6cd