Function at 0x1401e0920
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x28], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.1401e5f28
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp], rdx
add rdx, 0x50
mov qword [rbp - 0x18], rdx
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rbp + 0x70], 0
lea rax, [rbp + 0x70]
add rax, 8
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x78], 0
movabs rdx, 0xffc2609531884bdb
movabs rax, 0xffc2609531884ada
xor rdx, rax
sub rsp, 0x20
call fcn.1400a1c40
mov rcx, qword [rbp - 8]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x10], rcx
mov al, byte [rax + 0x50]
mov cl, 0xea
xor cl, 0xea
cmp al, cl
jne 0x1401e11d0
mov eax, dword [0x1402580d0]
xor eax, 0xc4a5c2aa
or eax, dword [0x1402580d4]
mov ecx, 0xffffffff
xor ecx, 0x2cdd7550
add eax, ecx
add eax, 1
mov ecx, 0x141db78d
xor edx, edx
div ecx
sub eax, 0xe5e4a24b
cmp eax, 0x9b47803e
je 0x1401e13eb
mov rcx, qword [rbp + 8]
mov eax, dword [0x1402580d8]
mov edx, dword [0x1402580dc]
xor edx, 0x3296fd98
add eax, 0x63f819c2
sub eax, edx
mov edx, 0x525abcd4
xor edx, 0x31a2a516
sub eax, edx
mov edx, 0xe5fb7d16
xor edx, 0x510d85cf
sub eax, edx
add eax, 0xdfe88c88
add eax, 0xb4f6f8d9
mov r8d, 0x483e8d6
xor edx, edx
div r8d
mov r8d, 0xe24ed61b
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rbp - 0x3c], edx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.1401e00b0
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0xeeb74461
jae 0x1401e0a20
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1401e0acb
jmp 0x1401e11d0
mov eax, dword [0x1402580e0]
or eax, dword [0x1402580e4]
xor eax, 0xaf464925
sub eax, 0xa165a9ab
mov ecx, 0x9b5439ad
xor ecx, 0x54c2ae60
add eax, ecx
sub eax, 0x8a973a97
mov ecx, 0x5f476af0
xor ecx, 0x90d1fd3d
sub eax, ecx
cmp eax, 0x6fa90d40
je 0x1401e13f4
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x1402580e8]
mov ecx, dword [0x1402580ec]
xor ecx, 0x74ef1351
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xbfc360ea
xor r8d, r8d
sub r8d, 1
sub ecx, r8d
sub eax, ecx
mov ecx, 0x32f57430
xor ecx, 0xb4317e2f
add eax, ecx
mov ecx, 0x4a0abcac
xor ecx, 0x91104b8b
xor eax, ecx
mov ecx, 0xe51f0c9c
xor ecx, 0x96d1356c
add rdx, 0xffffffff80000000
movabs r8, 0x826e4faa479d333f
movabs r9, 0x7d91b055479d333f
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rbp - 0x3d], dl
cmp eax, ecx
je 0x1401e0b0b
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x1401e0b9e
jmp 0x1401e0be2
mov rcx, qword [rbp - 0x38]
movabs rdx, 0x9685c16bd00b328e
movabs rax, 0x697a3e94500b328e
xor rdx, rax
movabs r8, 0xb61f9d887007c43
movabs rax, 0xb61f9d8f8ff83bc
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x1401e11d0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
mov dword [rbp + 0x6c], edx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.1401e0243
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401e11d0
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp + 0x6c]
sub rsp, 0x20
call fcn.1400a64d6
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x4c], ecx
mov al, byte [rax]
mov cl, 0xb
xor cl, 0xb
cmp al, cl
jne 0x1401e11d0
mov eax, dword [rbp - 0x4c]
mov ecx, 0xad7b5c44
xor ecx, 0xad7b5c44
cmp eax, ecx
jne 0x1401e0cf2
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [0x140264078]
mov qword [rcx], rdx
mov rdx, qword [0x140264080]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401e13de
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
movabs rdx, 0xdc1894d1936927d2
movabs rcx, 0xdc1894d1936927d3
xor rdx, rcx
mov rcx, rax
add rcx, rdx
movabs rdx, 0x243600eaa613a91e
movabs r8, 0xdbc9ff1559ec56e1
xor rdx, r8
xor rax, rdx
movabs rdx, 0x84e76914793899ec
movabs r8, 0xc4e76914793899ec
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
je 0x1401e13cd
jmp 0x1401e13de
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1401e0280
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rbp + 0x38]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp + 0x40]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1401e1140
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x18]
sub rsp, 0x20
call fcn.1401e0730
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401e1140
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x70]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x78]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x70]
sub rsp, 0x20
call fcn.140010107
mov rax, qword [rbp - 0x58]
add rsp, 0x20
cmp rax, 0
je 0x1401e0dd4
mov rax, qword [rbp - 0x58]
mov rax, qword [rax]
movabs rcx, 0xdf76acec52d90286
movabs rdx, 0x9f76acec52d90286
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401e0dd4
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401e0e49
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rdx, 0x40764d4a5f1ea26b
movabs rcx, 0x40764d4a5f1ea26a
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xa922b990c21ccfa2
movabs r8, 0xe922b990c21ccfa2
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x1401e0e49
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x1402580f0]
imul eax, dword [0x1402580f4]
mov ecx, 0x21fccee3
xor ecx, 0x54379e12
xor edx, edx
div ecx
mov ecx, 0x92e49069
xor ecx, 0xce48eead
or eax, ecx
mov ecx, 0xe1a251b4
xor ecx, 0x809ecce2
xor eax, ecx
cmp eax, 0x514a65e3
ja 0x1401e13fd
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1402580f8]
add eax, dword [0x1402580fc]
mov edx, eax
and edx, edx
xor edx, 0xffffffff
and edx, 0x245b747d
mov r8d, 0x2b70debd
xor r8d, 0xd48f2142
xor edx, r8d
mov r8d, 0x245b747d
and r8d, 0x245b747d
mov r9d, 0xac91a561
xor r9d, 0x536e5a9e
xor r8d, r9d
xor eax, 0xffffffff
mov r9d, 0x835c4241
xor r9d, 0x7ca3bdbe
xor r8d, r9d
or eax, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
mov eax, 0x692f3915
xor eax, 0xcc787d9a
and edx, eax
mov eax, edx
or eax, 0x89f9e775
mov r8d, 0xe854308f
xor r8d, 0x17abcf70
xor eax, r8d
or edx, 0x89f9e775
mov r8d, 0x56b5d0ff
xor r8d, 0xa94a2f00
xor edx, r8d
or eax, edx
mov edx, 0x3dd8f92f
xor edx, 0xc22706d0
xor eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0xa746b42e
ja 0x1401e0e8a
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401e13de
jmp 0x1401e0f5f
mov eax, dword [0x140258100]
mov edx, dword [0x140258104]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x59a48d55
xor r8d, 0xa65b72aa
xor edx, r8d
and eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x94591724
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94591724
mov r8d, 0xf9499df0
xor r8d, 0x6d108ad4
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xfb221066
mov ecx, 0xffffffff
xor ecx, 0xe4ed35a2
add eax, ecx
add eax, 1
cmp eax, 0x74a95661
jae 0x1401e1406
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x140258108]
mov r9d, dword [0x14025810c]
mov edx, eax
and edx, edx
xor edx, 0xffffffff
mov r8d, 0x581485eb
xor r8d, 0xa7eb7a14
xor edx, r8d
mov r8d, r9d
xor r8d, 0xffffffff
or edx, r8d
mov r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0x821ea7b
xor r10d, 0xf7de1584
xor r9d, r10d
or r8d, r9d
and eax, r8d
mov r8d, 0x1404be8c
xor r8d, 0xebfb4173
xor eax, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
mov r8d, 0xfa299a94
xor r8d, 0x5d6656b
mov eax, edx
xor eax, r8d
mov r9d, 0xfa0f432b
xor r9d, 0x5f0bcd4
mov r8d, edx
xor r8d, r9d
and eax, r8d
mov r8d, 0x59ac447a
or r8d, 0x59ac447a
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x59ac447a
and edx, r8d
or eax, edx
mov edx, 0xf339b530
xor edx, 0xcc64acf
xor eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x8613e60a
or edx, 0x8613e60a
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x10abaca8
xor r8d, 0x92f4a34c
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
mov r8d, 0x112fd0d8
xor r8d, 0x9370df3c
or eax, r8d
and eax, edx
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x1d0799c162504214
movabs r9, 0x5d0799c162504214
xor r8, r9
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6a], cl
cmp eax, 0xf2866556
ja 0x1401e0fe0
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x1401e13cd
jmp 0x1401e13de
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x1401e11d0
mov rax, qword [rbp - 0x58]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0x8c3a4c3173c79862
movabs r8, 0xb03abef58768258a
xor rcx, r8
movabs r8, 0x1febbc48bb9e9c7
movabs r9, 0xfe01443b74461638
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0x3c00f2c4f4afbde8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x1401e11d0
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1401e1211
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401e1211
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov r8d, dword [0x140258110]
xor r8d, 0x1a2030b9
mov ecx, dword [0x140258114]
mov eax, 0xe6ca46c5
xor eax, 0xd3b95dbc
xor ecx, eax
mov eax, r8d
xor eax, ecx
xor eax, 0xffffffff
or r8d, ecx
and r8d, eax
mov ecx, 0x669c6885
xor ecx, 0x9963977a
mov eax, r8d
xor eax, ecx
and eax, 0x333239ed
mov r9d, 0xffffffff
xor r9d, 0x333239ed
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x939f3909
and ecx, 0x333239ed
mov edx, 0x651f544d
xor edx, 0xf6806d44
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xc413c734
xor edx, edx
div ecx
imul eax, eax, 0x9706b31b
cmp eax, 0xdd61c670
je 0x1401e140f
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x140258118]
mov r9d, dword [0x14025811c]
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
imul eax, eax, 0xd7d66521
add eax, 0x3b7fb105
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x51789618
mov r9d, 0xffffffff
xor r9d, 0x51789618
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x51789618
or eax, 0x51789618
imul eax, r8d
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0x563e9ad2
ja 0x1401e12a4
mov al, byte [rbp - 0x79]
test al, 1
jne 0x1401e13de
jmp 0x1401e1346
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
movabs rdx, 0xd933241304d34797
movabs rax, 0x9933241304d34797
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x368bb0de0c8864ff
movabs r8, 0xc9744f21f3779b00
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x77c2a19b1f94c290
movabs r8, 0x37c2a19b1f94c290
xor rdx, r8
movabs r8, 0x42e1a7e8cc69c97b
movabs r9, 0xbd1e581733963684
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x1401e13de
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 0x28]
lea rsp, [rbp + 0x80]
pop rbp
ret
mov ebp, 0x2ce9a23b
idiv bh
call [rbp + 0x6e]
pop rbp
outsb dx, byte [rsi]
pushfq
hlt
cmp esp, ecx
or al, 0x5d
jmp 0x1401e0e8a
movsd dword [rdi], dword [rsi]
jp 0x1401e13bf
jle 0x1401e13f4
sar ebx, 1
invalid
invalid