Function at 0x1401eb5c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], rcx
mov eax, 0x10
mov qword [rbp + 0x68], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x68]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
sub rsp, 0x20
call fcn.1401f245b
add rsp, 0x20
mov qword [rbp + 0x88], rax
add rax, 0x50
mov qword [rbp + 0x80], rax
mov word [rbp + 0x12e], 0x33a
lea rcx, [rbp + 0x12e]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x90], rcx
cmp byte [rax + 0x50], 0
jne 0x1401ebfc8
mov ecx, dword [0x140223850]
mov edx, dword [0x140223854]
xor edx, 0x71596d23
mov eax, ecx
xor eax, edx
mov r8d, 0x3ddafbd0
xor r8d, 0xc225042f
xor edx, r8d
and ecx, edx
shl ecx, 1
sub ecx, eax
sub ecx, 0x147ff66
mov eax, 0x3f5c17d3
xor eax, 0xa635eea0
add ecx, eax
add ecx, 0x147ff66
mov eax, 0xb1e0aa22
xor eax, 0x237dfa2d
add ecx, eax
mov eax, 0x11f69045
xor eax, 0x52a90697
add ecx, eax
mov eax, 0xbd4a8a5
xor eax, 0x9949f8aa
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x47aa3bd0
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x47aa3bd0
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x48a61315
jbe 0x1401ec11a
mov eax, dword [0x140223858]
xor eax, 0xe8000a02
xor edx, edx
div dword [0x14022385c]
mov ecx, eax
mov eax, ecx
and eax, 0x22c00ce2
or ecx, 0x22c00ce2
add eax, ecx
mov ecx, 0xce3f11d4
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x48]
mov ecx, eax
mov rax, qword [rbp + 0x90]
mov r8d, 0xe067084b
xor r8d, 0x9b18b336
sub ecx, r8d
mov dword [rbp + 0x1c], ecx
mov rcx, qword [0x14022dc48]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
lea rcx, [rbp + 0x118]
lea r8, [rbp + 0x108]
sub rsp, 0x20
call fcn.1401e7d82
mov rcx, qword [rbp + 0x80]
mov eax, dword [rbp + 0x1c]
add rsp, 0x20
mov rdx, qword [rbp + 0x118]
mov qword [rbp + 0x20], rdx
mov rdx, qword [rbp + 0x120]
mov qword [rbp + 0x28], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0xdb816aba
ja 0x1401ec11a
mov al, byte [rbp + 0x37]
test al, 1
jne 0x1401eb826
jmp 0x1401ebfc8
mov eax, dword [0x140223860]
xor edx, edx
div dword [0x140223864]
xor eax, 0x18792067
or eax, eax
mov ecx, 0xb403cb54
xor ecx, 0x4bfc34ab
xor eax, ecx
mov ecx, 0xb01fb083
xor ecx, 0x7ce70459
mov edx, 0x2b75310e
xor edx, 0xd48acef1
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xccf8b4da
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x19ca42c1
xor ecx, 0x61cb2444
add eax, ecx
cmp eax, 0x319efb95
jbe 0x1401ec123
mov eax, dword [0x140223868]
or eax, dword [0x14022386c]
mov ecx, 0x5ef3b76
xor ecx, 0xa28a0970
sub eax, ecx
mov ecx, 0x40049e61
xor ecx, 0x8f810966
add eax, ecx
add eax, 0xa7653206
mov ecx, 0xdfad8fe4
xor ecx, 0x5b8d897f
and eax, ecx
mov ecx, 0xd0661dc0
xor ecx, 0x14a0395b
and eax, ecx
mov dword [rbp + 0xc], eax
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001d300
add rsp, 0x20
mov qword [rbp - 8], rax
movabs rcx, 0x4f3e70bafd39172f
movabs rax, 0x4f3e70bafd391737
xor rcx, rax
movabs rdx, 0xd953e3b4407d5a00
movabs rax, 0xd953e3b4407d5a08
xor rdx, rax
sub rsp, 0x20
call fcn.14001ec20
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp], rax
mov word [rcx], 0x9fa
sub rsp, 0x20
call fcn.140070140
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1b], cl
cmp eax, 0x91423495
jae 0x1401eb88d
mov cl, byte [rbp + 0x1b]
mov al, 1
test cl, 1
mov byte [rbp - 9], al
jne 0x1401eb984
jmp 0x1401ebdf2
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov qword [rbp + 0xf8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x100], rax
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14001fd14
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x48ae
xor cx, 0x4baf
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x80]
mov dword [rcx + 0x10], edx
mov cl, byte [rax]
mov dl, 0xf5
xor dl, 0xf5
mov al, 1
cmp cl, dl
mov byte [rbp - 9], al
jne 0x1401ebdf2
mov ecx, 5
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401ebdf2
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rax + 8], rcx
mov ecx, 0x655
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov dword [rbp - 0x10], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401ebdf2
mov r8d, dword [rbp - 0x10]
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp + 0x20]
mov qword [rbp + 0xe8], r9
mov qword [rbp + 0xf0], rcx
mov qword [rdx], 1
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1401782fd
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401ebdf2
mov word [rbp + 0x12c], 0x2ce
lea rcx, [rbp + 0x12c]
sub rsp, 0x20
call fcn.140070140
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401ebdf2
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
mov qword [rbp + 0xd8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.14001fd14
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x30], rdx
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xb8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
lea r8, [rbp + 0xc8]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xb8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140177f90
mov rcx, qword [rbp + 0x80]
add rsp, 0x30
mov dword [rbp - 0x24], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401ebdf2
sub rsp, 0x20
mov cx, 0x4a3
call fcn.14006fe60
mov r8d, dword [rbp - 0x24]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x80]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x31], al
jne 0x1401ebbf7
jmp 0x1401ebdec
movabs rcx, 0xf72fb717842b5863
movabs rax, 0xf72fb717842b5853
xor rcx, rax
movabs rdx, 0x10408b2f3464f743
movabs rax, 0x10408b2f3464f74b
xor rdx, rax
sub rsp, 0x20
call fcn.14001ec20
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0xa09
sub rsp, 0x20
call fcn.1400704f9
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x50]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x1401ebda7
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140015160
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov word [rcx], 0x1ac
sub rsp, 0x20
call fcn.140070140
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x1401ebda7
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x58]
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 rax, qword [rbp + 0x78]
mov rdx, qword [rbp - 0x60]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.140081440
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov r8, qword [rbp + 0x98]
mov qword [rcx + 0x10], r8
mov r8, qword [rbp + 0xa0]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x1401ebda7
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x38]
mov rcx, qword [0x14022d568]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14022d570]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.14002c7a0
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x80]
mov dl, byte [rbp - 0x41]
mov rcx, qword [rbp - 0x40]
mov byte [rbp - 0x61], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401e5c53
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x31], al
jne 0x1401ebdec
mov al, byte [rbp - 0x61]
mov rcx, qword [rbp + 0x80]
mov byte [rcx], al
mov byte [rbp - 0x31], al
mov al, byte [rbp - 0x31]
mov byte [rbp - 9], al
mov rcx, qword [rbp + 0x28]
mov al, byte [rbp - 9]
mov byte [rbp - 0x63], al
cmp rcx, 0
mov byte [rbp - 0x62], al
je 0x1401ebfbd
mov al, byte [rbp - 0x63]
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 0x62], al
jne 0x1401ebfbd
mov eax, dword [0x140223870]
mov ecx, dword [0x140223874]
mov edx, 0x151b70aa
xor edx, 0x8ebbac82
xor ecx, edx
add eax, ecx
sub eax, 0x5ac31ee9
mov ecx, 0xbadc6db9
xor ecx, 0x45239246
mov edx, eax
xor edx, ecx
mov ecx, eax
xor ecx, 0xffffffff
or edx, ecx
and edx, 0x73f9f12e
xor edx, 0xffffffff
mov ecx, 0x8f205732
xor ecx, 0xfcd9a61c
mov r8d, 0xd63b4d03
xor r8d, 0x29c4b2fc
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x73f9f12e
or ecx, r8d
xor eax, 0xffffffff
mov r8d, 0x7657c425
xor r8d, 0x89a83bda
xor ecx, r8d
or eax, ecx
mov ecx, 0xbe0c7ca0
xor ecx, 0x41f3835f
xor edx, ecx
xor eax, 0xffffffff
or edx, eax
mov ecx, edx
xor ecx, 0xc0964a37
mov eax, 0xffffffff
xor eax, 0xc0964a37
and edx, eax
mov eax, 0x524b4a04
xor eax, 0x524b4a06
imul eax, edx
sub eax, ecx
mov ecx, 0x58b096e7
xor ecx, 0x3ab2bef9
cmp eax, ecx
jb 0x1401ec12c
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x140223878]
mov edx, dword [0x14022387c]
xor edx, 0xb1d8b0b
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0x1465ec27
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0xbae59475
xor r9d, 0xae807852
mov r8d, eax
and r8d, r9d
mov r9d, 0xf3d09e61
xor r9d, 0xe7b57246
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x65a3d6f3
xor r8d, 0x8f69cf5f
mov edx, eax
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xeaca19ac
and eax, r8d
shl eax, 1
sub eax, edx
mov edx, 0xffffffff
xor edx, 0xfea1b604
add eax, edx
add eax, 1
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.140010918
mov rcx, qword [rbp + 0x80]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x64], cl
cmp eax, 0xa7d260c7
je 0x1401ec12c
mov al, byte [rbp - 0x64]
mov byte [rbp - 0x62], al
jmp 0x1401ebfbd
mov al, byte [rbp - 0x62]
cmp al, 0
je 0x1401ec111
sub rsp, 0x20
call fcn.1401e7dfe
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1401ec111
mov eax, dword [0x140223880]
mov ecx, 0x6843acaf
xor ecx, 0x13f3984
xor eax, ecx
mov ecx, dword [0x140223884]
xor ecx, 0x37e5c88f
xor edx, edx
div ecx
imul eax, eax, 0x8d7b8c03
imul eax, eax, 0x28c019ba
mov edx, eax
xor edx, 0xffffffff
and edx, 0xaebac6bb
mov r8d, 0xc36a09d3
xor r8d, 0x6dd0cf68
mov ecx, 0xf5c53d4b
xor ecx, 0xa3ac2b4
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x92ae14bd
xor r8d, 0x3c14d206
mov edx, eax
and edx, r8d
or eax, 0xaebac6bb
imul eax, edx
add eax, ecx
mov ecx, 0xa901b0bc
xor ecx, 0x3c3f62b8
cmp eax, ecx
jbe 0x1401ec135
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x140223888]
xor eax, 0x551912fb
add eax, dword [0x14022388c]
imul eax, eax, 0x74828018
xor edx, edx
sub edx, 0x894769dd
add eax, edx
add eax, 0xb627c6a4
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xc5722261
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xea76c0c6
jae 0x1401ec135
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401ec0c9
jmp 0x1401ec111
mov rax, qword [rbp + 0x80]
mov cl, 0xe4
xor cl, 0xe4
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401e7e10
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400a4060
mov rax, qword [rbp + 0x80]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ec111
sub rsp, 0x20
call fcn.1401e7e3d
add rsp, 0x20
lea rsp, [rbp + 0x130]
pop rbp
ret
and dword [rbx + 0x23], esi
push rax
jmp 0x1401eb750
invalid
mov ds, word [rdi - 0x43163510]
std
invalid
insb byte [rdi], dx
mov ebx, 0x35e9708f
invalid