Function at 0x1401a81f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x50], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.1401af52d
add rsp, 0x20
mov qword [rbp + 0x70], rax
add rax, 0x60
mov qword [rbp + 0x68], rax
mov ax, 0x3757
xor ax, 0x32d3
mov word [rbp + 0x12e], ax
lea rcx, [rbp + 0x12e]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x78], rcx
cmp byte [rax + 0x60], 0
jne 0x1401a8a1d
mov eax, dword [0x1401e0450]
mov edx, dword [0x1401e0454]
mov ecx, 0xdd925840
xor ecx, 0x226da7bf
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xc850207d
or eax, edx
or ecx, 0xc850207d
mov edx, 0x6c7759b3
xor edx, 0x9388a64c
xor eax, edx
and eax, ecx
mov ecx, 0x27fef07e
xor ecx, 0x2c81bd13
or eax, ecx
xor eax, 0xead6f132
and eax, 0xe9e5b3af
cmp eax, 0x4624b53d
jb 0x1401a8a98
mov rdx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x78]
mov ecx, dword [0x1401e0458]
sub ecx, dword [0x1401e045c]
add ecx, 0x1c2ce38c
add ecx, 0x3bea0e8f
xor r8d, r8d
sub r8d, 0xc3ded611
add ecx, r8d
mov dword [rbp + 0x14], ecx
mov ecx, 0x4be5f828
xor ecx, 0x13c8a168
mov dword [rbp + 0x10], ecx
mov rcx, qword [0x1401eb878]
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.1401a3acf
mov rdx, qword [rbp + 0x68]
mov ecx, dword [rbp + 0x10]
mov eax, dword [rbp + 0x14]
add rsp, 0x20
mov r8, qword [rbp + 0x118]
mov qword [rbp + 0x18], r8
mov r8, qword [rbp + 0x120]
mov qword [rbp + 0x20], r8
mov dl, byte [rdx]
mov r8b, 0xa1
xor r8b, 0xa1
cmp dl, r8b
sete dl
mov byte [rbp + 0x2f], dl
cmp eax, ecx
jb 0x1401a8319
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x1401a83e6
jmp 0x1401a8a1d
movabs rcx, 0x2ba04244f6fa5763
movabs rax, 0x2ba04244f6fa5762
xor rcx, rax
movabs rdx, 0x212713d720d36b12
movabs rax, 0x212713d720d36b1a
xor rdx, rax
movabs r8, 0x9e6bec29d932c8a0
movabs rax, 0x9e6bec29d932c8a8
xor r8, rax
sub rsp, 0x20
call fcn.1400105f0
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
add rsp, 0x20
mov qword [rbp - 8], rax
mov word [rbp + 0x12c], 0x6ef
lea rcx, [rbp + 0x12c]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp], rcx
mov cl, byte [rax]
mov dl, 0x58
xor dl, 0x58
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14001d024
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x100]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0xf471
xor cx, 0xff0f
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov ecx, 0x1dd
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov qword [rax + 8], rcx
mov cx, 0xeceb
xor cx, 0xeea3
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov r8d, dword [rbp - 0x14]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xd8], 1
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140134a30
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x20], rcx
mov cl, byte [rax]
mov dl, 0x94
xor dl, 0x94
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov rcx, qword [rbp + 0x38]
mov word [rcx], 0x715
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x28], rcx
mov cl, byte [rax]
mov dl, 0x4c
xor dl, 0x4c
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14001d024
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xa8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
lea r8, [rbp + 0xb8]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xa8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140134590
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x68]
mov dword [rbp - 0x2c], ecx
mov cl, byte [rax]
mov dl, 0xc4
xor dl, 0xc4
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x1401a89c0
mov ecx, dword [0x1401e0460]
imul ecx, dword [0x1401e0464]
sub ecx, 0x247b1243
mov eax, ecx
and eax, eax
mov edx, 0x9be52f20
xor edx, 0x641ad0df
xor eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3060cdfc
or eax, edx
mov edx, 0xffffffff
xor edx, 0x3060cdfc
mov r8d, 0xffffffff
xor r8d, 0x3060cdfc
or edx, r8d
and ecx, edx
mov edx, 0x453a7358
xor edx, 0xbac58ca7
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x10e9aa52
xor edx, 0xef1655ad
xor ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x51797a7b
xor edx, 0xae868584
xor eax, edx
mov edx, 0xfd10da88
xor edx, 0xae08d93d
or eax, edx
add eax, ecx
cmp eax, 0x67a3010
je 0x1401a8aa1
mov eax, dword [0x1401e0468]
xor eax, 0x4ae0b6be
mov ecx, dword [0x1401e046c]
xor ecx, 0x1fb2dd64
add eax, ecx
xor eax, 0xc624d058
or eax, 0x39c22f26
add eax, 0xb64b8f4c
mov dword [rbp - 0x40], eax
mov eax, 0x12719711
mov dword [rbp - 0x44], eax
sub rsp, 0x20
mov cx, 0x5d1
call fcn.140062790
mov rdx, qword [rbp + 0x68]
mov r9d, dword [rbp - 0x2c]
mov ecx, dword [rbp - 0x44]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x40]
mov dl, byte [rdx]
mov byte [rbp - 0x3a], dl
test dl, dl
sete dl
movsxd r9, r9d
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x39], dl
cmp eax, ecx
jb 0x1401a8761
mov al, byte [rbp - 0x3a]
mov cl, byte [rbp - 0x39]
test cl, 1
mov byte [rbp - 0x45], al
jne 0x1401a87ef
jmp 0x1401a89ba
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov cx, 0xe148
xor cx, 0xe916
sub rsp, 0x20
call fcn.140062c50
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a897a
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov word [rbp + 0xa6], 0xb2c
lea rcx, [rbp + 0xa6]
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a897a
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
mov qword [rbp + 0x90], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14001d024
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x70]
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 + 0x80]
sub rsp, 0x20
call fcn.140070540
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov r8, qword [rbp + 0x80]
mov qword [rcx + 0x10], r8
mov r8, qword [rbp + 0x88]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a897a
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x30]
mov rcx, qword [0x1401eb108]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401eb110]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140027d11
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x71], dl
mov dl, 0xaf
xor dl, 0xaf
mov byte [rax], dl
sub rsp, 0x20
call fcn.1401a0b63
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x45], al
jne 0x1401a89ba
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp + 0x68]
mov byte [rcx], al
mov byte [rbp - 0x45], al
mov al, byte [rbp - 0x45]
mov byte [rbp + 0xf], al
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp + 0xf]
mov byte [rbp - 0x73], al
cmp rcx, 0
mov byte [rbp - 0x72], al
je 0x1401a8a12
mov al, byte [rbp - 0x73]
mov rdx, qword [rbp + 0x20]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 0x72], al
jne 0x1401a8a12
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000eb2e
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x72], al
mov al, byte [rbp - 0x72]
cmp al, 0
je 0x1401a8a8f
sub rsp, 0x20
call fcn.1401a3b4b
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x1401a8a8f
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401a8a8f
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a3b5d
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a8a8f
sub rsp, 0x20
call fcn.1401a3bc0
add rsp, 0x20
lea rsp, [rbp + 0x130]
pop rbp
ret
rcr dword [rsp + r8*4 - 0x78717], 0xff
imul edx, edi, 0xb7e9cc45
cld
invalid