Function at 0x14015e3d0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x14015e45c
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x30747146f84f3e04
movabs r8, 0xcf8b8eb907b0c1fb
xor rdx, r8
xor rax, rdx
movabs rdx, 0x8e366402519e8369
movabs r8, 0xce366402519e8369
xor rdx, r8
or rax, rdx
add rax, rcx
movabs rcx, 0x63ab30f1494ceb88
movabs rdx, 0x63ab30f1494ceb88
xor rcx, rdx
cmp rax, rcx
jne 0x14015e45c
mov rcx, qword [rsp + 0x70]
call fcn.14000e27f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x14015e647
mov eax, dword [0x1401e3e78]
xor eax, 0x7b5175c9
mov ecx, dword [0x1401e3e7c]
xor ecx, 0xf26261f9
sub eax, ecx
mov ecx, eax
and ecx, 0x5523b85e
shl ecx, 1
add eax, 0x5523b85e
sub eax, ecx
mov ecx, 0x4b276c34
xor edx, edx
div ecx
mov ecx, 0xe4b892d9
xor edx, edx
div ecx
cmp eax, 0x4bc12f27
ja 0x14015ebc4
mov rdx, qword [rsp + 0x60]
mov ecx, dword [0x1401e3e80]
xor ecx, 0xd9f722c1
mov eax, dword [0x1401e3e84]
mov r8d, 0xf80cac19
xor r8d, 0xc26decd9
xor eax, r8d
add ecx, 0xb543cdb9
sub ecx, eax
sub ecx, 0xb543cdb9
mov r8d, 0x999ea835
xor r8d, 0x7a279159
mov eax, 0xf335a79a
xor eax, 0xcca5865
xor r8d, eax
mov eax, ecx
xor eax, r8d
and eax, ecx
add eax, 0xf2a608ec
xor ecx, ecx
sub ecx, 0x85f164fb
sub eax, ecx
mov ecx, 0x6c0862c7
xor ecx, 0x9bf1b0c1
mov rdx, qword [rdx]
movabs r8, 0x9b7a143b47a1049a
movabs r9, 0xdb7a143b47a1049a
xor r8, r9
and rdx, r8
movabs r8, 0x1d436e1953ba9e12
movabs r9, 0x1d436e1953ba9e12
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rsp + 0x5f], dl
cmp eax, ecx
je 0x14015e4bc
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14015e583
jmp 0x14015e647
mov eax, dword [0x1401e3e88]
xor edx, edx
div dword [str.e_e_]
mov edx, eax
xor edx, 0xd58c5730
xor edx, 0xffffffff
mov ecx, 0x3a7df49f
xor ecx, 0xeff1a3af
and ecx, edx
shl ecx, 1
sub ecx, 0xd58c5730
sub eax, ecx
and eax, 0xabc4a043
mov ecx, 0x3259e166
xor ecx, 0xdd4e71a9
sub eax, ecx
cmp eax, 0x6b28770c
jbe 0x14015ebcd
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1401e3e90]
mov edx, dword [0x1401e3e94]
xor edx, 0x381726ca
sub eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xf0648738
mov edx, 0xffffffff
xor edx, 0x336a03b4
or eax, r8d
or edx, 0x336a03b4
mov r8d, 0x63b544d4
xor r8d, 0x9c4abb2b
xor eax, r8d
and eax, edx
or eax, 0x83f84ec4
and eax, 0x7dcba343
mov dword [rsp + 0x58], eax
call fcn.14000e27f
mov eax, dword [rsp + 0x58]
cmp eax, 0xfa174140
jae 0x14015e5d1
jmp 0x14015e647
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14015e69f
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14015e69f
mov rcx, qword [rsp + 0x50]
call fcn.14000e27f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x14015e85a
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015e85a
mov eax, dword [0x1401e3e98]
mov r8d, dword [0x1401e3e9c]
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, 0x2036f7bd
xor r9d, 0xdfc90842
mov edx, eax
xor edx, r9d
or ecx, edx
and ecx, r8d
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, 0xe5feda6d
xor eax, 0x1a012592
mov edx, ecx
xor edx, eax
and edx, 0xa5f42db8
mov r8d, 0xffffffff
xor r8d, 0xa5f42db8
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xa5f42db8
or ecx, 0xa5f42db8
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x6ad432c8
xor edx, 0x952bcd37
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x3018766e
mov r8d, 0xffffffff
xor r8d, 0x3018766e
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3018766e
and ecx, edx
or eax, ecx
mov ecx, 0x2908fce8
xor ecx, 0xd6f70317
xor eax, ecx
sub eax, 0xebd51716
cmp eax, 0xa55f8b00
jae 0x14015ebd6
mov rcx, qword [rsp + 0x48]
mov edx, dword [0x1401e3ea0]
xor edx, 0xeeff20a8
mov r8d, dword [0x1401e3ea4]
mov r9d, 0x62f3c05b
xor r9d, 0x9d0c3fa4
mov eax, edx
xor eax, r9d
mov r9d, 0x798f03aa
xor r9d, 0x8670fc55
xor edx, r9d
and eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov edx, 0x68ba7569
xor edx, 0x97458a96
xor eax, edx
imul eax, eax, 0xfa576c67
imul eax, eax, 0x34d97cf4
mov r8d, 0xffffffff
xor r8d, 0x48ef39b8
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x48ef39b8
add eax, r8d
sub eax, edx
mov dword [rsp + 0x44], eax
call fcn.14000e27f
mov eax, dword [rsp + 0x44]
cmp eax, 0x24bf3092
je 0x14015e7b8
jmp 0x14015e85a
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x14015eb02
mov eax, dword [0x1401e3ea8]
mov edx, dword [0x1401e3eac]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0xc6b70081
xor eax, 0xffffffff
and ecx, 0xc6b70081
mov edx, 0xc09a76b2
xor edx, 0x3f65894d
xor ecx, edx
and eax, ecx
mov ecx, 0x5e9d5846
xor ecx, 0xa162a7b9
xor eax, ecx
or eax, 0x4faec368
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6f23ff72
mov r8d, 0xffffffff
xor r8d, 0x6f23ff72
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6f23ff72
or eax, 0x6f23ff72
imul eax, edx
add eax, ecx
cmp eax, 0x22a0114e
jbe 0x14015ebdf
mov rcx, qword [rsp + 0x38]
mov r9d, dword [0x1401e3eb0]
xor r9d, 0x6d2fd8fb
mov eax, dword [0x1401e3eb4]
xor eax, 0x7347e325
mov edx, 0xcfbdb787
xor edx, 0xc7dacef3
add r9d, edx
sub r9d, eax
mov eax, 0xb1456376
xor eax, 0xb9221a02
sub r9d, eax
xor r9d, 0xa1c7bd2f
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x802680cc
mov r10d, 0xffffffff
xor r10d, 0x802680cc
and r9d, r10d
mov edx, 0xffffffff
xor edx, 0xf456c051
and edx, 0x802680cc
mov r8d, 0x751961f0
xor r8d, 0x814fa1a1
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
xor eax, 0x66350c74
mov rcx, qword [rcx]
or rcx, rcx
movabs rdx, 0x894bd659dffb9eee
movabs r8, 0x76b429a620046111
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
movabs r8, 0xce3064f34d7b247d
movabs r9, 0x31cf9b0cb284db82
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x62ab16eb
ja 0x14015e8ff
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14015ea0e
jmp 0x14015eb02
mov eax, dword [0x1401e3eb8]
sub eax, dword [0x1401e3ebc]
mov edx, 0x5dec3746
xor edx, 0xdd5cddbc
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x80b0eafa
add eax, ecx
mov ecx, 0xfbd7c5cc
xor edx, edx
div ecx
mov ecx, 0x65a38649
xor ecx, 0x8bead492
add eax, ecx
cmp eax, 0xd0191a86
je 0x14015ebe8
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401e3ec0]
add eax, dword [0x1401e3ec4]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x7547c994
mov r9d, 0xffffffff
xor r9d, 0x7547c994
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x7547c994
or eax, 0x7547c994
imul eax, r8d
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0x6a1ed703
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xd7676027
xor r9d, 0x28989fd8
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x6a1ed703
or eax, 0x6a1ed703
imul eax, r8d
add eax, edx
imul eax, eax, 0xc8c01f48
mov dword [rsp + 0x30], eax
call fcn.14000e27f
mov eax, dword [rsp + 0x30]
cmp eax, 0x8d9fd9c0
ja 0x14015ea54
jmp 0x14015eb02
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x14015eb66
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rcx, 0xb9aea177bf8d4a9d
movabs rdx, 0xf9aea177bf8d4a9d
xor rcx, rdx
and rax, rcx
movabs rcx, 0x1bcde43102168073
movabs rdx, 0x1bcde43102168073
xor rcx, rdx
cmp rax, rcx
jne 0x14015eb66
mov rcx, qword [rsp + 0x28]
call fcn.14000e27f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14015ebbe
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14015ebbe
or al, byte [rax]
add byte [rax], al
mov rcx, qword [rsp + 0x20]
call fcn.14000e27f
nop
add rsp, 0x78
add esp, 0x78
ret
mov eax, 0xe987023d
out dx, eax
clc
invalid
pop rsp
retf 0xa59d
leave
je 0x14015ebb0
jmp 0x14015e7b8
jb 0x14015ebc0
jmp 0x14015e8ff
push 0xa
invalid