Function at 0x14014f8b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.140167250
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x28], rax
mov rax, qword [0x140279cd0]
mov al, byte [rax]
mov cl, 0x81
xor cl, 0x81
cmp al, cl
jne 0x14014f9a0
movabs rcx, 0x38ae5d8c0a7d6a19
movabs rax, 0x38ae5d8c0a7d6a59
xor rcx, rax
movabs rdx, 0x375cba278922b44f
movabs rax, 0x375cba278922b447
xor rdx, rax
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402085d0]
mov qword [rcx], rax
lea rax, [0x140207c78]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207d28]
mov qword [rcx + 0x18], rax
mov rax, qword [str.h__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207c78]
lea r8, [0x140207cde]
lea r9, [0x140207c93]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x454349dc
call fcn.140016090
add rsp, 0x30
jmp 0x140150099
mov rax, qword [rbp + 0x20]
mov qword [rax], 0
mov rax, qword [0x140208980]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140064fa8
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov al, byte [rax]
mov cl, 0x8a
xor cl, 0x8a
cmp al, cl
jne 0x14014fc26
mov rax, qword [0x140208980]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rax
mov ecx, dword [0x1401fab78]
mov r8d, dword [0x1401fab7c]
mov eax, 0x6f116197
xor eax, 0xb57f78e4
xor r8d, eax
mov eax, 0x7adced4f
xor eax, 0x852312b0
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0x7a3232c6
sub ecx, 0x6a77d823
mov eax, 0x3acbd2f8
xor eax, 0x40f9e03e
add ecx, eax
mov eax, 0x91fb08c3
xor eax, 0x93cb4c25
add ecx, eax
mov edx, 0x389962d1
xor edx, 0x7cfc4d05
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, 0x44652fd4
mov edx, 0xea420718
xor edx, 0x15bdf8e7
xor ecx, edx
mov edx, 0x6fcf181d
xor edx, 0x9030e7e2
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xa8a6e086
ja 0x14015009f
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
mov eax, dword [0x1401fab80]
mov r10d, dword [0x1401fab84]
mov r8d, 0x191120c4
xor r8d, 0xe6eedf3b
mov r9d, r10d
xor r9d, r8d
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, r8d
and eax, 0xdf661441
mov r8d, 0x4c37e33a
xor r8d, 0x936c295a
or eax, r8d
or eax, 0x6ed65c81
cmp rcx, rdx
setl cl
mov byte [rbp + 7], cl
cmp eax, 0xfc4a92a6
jb 0x14015009f
mov al, byte [rbp + 7]
test al, 1
jne 0x14014fb19
jmp 0x14014fc26
mov rax, qword [rbp + 8]
mov rcx, qword [0x140208980]
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
cmp rax, rcx
jl 0x14014fb59
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x14014fc26
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x20], rcx
lea rdx, [rdx + rdx*2]
mov rcx, qword [rcx + rdx*8 + 8]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x11], al
or al, cl
test al, 1
jne 0x14014fc05
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp - 0x20]
add rax, 8
imul rdx, rdx, 0x18
add rax, rdx
add rax, 0x10
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400a1ed0
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
cmp byte [rax], 0
je 0x14014fc15
mov rax, qword [rbp - 0x28]
cmp byte [rax + 1], 1
je 0x14014fc15
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400a2070
call fcn.1400a21c1
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
je 0x14014fc3f
jmp 0x140150066
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14014fc26
jmp 0x14014fc15
mov rax, qword [rbp + 8]
add rax, 1
mov qword [rbp + 0x18], rax
jmp 0x14014f9ec
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400a2070
add rsp, 0x20
jmp 0x140150099
mov rax, qword [0x140279cd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x30], rcx
cmp qword [rax + 8], 0
je 0x14014fdf2
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1401673a8
add rsp, 0x20
mov rax, qword [0x140279cd0]
mov qword [rbp - 0x40], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 1
jge 0x14014fdb8
mov eax, dword [0x1401fab88]
xor edx, edx
div dword [0x1401fab8c]
mov ecx, 0x59fd2e44
xor ecx, 0x1eb99d8b
imul eax, ecx
mov ecx, 0xa677bf4c
xor ecx, 0xd60cf92d
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x44f0bbde
xor edx, 0xbb0f4421
mov eax, ecx
xor eax, edx
and eax, 0x56da82cc
mov edx, 0xa229c51e
xor edx, 0xf4f347d2
mov r8d, 0x961be79d
xor r8d, 0x69e41862
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x9c14d47f
xor ecx, 0x8a9a1f86
cmp eax, ecx
jbe 0x1401500a8
mov rcx, qword [rbp - 0x38]
mov edx, dword [0x1401fab90]
xor edx, 0xfbea6c9d
mov r8d, dword [0x1401fab94]
xor edx, 0xffffffff
mov eax, 0x7e9d3b4b
xor eax, 0x8162c4b4
xor r8d, eax
mov eax, 0xffffffff
xor eax, 0x919a00a0
or edx, r8d
or eax, 0x919a00a0
mov r8d, 0xac4f1aab
xor r8d, 0x53b0e554
xor edx, r8d
and edx, eax
mov eax, edx
and eax, 0x435b585f
xor edx, 0x435b585f
or eax, edx
mov edx, 0xb732a00b
xor edx, 0x9edac3af
xor eax, edx
sub eax, 0x95c0e646
mov dword [rbp - 0x44], eax
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
movabs rdx, 0x3f771c5782144a8e
movabs rcx, 0x3f771c5782144a8e
xor rdx, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140016582
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, 0xcd48ba2d
jb 0x14014fcfd
jmp 0x140150066
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9e978f0d4266ab63
sub rsp, 0x20
call fcn.14009e440
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x3a
xor cl, 0x3a
cmp al, cl
jne 0x140150066
mov rax, qword [0x140208978]
mov rax, qword [rax]
mov rcx, qword [rax + 0x58]
mov qword [rbp + 0x40], rcx
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140020190
add rsp, 0x20
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1401373b0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov dl, byte [rax]
mov byte [rbp - 0x47], dl
mov dl, 0x59
xor dl, 0x59
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400f3e50
mov rcx, qword [rbp + 0x28]
mov al, byte [rbp - 0x47]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x31
xor dl, 0x30
mov byte [rbp - 0x46], dl
cmp cl, 0
mov byte [rbp - 0x45], al
je 0x14014fe85
mov al, byte [rbp - 0x46]
mov byte [rbp - 0x45], al
mov rax, qword [rbp + 0x28]
mov cl, byte [rbp - 0x45]
mov byte [rbp - 0x51], cl
mov byte [rax], 0
mov rax, qword [0x140279cd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x50], rcx
mov rax, qword [rax + 8]
movabs rcx, 0x74c4378633cf4dd7
movabs rdx, 0x74c4378633cf4dd7
xor rcx, rdx
cmp rax, rcx
je 0x14015005d
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.1401673a8
add rsp, 0x20
mov rax, qword [0x140279cd0]
mov qword [rbp - 0x68], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
cmp rax, 1
jge 0x14014ff22
mov rdx, qword [rbp - 0x60]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x140150066
mov eax, dword [0x1401fab98]
xor edx, edx
div dword [0x1401fab9c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xac0abee9
mov edx, 0xffffffff
xor edx, 0xac0abee9
and eax, edx
or ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x732919f1
xor edx, 0x8cd6e60e
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xedbbbf50
or eax, edx
mov edx, 0xedbbbf50
and edx, 0xedbbbf50
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xf3a823f0
xor edx, 0xc57dc0f
xor ecx, edx
or eax, ecx
mov ecx, 0x34a0435
xor ecx, 0xeae0351d
xor eax, ecx
mov ecx, 0xc0845794
xor ecx, 0x1c5812a4
cmp eax, ecx
ja 0x1401500b1
mov eax, dword [0x1401faba0]
xor eax, 0x58d54536
mov ecx, dword [0x1401faba4]
add eax, 0x94df16bf
sub eax, ecx
mov ecx, 0x66d41b65
xor ecx, 0xf20b0dda
sub eax, ecx
mov ecx, 0xa1d6428c
xor ecx, 0xbf4e590d
or eax, ecx
mov ecx, 0x10907fcf
xor ecx, 0xe81d8d0d
xor eax, ecx
mov ecx, 0xbfda7d47
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x60]
mov ecx, eax
mov rax, qword [rbp - 0x68]
mov dword [rbp - 0x70], ecx
mov ecx, 0xacb33e0f
xor ecx, 0x47268d61
mov dword [rbp - 0x74], ecx
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9e97fdaf4266ab63
sub rsp, 0x20
call fcn.14009e440
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x14014ffb0
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14015005d
jmp 0x140150066
mov rax, qword [rbp + 0x28]
mov cl, byte [rbp - 0x51]
mov byte [rax], cl
mov rax, qword [rbp + 0x28]
mov cl, byte [rax]
mov byte [rbp - 0x75], cl
mov cl, 0x77
xor cl, 0x77
mov byte [rax], cl
sub rsp, 0x20
call fcn.1400a0c40
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140150099
mov rax, qword [rbp + 0x28]
mov cl, byte [rbp - 0x75]
mov byte [rax], cl
mov ecx, dword [rax + 0x658d4808]
invalid
lea rsp, [rbp + 0x60]
pop rbp
ret
jrcxz 0x1401500f7
jmp 0x14014faa1
and dword [rdx + rax*2], eax
jp 0x140150096
cld
invalid
or byte [rbx], dl
adc al, 0xff
jmp 0x14014ffb0
cmp byte [rax - 0x77], cl
loope 0x140150144
mov dword [rbp], ecx