Function at 0x1401abad0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x250
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x18], r8
mov qword [rbp + 0x40], rdx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.1401bd2d0
add rsp, 0x20
mov qword [rbp + 0x48], rax
add rax, 0x50
mov qword [rbp + 0x30], rax
movabs rax, 0xd99ff560a1f606f3
movabs rcx, 0xd99ff560a1f606f3
xor rax, rcx
mov qword [rbp + 0x1c0], rax
lea rax, [rbp + 0x1c0]
add rax, 8
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x1c8], 0
movabs rdx, 0x16a496db0a4e6949
movabs rax, 0x16a496db0a4e6951
xor rdx, rax
lea rcx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.1401a98f7
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rbp + 0x180], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x180]
sub rsp, 0x20
call fcn.14009d130
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov al, 1
cmp byte [rcx + 0x50], 0
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
mov ecx, pe_nt_image_headers64
mov edx, 8
sub rsp, 0x20
call fcn.14001b8b0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x28], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x160], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x170]
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.14001cda0
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x178]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x198], rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x1a0], rax
lea rcx, [rbp + 0x1c0]
sub rsp, 0x20
call fcn.1400102b5
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, qword [rbp + 0x198]
mov qword [rax + 0x10], rdx
mov rdx, qword [rbp + 0x1a0]
mov qword [rax + 0x18], rdx
mov word [rcx], 0x89d
sub rsp, 0x20
call fcn.14006a0a0
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
mov r8, qword [rbp - 8]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rcx]
mov qword [rbp + 0x138], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x140], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x148]
lea rdx, [rbp + 0x138]
sub rsp, 0x20
call fcn.14017ddeb
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0x148]
mov qword [rax + 0x20], rdx
mov rdx, qword [rbp + 0x150]
mov qword [rax + 0x28], rdx
mov rdx, qword [rbp + 0x158]
mov qword [rax + 0x30], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
lea rcx, [rbp + 0x120]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401a98f7
mov rcx, qword [rbp]
add rsp, 0x20
mov word [rcx], 0xde0
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x38], rcx
mov cl, byte [rax]
mov dl, 0x72
xor dl, 0x72
mov al, 1
cmp cl, dl
mov byte [rbp - 0x29], al
jne 0x1401ac0ad
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rcx]
mov qword [rbp + 0xf8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x100], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xe8]
sub rsp, 0x20
call fcn.14017ddeb
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x29], al
jne 0x1401ac0ad
mov ecx, dword [0x14025bd88]
mov eax, dword [0x14025bd8c]
xor eax, 0x722e1e3f
add ecx, eax
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x113fa917
add ecx, eax
mov edx, 0x3da4dab2
xor edx, 0xec739e11
mov eax, ecx
and eax, edx
xor ecx, 0xd1d744a3
or eax, ecx
mov edx, 0x47b0680d
xor edx, 0x47b0680c
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0xaf40790c
xor edx, 0x3f93b62f
or eax, edx
add eax, ecx
mov ecx, 0xe9f5cd07
xor ecx, 0xe6b618ae
cmp eax, ecx
je 0x1401ac5af
mov eax, dword [0x14025bd90]
mov ecx, dword [0x14025bd94]
xor ecx, 0xe423ea78
mov edx, 0x228e91ac
xor edx, 0xdd716e53
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x29fbfc95
xor ecx, 0xa2db0cff
xor eax, ecx
mov ecx, 0x4c725fbf
xor ecx, 0x89cf9579
sub eax, ecx
mov ecx, 0x10329e19
xor ecx, 0x57bd5ee2
sub eax, ecx
cmp byte [rbp + 0x130], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xe7e433a1
ja 0x1401abeb9
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401abf30
jmp 0x1401ac003
mov rcx, qword [rbp + 8]
mov word [rcx], 0x311
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401abff9
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x40]
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 + 0xd0]
sub rsp, 0x20
call fcn.14017ddeb
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401abff9
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.140064bdd
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401ac003
mov al, 1
mov byte [rbp - 0x29], al
jmp 0x1401ac0ad
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x1b8], rax
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.140064800
add rsp, 0x20
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.140064800
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0x108]
mov qword [rcx + 0x38], rdx
mov rdx, qword [rbp + 0x110]
mov qword [rcx + 0x40], rdx
mov rdx, qword [rbp + 0x118]
mov qword [rcx + 0x48], rdx
mov al, byte [rax]
mov byte [rbp - 0x29], al
mov rax, qword [rbp + 0x30]
mov cl, byte [rbp - 0x29]
mov byte [rbp - 0x4a], cl
mov byte [rax], 0
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.140064900
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x49], al
jne 0x1401ac0f4
mov al, byte [rbp - 0x4a]
mov rcx, qword [rbp + 0x30]
mov byte [rcx], al
cmp al, 0
mov byte [rbp - 0x49], al
je 0x1401ac0ff
mov al, byte [rbp - 0x49]
mov byte [rbp + 0x57], al
jmp 0x1401ac3e8
mov word [rbp + 0x196], 0x187
lea rcx, [rbp + 0x196]
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x58], rcx
mov cl, byte [rax]
mov dl, 0xef
xor dl, 0xef
mov al, 1
cmp cl, dl
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rcx]
mov qword [rbp + 0x90], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x98], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x80]
sub rsp, 0x20
call fcn.14017ddeb
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0xa0]
mov qword [rax + 0x50], rdx
mov rdx, qword [rbp + 0xa8]
mov qword [rax + 0x58], rdx
mov rdx, qword [rbp + 0xb0]
mov qword [rax + 0x60], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
mov eax, dword [0x14025bd98]
xor eax, 0x21ac7960
and eax, dword [0x14025bd9c]
mov edx, 0x9e19dbf3
xor edx, 0x61e6240c
mov ecx, eax
xor ecx, edx
mov edx, 0x30c76f23
xor edx, 0x545f7318
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x64981c3b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xeba6b271
xor r8d, 0x8f3eae4a
mov edx, eax
and edx, r8d
mov r8d, 0x72261f7f
xor r8d, 0x16be0344
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xeceae767
mov ecx, 0xdd474743
xor ecx, 0x601fe890
and eax, ecx
cmp eax, 0x5f727f14
jae 0x1401ac5b8
mov eax, dword [0x14025bda0]
mov r8d, dword [0x14025bda4]
mov edx, 0x6642b010
xor edx, 0x99bd4fef
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x8ac15e4d
sub eax, ecx
mov ecx, 0x7d2687c2
xor ecx, 0xb6ec002a
mov edx, 0x91d4dfef
xor edx, 0x6e2b2010
xor ecx, edx
add eax, ecx
add eax, 1
mov edx, eax
xor edx, 0xffffffff
and edx, 0xee6d0d45
mov r8d, 0x7982f24e
xor r8d, 0x97efff0b
mov ecx, 0xd844849a
xor ecx, 0x27bb7b65
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x88d9201
xor r8d, 0xe6e09f44
mov edx, eax
and edx, r8d
or eax, 0xee6d0d45
imul eax, edx
add eax, ecx
mov dword [rbp - 0x6c], eax
mov ax, 0xd1d7
xor ax, 0xd81a
mov word [rbp + 0x194], ax
lea rcx, [rbp + 0x194]
sub rsp, 0x20
call fcn.14006a0a0
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x6c]
mov qword [rbp - 0x68], rdx
mov cl, byte [rcx]
mov dl, 0x87
xor dl, 0x87
cmp cl, dl
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xfa9dbaa7
je 0x1401ac5b8
mov cl, byte [rbp - 0x59]
mov al, 1
test cl, 1
mov byte [rbp + 0x57], al
jne 0x1401ac35e
jmp 0x1401ac3e8
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rcx]
mov qword [rbp + 0x58], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x60], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x58]
sub rsp, 0x20
call fcn.14017ddeb
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0x68]
mov qword [rax + 0x68], rdx
mov rdx, qword [rbp + 0x70]
mov qword [rax + 0x70], rdx
mov rdx, qword [rbp + 0x78]
mov qword [rax + 0x78], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x57], al
jne 0x1401ac3e8
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14002cca5
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x57], al
mov al, byte [rbp + 0x57]
mov byte [rbp - 0x6d], al
mov eax, dword [0x14025bda8]
mov ecx, 0x30f75fde
xor ecx, 0xd5fa8346
xor eax, ecx
imul eax, dword [0x14025bdac]
mov edx, eax
xor edx, 0x32de40fb
xor edx, 0xffffffff
mov ecx, 0x59d1407a
xor ecx, 0x6b0f0081
and ecx, edx
shl ecx, 1
mov edx, 0x45fce20e
xor edx, 0x7722a2f5
sub ecx, edx
sub eax, ecx
mov edx, 0x7bd02c4e
xor edx, 0x7bd02c4f
mov ecx, eax
add ecx, edx
mov edx, 0x33e4d602
xor edx, 0xcc1b29fd
xor eax, edx
or eax, 0xf713047d
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x35c31b5c
xor eax, 0x35c31b5c
mov edx, 0x4c52ea9
xor edx, 0xf6e4517f
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0xae5bd664
je 0x1401ac5c1
mov eax, dword [0x14025bdb0]
xor edx, edx
div dword [0x14025bdb4]
mov ecx, eax
xor ecx, 0x4d6a7dcf
mov edx, 0x33fc9b2
xor edx, 0xfcc0364d
xor ecx, edx
and ecx, 0x4d6a7dcf
shl ecx, 1
mov edx, 0xa86f6c18
xor edx, 0xe50511d7
sub ecx, edx
sub eax, ecx
mov ecx, 0x9047c94b
xor ecx, 0xb5352cef
xor edx, edx
div ecx
mov ecx, 0x2d35eae9
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x30]
mov dword [rbp - 0x74], ecx
mov ecx, 0x39143d20
xor ecx, 0xb1225f36
mov dword [rbp - 0x78], ecx
mov byte [rax], 0
lea rcx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.140064900
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x2d
xor r8b, 0x2d
cmp dl, r8b
sete dl
mov byte [rbp - 0x6e], dl
cmp eax, ecx
jae 0x1401ac5c1
mov al, byte [rbp - 0x6e]
test al, 1
jne 0x1401ac536
jmp 0x1401ac5a6
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1401ac59d
mov rax, qword [rbp - 0x80]
mov rax, qword [rax]
movabs rcx, 0x871e8beb9c707fe1
movabs rdx, 0xc71e8beb9c707fe1
xor rcx, rdx
and rax, rcx
movabs rcx, 0x999e52926c72577a
movabs rdx, 0x999e52926c72577a
xor rcx, rdx
cmp rax, rcx
jne 0x1401ac59d
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov rax, qword [rbp + 0x30]
mov cl, byte [rbp - 0x6d]
mov byte [rax], cl
lea rsp, [rbp + 0x1d0]
pop rbp
ret
xor byte [rax + 0x1e90b7e], cl
stc
invalid
cmp edx, esi
mov ecx, ebp
mov edi, esp
invalid
xlatb
invalid