Function at 0x140043eb0
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 0x140044049
mov dword [rsp + 0x20], r12d
lea r8, [rsp + 0x20]
mov rdx, qword [str.mode]
call fcn.140041ac0
test al, al
je 0x140043f2f
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0xf8], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.daysBetweenChecks]
mov rcx, rbx
call fcn.140041ac0
test al, al
je 0x140043f51
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0xfc], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.daysBetweenChecksMax]
mov rcx, rbx
call fcn.140041ac0
test al, al
je 0x140043f73
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x100], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.allowOfflineOnCheck]
mov rcx, rbx
call fcn.140041ac0
test al, al
je 0x140043f95
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x104], eax
lea r8, [rsp + 0x20]
mov rdx, qword [str.currentDirProtection]
mov rcx, rbx
call fcn.140041ac0
test al, al
je 0x140043fb7
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.140041b70
test al, al
je 0x140044049
mov eax, dword [rsp + 0x20]
test eax, eax
jle 0x140044049
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.140041b70
test al, al
je 0x140044040
mov rcx, qword [rbx + 0x110]
test rcx, rcx
je 0x140044019
call fcn.1400fc0e0
mov eax, dword [rsp + 0x20]
inc eax
movsxd rcx, eax
call fcn.1400fca8c
mov qword [rbx + 0x110], rax
mov r8, rdi
lea rdx, [0x14017a11c]
mov rcx, rax
call fcn.1400109c0
mov rcx, rdi
call qword [0x140101ef8]
lea rax, [0x14017eaa0]
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.14003bba0
nop
test sil, sil
je 0x1400440cc
mov rdi, qword [rbx + 0x118]
mov r14d, dword [rbx + 0x128]
jmp 0x1400440f4
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, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov rdx, rdi
call qword [0x1401013c8]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.lastStatus]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, r14d
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.mode]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0xf8]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.daysBetweenChecks]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0xfc]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.daysBetweenChecksMax]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x100]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.allowOfflineOnCheck]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x104]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.currentDirProtection]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, dword [rbx + 0x108]
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rsi, qword [rbx + 0x110]
test rsi, rsi
je 0x1400442e6
mov rdx, qword [str.currentDirEndings]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov rdx, rsi
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.unreportedRuns]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov edx, r15d
call qword [0x140101318]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
mov rdx, qword [str.lastCheck]
lea rcx, [rsp + 0x30]
call fcn.140001280
mov rcx, rax
lea rdx, [0x14017ea8c]
call fcn.140001280
mov rcx, rax
mov rdx, rdi
call qword [0x1401013c8]
mov rcx, rax
lea rdx, [0x14017eaa8]
call fcn.140001280
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.1400438b0
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.140004550
nop
movsxd r15, dword [rbp + 0x30]
mov rcx, r15
call fcn.1400fca8c
mov r14, rax
xor ecx, ecx
call qword [0x140102110]
mov rcx, rax
call qword [0x140102128]
mov rdi, r12
test r15d, r15d
jle 0x1400443eb
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 0x1400443b8
mov rcx, r15
call fcn.1400fca8c
mov rdi, rax
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.1400fd5ea
mov r8, r12
test r15d, r15d
jle 0x140044436
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 0x140044411
lea esi, [r15 + r15]
movsxd r12, esi
mov rcx, r12
call fcn.1400fca8c
mov r13, rax
xor r9d, r9d
xor ecx, ecx
test esi, esi
jle 0x1400444ca
dec r15d
mov r8, rax
mov r10, r14
mov r11, rdi
nop dword [rax]
cmp r9d, r15d
jg 0x1400444b7
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
je 0x1400444b7
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 0x1400444b7
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 0x1400444b7
movzx eax, byte [r11]
inc r9d
inc r11
jmp 0x1400444be
movzx eax, byte [r10]
inc r10
mov byte [r8], al
inc ecx
inc r8
cmp ecx, esi
jl 0x140044460
mov rcx, rdi
call fcn.1400fc0e0
mov rcx, r14
call fcn.1400fc0e0
mov ecx, 0x3e8
call fcn.1400fca8c
mov rdi, rax
mov r9d, dword [rbx + 0x28]
mov r8, qword [rbx + 0x18]
mov edx, 4
mov rcx, rax
call fcn.140041cc0
mov rdx, rdi
lea rcx, [rbp + 0x40]
call fcn.140043db0
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rcx, qword [rbp + 0x40]
lea rdx, [0x14017e858]
call qword [0x1401020a0]
mov rbx, rax
test rax, rax
je 0x140044548
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.1400fc0e0
mov rax, qword [rbp + 0x58]
cmp rax, 8
jb 0x1400445c4
inc rax
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
jbe 0x140044577
call qword [0x140102008]
int3
add rax, rax
cmp rax, 0x1000
jb 0x1400445bf
test byte [rbp + 0x40], 0x1f
je 0x14004458f
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14004459f
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400445af
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x1400445bc
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
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 0x140044630
inc rax
mov rcx, qword [rbp + 0x60]
cmp rax, 0x1000
jb 0x14004462b
test cl, 0x1f
je 0x1400445fb
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14004460b
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x14004461b
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140044628
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
mov qword [rbp + 0x78], 0xf
mov qword [rbp + 0x70], rbx
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x14004469a
inc rax
mov rcx, qword [rbp + 0x20]
cmp rax, 0x1000
jb 0x140044695
test cl, 0x1f
je 0x140044665
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140044675
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140044685
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140044692
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
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.140040ac0
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.1400fc4b0
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret