Function at 0x14003b9f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rcx
mov ecx, dword [0x140217e70]
xor ecx, 0xfcaecd1
mov eax, dword [0x140217e74]
add ecx, 0x633214a4
add ecx, eax
sub ecx, 0x633214a4
and ecx, 0xd425595b
add ecx, 0x87e9986f
mov eax, ecx
or eax, 0x138b083f
xor eax, 0xffffffff
mov edx, 0xf50542ae
xor edx, 0xafabd51
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x138b083f
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x7c489d6
jbe 0x14003c310
mov eax, dword [str.pQs]
xor eax, 0xd8bdec11
mov ecx, dword [0x140217e7c]
sub eax, ecx
imul eax, eax, 0x251890f2
add eax, 0xdb396b64
mov dword [rbp + 0x44], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14003b720
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x44]
mov qword [rbp + 0x48], rdx
cmp rcx, 0
setg cl
mov byte [rbp + 0x57], cl
cmp eax, 0xbc1637a4
je 0x14003c310
mov dl, byte [rbp + 0x57]
mov rcx, 0xffffffffffffffff
xor eax, eax
test dl, 1
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14003bb0a
jmp 0x14003bcab
mov ecx, dword [0x140217e80]
mov edx, dword [0x140217e84]
xor edx, 0xd4c53ae1
mov r8d, 0x1d4b6be0
xor r8d, 0xe2b4941f
mov eax, ecx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xeec6465c
imul eax, eax, 0xc07d9f9f
mov ecx, 0x9e087b01
xor ecx, 0x6e384994
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xf0303295
mov ecx, 0x42ed0468
xor ecx, 0x42ed046a
imul ecx, edx
mov edx, 0x4411e913
xor edx, 0xb421db86
sub ecx, edx
sub eax, ecx
cmp eax, 0xf165d692
jae 0x14003c319
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x140217e88]
xor eax, 0x53b423e8
xor edx, edx
div dword [0x140217e8c]
mov r9d, 0x26abb164
xor r9d, 0x1d812ea9
mov edx, 0xaac382b6
xor edx, 0x553c7d49
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x3b2a9fcd
or eax, 0x3b2a9fcd
imul eax, r8d
add eax, edx
or eax, 0xae75698a
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb22a33af
mov r8d, 0x95881a30
xor r8d, 0x27a2299f
mov r9d, 0xab27cfae
xor r9d, 0x54d83051
xor r8d, r9d
and eax, r8d
sub eax, edx
mov cl, byte [rcx]
mov byte [rbp + 0x16], cl
mov dl, 0x6d
xor dl, 0x46
cmp cl, dl
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0xbeae8772
je 0x14003bb90
mov dl, byte [rbp + 0x17]
mov rcx, 0xffffffffffffffff
mov eax, 1
test dl, 1
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14003bcab
jmp 0x14003bc5d
mov r8b, byte [rbp + 0x16]
cmp r8b, 0x2d
sete al
movabs rdx, 0x7c5fc37c7904370b
movabs rcx, 0x7c5fc37c7904370a
xor rdx, rcx
movabs rcx, 0xb59db907f7bdcb66
movabs r9, 0x4a6246f808423499
xor rcx, r9
cmp r8b, 0x2d
cmove rcx, rdx
and al, 1
movzx eax, al
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
xor eax, eax
cmp rcx, rdx
mov qword [rbp + 8], rax
jge 0x14003c24b
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp - 8]
mov al, byte [rax + rcx]
mov cl, al
and cl, 0xd0
mov dl, 0xb2
xor dl, 0x62
or al, dl
add cl, al
xor eax, eax
cmp cl, 0xa
mov qword [rbp + 8], rax
jae 0x14003c24b
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x58]
mov qword [rcx], 0
mov qword [rbp - 0x10], rax
jmp 0x14003bd16
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rax, rcx
jge 0x14003c1a5
mov rax, qword [rbp - 0x20]
movabs rcx, 0xdbfd8c18ff491d21
movabs rdx, 0x240273e700b6e2de
xor rcx, rdx
cmp rax, rcx
jg 0x14003bda3
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x60]
movabs rax, 0xd53c4dcc7a150406
add rdx, rax
movabs rax, 0x1c875104bee5e092
movabs r8, 0xe378aefb411a1f6d
xor rax, r8
add rdx, rax
movabs rax, 0xd53c4dcc7a150406
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x14003c24b
mov eax, dword [0x140217e90]
mov edx, dword [0x140217e94]
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor eax, 0xaee9d45f
mov ecx, 0x9cc000b8
xor ecx, 0x463a444c
sub eax, ecx
and eax, 0x4d08609f
cmp eax, 0xc22eabe9
jae 0x14003c322
mov rcx, qword [rbp + 0x68]
mov edx, dword [0x140217e98]
xor edx, 0x5c7778ca
mov r8d, dword [0x140217e9c]
xor eax, eax
sub eax, r8d
add edx, eax
add edx, 0x4fb6a8ea
mov r8d, 0x6ed039c7
xor r8d, 0x912fc638
mov eax, edx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0xd6fc431a
mov r9d, 0xffffffff
xor r9d, 0xd6fc431a
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or edx, 0xd6fc431a
xor edx, 0xffffffff
or eax, edx
mov edx, 0xfa06a61
xor edx, 0xf05f959e
xor eax, edx
mov r8d, 0xd61054be
xor r8d, 0xae4f4830
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov cl, byte [rcx + rdx]
mov byte [rbp - 0x22], cl
xor edx, edx
sub dl, 0xd0
sub cl, dl
cmp cl, 0xa
setb cl
mov byte [rbp - 0x21], cl
cmp eax, 0x3f49cbf2
je 0x14003c322
mov al, byte [rbp - 0x21]
test al, 1
jne 0x14003be9d
jmp 0x14003c1a5
mov al, byte [rbp - 0x22]
movzx eax, al
movabs rdx, 0x8ae2abecc34081ed
movabs rcx, 0x751d54133cbf7e3d
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rbp - 0x38], rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x8000000000000030
xor rcx, rdx
and rcx, rax
xor rax, 0xffffffffffffffff
movabs rdx, 0x8000000000000030
and rax, rdx
sub rax, rcx
mov ecx, 0xa
xor edx, edx
div rcx
mov rdx, rax
mov rax, qword [rbp + 0x58]
movabs rcx, 0xaf5d57cb97b7899b
movabs r8, 0xaf5d57cb97b7899b
xor rcx, r8
sub rcx, rdx
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, rcx
jl 0x14003c0e5
mov eax, dword [0x140217ea0]
add eax, dword [0x140217ea4]
mov ecx, 0xfe25d46b
xor ecx, 0xc882bde3
xor edx, edx
div ecx
mov ecx, 0x748bfd8d
xor ecx, 0x8b740272
mov edx, eax
xor edx, ecx
and edx, 0xbe8c8319
mov r8d, 0xcf7cb21b
xor r8d, 0x71f03102
mov ecx, 0xf61ad305
xor ecx, 0x9e52cfa
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbe8c8319
or eax, 0xbe8c8319
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x76a7196e
mov edx, 0xffffffff
xor edx, 0x76a7196e
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xcc46e0b6
jae 0x14003c32b
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140217ea8]
mov r9d, dword [0x140217eac]
mov r10d, 0xc5f3dd3c
xor r10d, 0x3a0c22c3
mov edx, eax
xor edx, r10d
and edx, r9d
mov r10d, 0xdd519bee
xor r10d, 0x22ae6411
xor r9d, r10d
and eax, r9d
sub eax, edx
mov edx, 0x98cb87f7
xor edx, 0xee263d3a
imul eax, edx
mov r9d, 0xfd4ec685
xor edx, edx
div r9d
add eax, 0x8a77da4c
add eax, 0x663d7b75
sub eax, 0x8a77da4c
mov dword [rbp - 0x40], eax
mov edx, 0xa
sub rsp, 0x20
call fcn.14003c33d
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x40]
mov byte [rbp - 0x39], cl
cmp eax, 0x20bd7671
je 0x14003bfb4
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14003c0cd
jmp 0x14003c053
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp + 0x30]
mov r9, qword [rax]
movabs rax, 0x3da0d7e72b3d3844
mov rcx, r9
add rcx, rax
sub rcx, r8
movabs rax, 0x3da0d7e72b3d3844
sub rcx, rax
mov qword [rbp - 0x48], rcx
mov rdx, rcx
and rdx, r9
shl rdx, 1
mov rax, rcx
add rax, r9
sub rax, rdx
cmp rax, 0
setl al
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14003c0cd
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
jmp 0x14003c10b
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x14003c24b
sub rsp, 0x20
call fcn.14003b860
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xaa
xor dl, 0xaa
xor eax, eax
cmp cl, dl
mov qword [rbp + 8], rax
jne 0x14003c24b
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x60]
movabs r8, 0x2274739cab6f8fee
mov rcx, rax
add rcx, r8
movabs r8, 0x3ee16fd1238bcbed
movabs r9, 0x3ee16fd1238bcbec
xor r8, r9
add rcx, r8
movabs r8, 0x2274739cab6f8fee
sub rcx, r8
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x50]
add rcx, 1
mov qword [rbp - 0x60], rcx
cmp rcx, rdx
mov qword [rbp - 0x18], rax
jge 0x14003bd0e
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x68]
mov cl, byte [rcx + rax]
mov dl, 0xab
xor dl, 0xf4
cmp cl, dl
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x50], rax
je 0x14003c15c
jmp 0x14003bd0e
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp]
not rax
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
movabs rdx, 0x8000000000000000
xor rcx, rdx
or rax, rcx
sete al
test al, 1
jne 0x14003c1d7
jmp 0x14003c1ef
sub rsp, 0x20
call fcn.14003b860
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x14003c24b
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14003c33d
add rsp, 0x20
test al, 1
jne 0x14003c215
jmp 0x14003c22d
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x70], rax
jmp 0x14003c243
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x38]
mov rdx, qword [rdx]
mov qword [rcx], rdx
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp - 0x78], rax
mov ecx, dword [0x140217eb0]
sub ecx, dword [0x140217eb4]
xor ecx, 0xab164fa7
mov eax, ecx
or eax, 0xb4e805b9
xor eax, 0xffffffff
or ecx, 0xb4e805b9
mov edx, 0x94a9056e
xor edx, 0x6b56fa91
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x3342d57c
xor edx, edx
div ecx
mov ecx, 0xd308603c
xor ecx, 0x86e4fc38
cmp eax, ecx
je 0x14003c334
mov eax, dword [0x140217eb8]
mov edx, dword [0x140217ebc]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x5b92651a
xor edx, 0xa46d9ae5
xor eax, edx
or ecx, eax
and ecx, 0x672d7bc8
xor ecx, 0x127aa37f
mov edx, 0xfc9ede3
xor edx, 0x722a3c11
mov eax, ecx
and eax, edx
or ecx, 0x7de3d1f2
add eax, ecx
cmp eax, 0x8f37984c
je 0x14003c2a3
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x70]
pop rbp
ret
xor al, 0x2a
mul byte [rax - 0x8ac17]
invalid
mov edx, 0xe90ae0e3
outsb dx, byte [rsi]
clc
invalid
jne fcn.14003c33d
jl 0x14003c39c
jmp 0x14003bdd7
adc dword [rdi - 0x80], esp
shr cl, 1
cmp ah, 0xff
jmp qword [rsi + 0x6c]
insb byte [rdi], dx
stc
pop rax
jmp 0x14003c2a3
sbb eax, 0xc8280f00