Function at 0x140044690
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x1e0], rbx
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r15d, r9d
movzx esi, r8b
mov r14d, edx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
test r8b, r8b
jne 0x140044829
mov dword [rsp + 0x20], r12d
lea r8, [rsp + 0x20]
mov rdx, qword [str.mode]
call fcn.1400422a0
test al, al
je 0x14004470f
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0xf8], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.daysBetweenChecks]
mov rcx, rbx
call fcn.1400422a0
test al, al
je 0x140044731
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0xfc], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.daysBetweenChecksMax]
mov rcx, rbx
call fcn.1400422a0
test al, al
je 0x140044753
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x100], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.allowOfflineOnCheck]
mov rcx, rbx
call fcn.1400422a0
test al, al
je 0x140044775
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x104], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.currentDirProtection]
mov rcx, rbx
call fcn.1400422a0
test al, al
je 0x140044797
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x108], eax
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x20]
xor r8d, r8d
mov rdx, qword [str.currentDirEndings]
mov rcx, rbx
call fcn.140042350
test al, al
je 0x140044829
mov eax, dword [rsp + 0x20]
test eax, eax
jle 0x140044829
inc eax
movsxd rcx, eax
call qword [0x140101f00]
mov rdi, rax
lea r9, [rsp + 0x20]
mov r8, rax
mov rdx, qword [str.currentDirEndings]
mov rcx, rbx
call fcn.140042350
test al, al
je 0x140044820
mov rcx, qword [rbx + 0x110]
test rcx, rcx
je 0x1400447f9
call fcn.1400fd254
mov eax, dword [rsp + 0x20]
inc eax
movsxd rcx, eax
call fcn.1400fd24c
mov qword [rbx + 0x110], rax
mov r8, rdi
lea rdx, [0x14017a11c]
mov rcx, rax
call fcn.1400109d0
mov rcx, rdi
call qword [0x140101ef8]
lea rax, [0x14017eb40]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x48]
call qword [0x1401013e0]
nop
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [0x1401013d8]
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x2c], edx
mov edx, 2
lea rcx, [rsp + 0x38]
call fcn.14003c380
nop
test sil, sil
je 0x1400448ac
mov rdi, qword [rbx + 0x118]
mov r14d, dword [rbx + 0x128]
jmp 0x1400448d4
call qword [0x1401012e0]
mov rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
lea rdi, [rcx + rdx]
sar rdi, 0x17
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov rdx, qword [str.lastCheck]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov rdx, rdi
call qword [0x1401013c8]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.lastStatus]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, r14d
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.mode]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0xf8]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.daysBetweenChecks]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0xfc]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.daysBetweenChecksMax]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x100]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.allowOfflineOnCheck]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x104]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.currentDirProtection]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x108]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rsi, qword [rbx + 0x110]
test rsi, rsi
je 0x140044ac6
mov rdx, qword [str.currentDirEndings]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov rdx, rsi
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.unreportedRuns]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov edx, r15d
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
mov rdx, qword [str.lastCheck]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eb2c]
call fcn.140001280
mov rcx, rax
mov rdx, rdi
call qword [0x1401013c8]
mov rcx, rax
lea rdx, [0x14017eb48]
call fcn.140001280
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.140044090
nop
mov qword [rbp + 0x78], 0xf
mov qword [rbp + 0x70], r12
mov byte [rbp + 0x60], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x60]
call fcn.1400044f0
nop
movsxd r15, dword [rbp + 0x30]
mov rcx, r15
call fcn.1400fd24c
mov r14, rax
xor ecx, ecx
call qword [0x140102110]
mov rcx, rax
call qword [0x140102128]
mov rdi, r12
test r15d, r15d
jle 0x140044bcb
call qword [0x140102120]
mov r8d, eax
mov eax, 0x81020409
imul r8d
add edx, r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x7f
sub r8d, ecx
inc r8b
mov byte [rdi + r14], r8b
inc rdi
cmp rdi, r15
jl 0x140044b98
mov rcx, r15
call fcn.1400fd24c
mov rdi, rax
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.1400fddca
mov r8, r12
test r15d, r15d
jle 0x140044c16
mov r9, r14
sub r9, rdi
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
lea rcx, [r8 + rdi]
movzx eax, byte [rcx + r9]
xor al, byte [rdx + r8]
mov byte [rcx], al
inc r8
cmp r8, r15
jl 0x140044bf1
lea esi, [r15 + r15]
movsxd r12, esi
mov rcx, r12
call fcn.1400fd24c
mov r13, rax
xor r9d, r9d
xor ecx, ecx
test esi, esi
jle 0x140044caa
dec r15d
mov r8, rax
mov r10, r14
mov r11, rdi
nop dword [rax]
cmp r9d, r15d
jg 0x140044c97
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
je 0x140044c97
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
cmp ecx, edx
je 0x140044c97
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
cmp ecx, edx
je 0x140044c97
movzx eax, byte [r11]
inc r9d
inc r11
jmp 0x140044c9e
movzx eax, byte [r10]
inc r10
mov byte [r8], al
inc ecx
inc r8
cmp ecx, esi
jl 0x140044c40
mov rcx, rdi
call fcn.1400fd254
mov rcx, r14
call fcn.1400fd254
mov ecx, 0x3e8
call fcn.1400fd24c
mov rdi, rax
mov r9d, dword [rbx + 0x28]
mov r8, qword [rbx + 0x18]
mov edx, 4
mov rcx, rax
call fcn.1400424a0
mov rdx, rdi
lea rcx, [rbp + 0x40]
call fcn.140044590
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rcx, qword [rbp + 0x40]
lea rdx, [0x14017e8f8]
call qword [0x1401020a0]
mov rbx, rax
test rax, rax
je 0x140044d28
mov r9, rax
mov r8, r12
mov edx, 1
mov rcx, r13
call qword [0x140102048]
mov rcx, rbx
call qword [0x140102058]
mov rcx, rdi
call fcn.1400fd254
mov rax, qword [rbp + 0x58]
cmp rax, 8
jb 0x140044da4
inc rax
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
jbe 0x140044d57
call qword [0x140102008]
int3
add rax, rax
cmp rax, 0x1000
jb 0x140044d9f
test byte [rbp + 0x40], 0x1f
je 0x140044d6f
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140044d7f
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140044d8f
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140044d9c
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc8a8
mov qword [rbp + 0x58], 7
xor ebx, ebx
mov qword [rbp + 0x50], rbx
mov word [rbp + 0x40], bx
mov rax, qword [rbp + 0x78]
cmp rax, 0x10
jb 0x140044e10
inc rax
mov rcx, qword [rbp + 0x60]
cmp rax, 0x1000
jb 0x140044e0b
test cl, 0x1f
je 0x140044ddb
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140044deb
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140044dfb
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140044e08
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc8a8
mov qword [rbp + 0x78], 0xf
mov qword [rbp + 0x70], rbx
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x140044e7a
inc rax
mov rcx, qword [rbp + 0x20]
cmp rax, 0x1000
jb 0x140044e75
test cl, 0x1f
je 0x140044e45
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140044e55
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140044e65
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140044e72
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc8a8
mov qword [rbp + 0x38], 0xf
mov qword [rbp + 0x30], rbx
mov byte [rbp + 0x20], 0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x2c], edx
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x38]
call fcn.1400412a0
lea rcx, [rsp + 0x38]
call qword [0x140101408]
lea rcx, [rsp + 0x40]
call qword [0x1401013d0]
lea rcx, [rbp - 0x48]
call qword [0x1401013e8]
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1400fcc70
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret