Function at 0x1401ef8e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.1401f245b
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x48], rax
add rax, 0x50
mov qword [rbp + 0x40], rax
mov edx, 4
sub rsp, 0x20
call fcn.1401eaa3e
add rsp, 0x20
mov word [rbp + 0xce], 0x3c3
lea rcx, [rbp + 0xce]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x50], rcx
cmp byte [rax + 0x50], 0
jne 0x1401eff74
mov r8, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x50]
mov rcx, qword [0x14022dd00]
mov r9, qword [rcx]
mov qword [rdx], r9
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.1401e7d82
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, qword [rbp + 0xb8]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp + 0xc0]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x1401eff74
mov eax, dword [0x1402239f0]
mov edx, dword [0x1402239f4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x82b24bd5
xor r8d, 0x7d4db42a
xor edx, r8d
and eax, edx
sub eax, ecx
add eax, 0x15f862c4
add eax, 0x769c92c3
sub eax, 0x15f862c4
mov edx, 0xddda5586
xor edx, 0x2225aa79
mov ecx, eax
xor ecx, edx
mov edx, 0xe1ce2c71
xor edx, 0x1f072e0d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xfec9027c
and eax, edx
sub eax, ecx
mov ecx, 0x4f50baa4
xor ecx, 0x7afb0191
add eax, ecx
mov ecx, 0xa5f2615a
xor ecx, 0xe8b709fb
cmp eax, ecx
jbe 0x1401f013b
mov eax, dword [0x1402239f8]
xor eax, 0xd14f122f
mov ecx, dword [0x1402239fc]
mov edx, 0x894e71f0
xor edx, 0x70d6af1c
xor ecx, edx
xor eax, ecx
mov ecx, 0x426f414c
xor ecx, 0xe30ab152
imul eax, ecx
mov edx, eax
xor edx, 0x5de0c497
mov ecx, 0xbbf98e5a
xor ecx, 0x440671a5
xor edx, ecx
and edx, 0x5de0c497
mov ecx, 0xb18fe2f2
xor ecx, 0xb18fe2f0
imul ecx, edx
sub ecx, 0x5de0c497
sub eax, ecx
mov ecx, 0x5ad1e561
xor ecx, 0x8f0a212e
mov edx, 0x1a4d992e
xor edx, 0xe5b266d1
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov dword [rbp - 0x24], eax
mov eax, 0x82f2004c
xor eax, 0xb0349b7f
mov dword [rbp - 0x28], eax
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001d300
add rsp, 0x20
mov qword [rbp - 0x38], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001ec20
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov word [rcx], 0x5d3
sub rsp, 0x20
call fcn.140070140
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x28]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jbe 0x1401efab3
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1401efbc5
jmp 0x1401efe21
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
mov qword [rbp + 0xa8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rdx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14001fd14
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0xa74
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x40]
mov dword [rcx + 0x10], edx
cmp byte [rax], 0
jne 0x1401efe21
mov cx, 0xa992
xor cx, 0xa8bb
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x40]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x1401efe21
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov qword [rax + 8], rcx
mov ecx, 0x100
sub rsp, 0x20
call fcn.1400704f9
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x40]
mov dword [rbp - 0x3c], ecx
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x1401efe21
mov r8d, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0xa0], rcx
movabs rcx, 0xa34595d4ef65d72
movabs rdx, 0xa34595d4ef65d73
xor rcx, rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.1401782fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401efe21
mov ax, 0xcc91
xor ax, 0xc520
mov word [rbp + 0xcc], ax
lea rcx, [rbp + 0xcc]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1401efe21
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.14001fd14
mov r8, qword [rbp]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x60], r8
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x30]
add rsp, 0x20
lea r8, [rbp + 0x58]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140177f90
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x40]
mov dword [rbp - 0x54], ecx
cmp byte [rax], 0
jne 0x1401efe21
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp - 0x54]
mov dword [rcx], edx
cmp rax, 0
je 0x1401f0029
mov rcx, qword [rbp - 8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401f0029
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
jmp 0x1401f0029
mov rax, qword [rbp - 8]
cmp rax, 0
je 0x1401eff74
mov rcx, qword [rbp - 8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401eff74
mov eax, dword [0x140223a00]
mov ecx, 0xc1abef96
xor ecx, 0x1f7cf0ed
xor eax, ecx
xor edx, edx
div dword [0x140223a04]
add eax, 0xcc5c9243
mov ecx, 0x9299acd9
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x28de7a18
shl ecx, 1
add eax, 0x28de7a18
sub eax, ecx
cmp eax, 0x8111ec0f
je 0x1401f0144
mov rcx, qword [rbp - 8]
mov edx, dword [0x140223a08]
mov eax, 0x7550f78f
xor eax, 0x7d72c989
xor edx, eax
mov r9d, dword [0x140223a0c]
xor r9d, 0xb348fec2
mov eax, edx
xor eax, 0xffffffff
mov r8d, r9d
and r8d, eax
mov r10d, r9d
xor r10d, 0xffffffff
mov eax, edx
and eax, r10d
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, edx
and eax, 0x57d4f92
mov r8d, 0xd788df66
xor r8d, 0xd2f590f4
xor edx, r8d
or eax, edx
mov r8d, 0x8c4f91ca
xor r8d, 0xc88259c3
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
mov r8d, 0xb6f92297
xor r8d, 0xf234ea9e
or eax, r8d
and eax, edx
sub eax, 0x4c5f585
mov dword [rbp - 0x68], eax
mov eax, 0x55dd032d
xor eax, 0xcd9a995e
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.140010918
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xef
xor r8b, 0xef
cmp dl, r8b
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
je 0x1401f0144
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401efffc
jmp 0x1401eff74
sub rsp, 0x20
call fcn.1401e7dfe
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401effef
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x795857f2
xor ecx, 0xbc2a7593
cmp eax, ecx
jne 0x1401effef
mov rax, qword [rbp + 0x40]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401e7e10
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400a4060
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401f0029
sub rsp, 0x20
call fcn.1401e7e3d
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
jne 0x1401f0029
mov ecx, 0xb24
sub rsp, 0x20
call fcn.1400704f9
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x40]
mov dword [rbp - 0x7c], ecx
cmp byte [rax], 0
jne 0x1401f0029
mov rax, qword [rbp + 0x38]
mov ecx, dword [rbp - 0x7c]
mov dword [rax], ecx
mov r8d, dword [str.5o3m]
xor r8d, 0x29b1f4d1
mov edx, dword [0x140223a14]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xe3ab3424
xor eax, 0x94dbfe8b
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x7770caaf
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x7770caaf
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov r8d, 0x8306cc75
xor r8d, 0x821e36a
mov ecx, 0x3a3fb015
xor ecx, 0xc5c04fea
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xa0a0f928
xor r8d, 0x2b87d637
mov edx, eax
and edx, r8d
or eax, 0x8b272f1f
imul eax, edx
add eax, ecx
add eax, 0xcd468090
mov ecx, 0x10919f53
xor ecx, 0x7a3ae7c0
sub eax, ecx
sub eax, 0xcd468090
mov ecx, 0xfd60a077
xor edx, edx
div ecx
cmp eax, 0x30d7cdeb
jae 0x1401f014d
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x140223a18]
mov r8d, dword [0x140223a1c]
xor r8d, 0xfd820d0f
xor edx, edx
div r8d
mov edx, eax
and edx, 0x3009517
shl edx, 1
xor eax, 0x3009517
add eax, edx
sub eax, 0x11cf11
and eax, 0xc7728e0b
mov ecx, dword [rcx]
mov dword [rbp - 0x80], ecx
cmp eax, 0xf21125b0
ja 0x1401f00e6
mov eax, dword [rbp - 0x80]
lea rsp, [rbp + 0xd0]
pop rbp
ret
fcmove st(0), st(4)
pop rsp
jmp 0x1401efab3
sub al, 0xe8
int1
sbb ch, cl
std
invalid
ror dword [rax], 0xb0
cmp cl, ch
nop
invalid