Function at 0x14017a5d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x220
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x28], r8
mov qword [rbp + 0x30], rdx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x20
mov qword [rbp - 0x10], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.140189826
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x40], rcx
add rcx, 0x50
mov qword [rbp + 0x20], rcx
movabs rcx, 0xf971cf914114a61f
movabs rdx, 0xf971cf914114a61f
xor rcx, rdx
mov qword [rax], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x28], rcx
mov qword [rax + 8], 0
movabs rdx, 0x60798f3d4e07fca
movabs rax, 0x60798f3d4e07fd2
xor rdx, rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.1401783e0
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rbp + 0x160], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x168], rax
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.1400948a0
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov al, 1
cmp byte [rcx + 0x50], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov ecx, pe_nt_image_headers64
mov edx, 8
sub rsp, 0x20
call fcn.14001dd49
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x140], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0x140]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov r8, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x158]
mov qword [rax], r8
mov qword [rax + 8], rdx
mov rax, qword [rcx]
mov qword [rbp + 0x178], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x180], rax
sub rsp, 0x20
call fcn.140011160
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rbp + 0x178]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x180]
mov qword [rax + 0x18], rcx
mov ax, 0x88cc
xor ax, 0x8e9a
mov word [rbp + 0x176], ax
lea rcx, [rbp + 0x176]
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rcx]
mov qword [rbp + 0x118], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x120], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x128]
lea rdx, [rbp + 0x118]
sub rsp, 0x20
call fcn.140161b50
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x128]
mov qword [rax + 0x20], rdx
mov rdx, qword [rbp + 0x130]
mov qword [rax + 0x28], rdx
mov rdx, qword [rbp + 0x138]
mov qword [rax + 0x30], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov rcx, qword [rbp - 0x18]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401783e0
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov ax, 0x987e
xor ax, 0x9f18
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x48], rcx
mov cl, byte [rax]
mov dl, 0xd1
xor dl, 0xd1
mov al, 1
cmp cl, dl
mov byte [rbp - 0x39], al
jne 0x14017aadb
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x30]
mov r8, qword [rdx]
mov qword [rbp + 0xf0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xf8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0xe0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0xf0]
lea r8, [rbp + 0xe0]
sub rsp, 0x20
call fcn.140161b50
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x14017aadb
mov rax, qword [rbp - 0x18]
mov al, byte [rax + 0x10]
mov cl, 0x64
xor cl, 0x64
cmp al, cl
jne 0x14017aa3e
mov ax, 0xde12
xor ax, 0xdbdc
mov word [rbp + 0xde], ax
lea rcx, [rbp + 0xde]
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x14017aa34
mov r8, qword [rbp + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x30]
mov r9, qword [rdx]
mov qword [rbp + 0xc8], r9
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xd0], rdx
mov rdx, qword [rax]
mov qword [r8], rdx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.140161b50
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017aa34
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp]
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rdx, qword [rax + 8]
mov qword [rbp + 0xb8], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140062f10
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
je 0x14017aa3e
mov al, 1
mov byte [rbp - 0x39], al
jmp 0x14017aadb
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
mov qword [rbp + 0x188], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x190], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x198], rax
sub rsp, 0x20
call fcn.140062c90
add rsp, 0x20
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x110], rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.140062c90
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x100]
mov qword [rcx + 0x38], rdx
mov rdx, qword [rbp + 0x108]
mov qword [rcx + 0x40], rdx
mov rdx, qword [rbp + 0x110]
mov qword [rcx + 0x48], rdx
mov al, byte [rax]
mov byte [rbp - 0x39], al
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x39]
mov byte [rbp - 0x52], dl
mov dl, 0xd
xor dl, 0xd
mov byte [rax], dl
sub rsp, 0x20
call fcn.140062d80
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x51], al
jne 0x14017ac13
mov r11d, dword [0x14020aa70]
xor r11d, 0x7f5b1026
and r11d, dword [0x14020aa74]
mov eax, 0x363100e5
xor eax, 0x363100e5
mov ecx, 0xef651c2d
xor ecx, 0xcbc7709a
sub eax, ecx
sub r11d, eax
add r11d, 0x7f05c2cd
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x480aa455
mov edx, 0xffffffff
xor edx, 0x43d7852c
mov eax, ecx
and eax, 0x43d7852c
and r11d, edx
mov r9d, r8d
and r9d, 0x43d7852c
mov r10d, edx
and r10d, 0x480aa455
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x43d7852c
and ecx, edx
or eax, ecx
cmp eax, 0x9ab596ef
ja 0x14017b11e
mov r8b, byte [rbp - 0x52]
mov eax, dword [0x14020aa78]
mov ecx, dword [0x14020aa7c]
xor ecx, 0xf5c070b1
add eax, ecx
sub eax, 0x732b2057
mov ecx, 0x129113dc
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x20]
and eax, 0x81ffe594
mov ecx, 0xadeba726
xor ecx, 0xdcfaa484
mov r9b, 0xa5
xor r9b, 0xa5
cmp r8b, r9b
sete r9b
mov byte [rbp - 0x53], r9b
mov byte [rdx], r8b
cmp eax, ecx
je 0x14017aba5
mov al, byte [rbp - 0x52]
mov cl, byte [rbp - 0x53]
test cl, 1
mov byte [rbp - 0x51], al
jne 0x14017ad23
jmp 0x14017ac13
mov al, byte [rbp - 0x51]
mov byte [rbp - 0x54], al
mov eax, dword [0x14020aa80]
mov ecx, 0x602550fd
xor ecx, 0xe100374f
xor eax, ecx
add eax, dword [0x14020aa84]
or eax, 0xe9ef698c
and eax, 0x792ce2b8
mov edx, 0xbe323ed8
xor edx, 0xbe323ed9
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0xd636ce6c
add eax, ecx
cmp eax, 0xf50dd9ce
je 0x14017b127
mov ecx, dword [0x14020aa88]
mov edx, dword [0x14020aa8c]
xor edx, 0x3d0d360a
mov eax, ecx
and eax, edx
mov r8d, 0xbe52ed75
xor r8d, 0x41ad128a
xor eax, r8d
mov r8d, 0x397f0a3a
xor r8d, 0xc680f5c5
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, 0x28153a54
xor edx, 0x17399882
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0xe69a3403
xor edx, 0xd9b696d5
add eax, edx
sub eax, ecx
mov ecx, 0x2c6643a5
xor ecx, 0xd399bc5a
xor eax, ecx
mov edx, 0x4df81bf7
xor edx, 0xf6195e8
mov ecx, 0xef84c358
xor ecx, 0x107b3ca7
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xa23ab1dd
or eax, edx
or ecx, 0xa23ab1dd
xor eax, 0xffffffff
and eax, ecx
sub eax, 0xe146cd5b
sub eax, 0x748cbb56
add eax, 0xe146cd5b
cmp eax, 0xea17372a
je 0x14017b127
mov al, byte [rbp - 0x54]
mov byte [rbp + 0x4f], al
jmp 0x14017af3b
mov word [rbp + 0x174], 0x906
lea rcx, [rbp + 0x174]
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov r8, qword [rbp + 0x18]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rcx]
mov qword [rbp + 0x88], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x90], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.140161b50
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x98]
mov qword [rax + 0x50], rdx
mov rdx, qword [rbp + 0xa0]
mov qword [rax + 0x58], rdx
mov rdx, qword [rbp + 0xa8]
mov qword [rax + 0x60], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov eax, dword [0x14020aa90]
and eax, dword [0x14020aa94]
mov r8d, 0xffffffff
xor r8d, 0xf64d87ac
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa5987dce
xor r8d, 0x5a678231
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf64d87ac
or eax, 0xf64d87ac
imul eax, edx
add eax, ecx
add eax, 0x1770a922
or eax, 0x1e6b1b39
cmp eax, 0xe205dcbc
je 0x14017b130
mov eax, dword [0x14020aa98]
sub eax, dword [0x14020aa9c]
add eax, 0x7e69d6fb
and eax, 0x7894a8a1
or eax, 0x7bf1c339
mov dword [rbp - 0x74], eax
mov word [rbp + 0x172], 0x53b
lea rcx, [rbp + 0x172]
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x74]
mov qword [rbp - 0x70], rdx
mov cl, byte [rcx]
mov dl, 0xba
xor dl, 0xba
cmp cl, dl
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x7394a825
je 0x14017b130
mov cl, byte [rbp - 0x61]
mov al, 1
test cl, 1
mov byte [rbp + 0x4f], al
jne 0x14017aead
jmp 0x14017af3b
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rcx]
mov qword [rbp + 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x68], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
lea r8, [rbp + 0x50]
sub rsp, 0x20
call fcn.140161b50
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x70]
mov qword [rax + 0x68], rdx
mov rdx, qword [rbp + 0x78]
mov qword [rax + 0x70], rdx
mov rdx, qword [rbp + 0x80]
mov qword [rax + 0x78], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x4f], al
jne 0x14017af3b
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14002c520
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x4f], al
mov rax, qword [rbp + 0x20]
mov cl, byte [rbp + 0x4f]
mov byte [rbp - 0x75], cl
mov cl, 0x30
xor cl, 0x30
mov byte [rax], cl
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.140062d80
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017b115
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x14017b03d
mov rax, qword [rbp - 0x80]
mov rax, qword [rax]
movabs rcx, 0x22c5f716c32ce755
movabs rdx, 0xdd3a08e93cd318aa
xor rcx, rdx
xor rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0xdc23284c79ec95e0
movabs r8, 0xbb085352dd3f3111
xor rdx, r8
movabs r8, 0xafd44c25766ac8c8
movabs r9, 0x502bb3da89953737
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x9a8ffdd23291cb87
movabs r8, 0xfda486cc96426f76
xor rcx, r8
or rcx, rdx
movabs rdx, 0xe8dc2c2c2bc27bb1
movabs r8, 0x1723d3d3d43d844e
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14017b03d
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [0x14020aaa0]
imul eax, dword [0x14020aaa4]
xor ecx, ecx
sub ecx, 0x3c95a014
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x9e8d60eb
xor ecx, 0xfefb3f15
mov edx, 0x60b0c9b4
xor edx, 0xc6964a
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xcf9489fc
xor edx, 0x306b7603
xor ecx, edx
or eax, ecx
sub eax, 0xf680c473
mov ecx, 0x1bd8bbff
xor ecx, 0x70c12c7d
cmp eax, ecx
jbe 0x14017b139
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp - 0x75]
mov eax, dword [0x14020aaa8]
mov r8d, dword [0x14020aaac]
xor r8d, 0x511b4520
imul eax, r8d
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0xbe1a2ee
add r8d, eax
mov eax, 0x7ba3ae6b
xor eax, 0x7ba3ae6b
sub eax, r8d
imul eax, eax, 0x1f78dfc0
mov r9d, 0xffffffff
xor r9d, 0xf7976ab7
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0xf7976ab7
add eax, r9d
sub eax, r8d
mov byte [rcx], dl
cmp eax, 0xdae64901
jbe 0x14017b09e
jmp 0x14017b115
lea rsp, [rbp + 0x1a0]
pop rbp
ret
lahf
invalid
test eax, 0xe97efd21
xor bl, bh
invalid
mov esi, 0xe94d1c77
sti
cld
invalid
ret 0xef0d