Function at 0x140042ae0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rsi, rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], r15
mov byte [rbp + 0x30], r15b
xor r8d, r8d
lea rdx, [0x140102c4c]
lea rcx, [rbp + 0x30]
call fcn.140004680
nop
mov ecx, 0x3e8
call fcn.1400fca8c
mov r14, rax
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x28]
mov r8, qword [rsi + 0x18]
lea edx, [r15 + 4]
mov rcx, rax
call fcn.140041cc0
mov rdx, r14
lea rcx, [rbp + 0xd0]
call fcn.140043db0
nop
lea rcx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 8
cmovae rcx, qword [rbp + 0xd0]
lea rdx, [0x14017d714]
call qword [0x1401020a0]
mov r14, rax
test rax, rax
je 0x140042e2b
xor edx, edx
lea r8d, [r15 + 2]
mov rcx, rax
call qword [0x140102088]
mov rcx, r14
call qword [0x140102080]
movsxd r15, eax
mov rcx, r14
call qword [0x140102050]
mov rbx, r15
mov rcx, r15
call fcn.1400fca8c
mov rdi, rax
mov r9, r14
mov r8d, 1
mov rdx, r15
mov rcx, rax
call qword [0x140102090]
mov rcx, r14
call qword [0x140102058]
test r15b, 1
jne 0x140042e28
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
mov r14d, eax
movsxd rbx, eax
mov rcx, rbx
call fcn.1400fca8c
mov r12, rax
mov rcx, rbx
call fcn.1400fca8c
mov r13, rax
xor r9d, r9d
xor r8d, r8d
test r15d, r15d
jle 0x140042cb0
lea ebx, [r14 - 1]
mov r10, r12
mov r11, rax
cmp r9d, ebx
jg 0x140042c9c
mov eax, 0xaaaaaaab
mul r8d
shr edx, 1
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
je 0x140042c9c
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
imul ecx, eax, 7
cmp r8d, ecx
je 0x140042c9c
mov eax, 0xba2e8ba3
mul r8d
shr edx, 3
imul ecx, edx, 0xb
cmp r8d, ecx
je 0x140042c9c
movzx eax, byte [rdi]
mov byte [r11], al
inc r9d
inc r11
jmp 0x140042ca5
movzx eax, byte [rdi]
mov byte [r10], al
inc r10
inc r8d
inc rdi
cmp r8d, r15d
jl 0x140042c48
lea eax, [r14 + 1]
movsxd rbx, eax
mov rcx, rbx
call fcn.1400fca8c
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400fd5ea
test r14d, r14d
jle 0x140042d05
mov rcx, r12
mov r8, r13
sub r8, r12
mov r9, rdi
sub r9, r12
mov rdx, r14
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140042cf0
mov qword [rbp + 0x68], 0xf
xor r15d, r15d
mov qword [rbp + 0x60], r15
mov byte [rbp + 0x50], r15b
cmp byte [rdi], r15b
jne 0x140042d22
mov r8d, r15d
jmp 0x140042d2f
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], r15b
jne 0x140042d26
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.140004680
nop
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x140042d96
inc rax
mov rcx, qword [rbp + 0x30]
cmp rax, 0x1000
jb 0x140042d91
test cl, 0x1f
je 0x140042d61
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140042d71
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140042d81
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140042d8e
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], r15
mov byte [rbp + 0x30], 0
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.1400281a0
nop
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x140042e0e
inc rax
mov rcx, qword [rbp + 0x50]
cmp rax, 0x1000
jb 0x140042e09
test cl, 0x1f
je 0x140042dd9
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140042de9
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140042df9
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140042e06
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
mov rcx, rdi
call fcn.1400fc0e0
mov rcx, r12
call fcn.1400fc0e0
mov rcx, r13
call fcn.1400fc0e0
jmp 0x140042e2b
xor r15d, r15d
mov rcx, qword [rsp + 0x20]
call fcn.1400fc0e0
mov rdx, qword [str.lastCheck]
cmp byte [rdx], 0
jne 0x140042e46
mov r9, r15
jmp 0x140042e5a
or r9, 0xffffffffffffffff
nop word [rax + rax]
inc r9
cmp byte [rdx + r9], 0
jne 0x140042e50
xor r8d, r8d
lea rcx, [rbp + 0x30]
call fcn.1400417b0
test rax, rax
jne 0x14004354f
mov r14, qword [str.lastCheck]
cmp byte [r14], al
je 0x14004354f
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140042e83
test rbx, rbx
je 0x14004354f
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14004354f
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rax, qword [rbp + 0x30]
lea rdi, [rcx - 1]
add rdi, rax
test rbx, rbx
je 0x140042ed1
movsx edx, byte [rdi]
mov r8, rbx
mov rcx, r14
call qword [0x140101e38]
test rax, rax
jne 0x140042ee8
lea rcx, [rbp + 0x30]
call fcn.14000da60
cmp rdi, rax
je 0x14004354f
dec rdi
jmp 0x140042eb8
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rax, qword [rbp + 0x30]
sub rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x14004354f
mov r9, rdi
xor r8d, r8d
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.14002fd00
mov rbx, rax
lea rax, [rbp + 0x30]
cmp rax, rbx
je 0x140042f9d
mov rcx, qword [rbp + 0x48]
cmp rcx, 0x10
jb 0x140042f80
inc rcx
mov rdx, qword [rbp + 0x30]
cmp rcx, 0x1000
jb 0x140042f78
test dl, 0x1f
je 0x140042f48
call qword [0x140102008]
int3
mov rax, qword [rdx - 8]
cmp rax, rdx
jb 0x140042f58
call qword [0x140102008]
int3
sub rdx, rax
cmp rdx, 8
jae 0x140042f68
call qword [0x140102008]
int3
cmp rdx, 0x27
jbe 0x140042f75
call qword [0x140102008]
int3
mov rdx, rax
mov rcx, rdx
call fcn.1400fc0d8
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], r15
mov byte [rbp + 0x30], 0
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.1400281a0
nop
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x140042ff7
inc rax
mov rcx, qword [rbp + 0x50]
cmp rax, 0x1000
jb 0x140042ff2
test cl, 0x1f
je 0x140042fc2
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140042fd2
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140042fe2
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x140042fef
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdx, qword [rbp + 0x30]
mov qword [rbp + 0xa8], 0xf
mov qword [rbp + 0xa0], r15
mov byte [rbp + 0x90], 0
cmp byte [rdx], 0
jne 0x140043028
mov r8, r15
jmp 0x14004303a
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140043030
lea rcx, [rbp + 0x90]
call fcn.140004680
nop
lea rax, [0x14017e8f0]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x30]
call qword [0x1401013e0]
nop
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call qword [0x1401013c0]
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x3c], edx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x50]
call qword [0x140101410]
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
cmovae rdx, qword [rbp + 0x90]
mov r9d, 2
mov r8, qword [rbp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.1400409b0
nop
mov rax, qword [rbp + 0xa8]
cmp rax, 0x10
jb 0x140043156
inc rax
mov rcx, qword [rbp + 0x90]
cmp rax, 0x1000
jb 0x140043151
test cl, 0x1f
je 0x140043121
call qword [0x140102008]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140043131
call qword [0x140102008]
int3
sub rcx, rax
cmp rcx, 8
jae 0x140043141
call qword [0x140102008]
int3
cmp rcx, 0x27
jbe 0x14004314e
call qword [0x140102008]
int3
mov rcx, rax
call fcn.1400fc0d8
mov qword [rbp + 0x68], 0xf
mov qword [rbp + 0x60], r15
mov byte [rbp + 0x50], 0
mov qword [rbp + 0x88], 0xf
mov qword [rbp + 0x80], r15
mov byte [rbp + 0x70], 0
mov qword [rbp + 0xc8], 0xf
mov qword [rbp + 0xc0], r15
mov byte [rbp + 0xb0], 0
mov r8b, 0x3b
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.14003ba30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140043517
nop dword [rax + rax]
mov r9d, 1
xor r8d, r8d
lea rdx, [0x14017ea8c]
lea rcx, [rbp + 0x50]
call fcn.1400417b0
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400434f4
mov r9, rax
xor r8d, r8d
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.14002fd00
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.140015800
lea rcx, [rbp + 0x90]
call fcn.1400040b0
lea r8, [rbx + 1]
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.14002fd00
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.140015800
lea rcx, [rbp + 0x90]
call fcn.1400040b0
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rcx, qword [rbp + 0xb0]
xor edx, edx
lea r8d, [rdx + 0xa]
call qword [0x140101ec0]
mov r9, rax
lea rcx, [rbp + 0x70]
mov r10, qword [rbp + 0x70]
mov r11, qword [rbp + 0x88]
cmp r11, 0x10
cmovae rcx, r10
mov r8, qword [str.lastCheck]
sub r8, rcx
nop
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x1400432a3
inc rcx
test eax, eax
jne 0x140043290
test edx, edx
jne 0x1400432b3
mov qword [rsi + 0x118], r9
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.lastStatus]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400432e3
inc rax
test ecx, ecx
jne 0x1400432d0
test edx, edx
jne 0x1400432f3
mov dword [rsi + 0x128], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.mode]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140043323
inc rax
test ecx, ecx
jne 0x140043310
test edx, edx
jne 0x140043333
mov dword [rsi + 0xf8], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.daysBetweenChecks]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140043363
inc rax
test ecx, ecx
jne 0x140043350
test edx, edx
jne 0x140043373
mov dword [rsi + 0xfc], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.daysBetweenChecksMax]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400433a3
inc rax
test ecx, ecx
jne 0x140043390
test edx, edx
jne 0x1400433b3
mov dword [rsi + 0x100], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.allowOfflineOnCheck]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400433e3
inc rax
test ecx, ecx
jne 0x1400433d0
test edx, edx
jne 0x1400433f3
mov dword [rsi + 0x104], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.currentDirProtection]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140043423
inc rax
test ecx, ecx
jne 0x140043410
test edx, edx
jne 0x140043433
mov dword [rsi + 0x108], r9d
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.unreportedRuns]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140043463
inc rax
test ecx, ecx
jne 0x140043450
test edx, edx
jne 0x140043473
mov qword [rsi + 0x120], r9
jmp 0x1400434f4
lea rax, [rbp + 0x70]
cmp r11, 0x10
cmovae rax, r10
mov r8, qword [str.currentDirEndings]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400434a3
inc rax
test ecx, ecx
jne 0x140043490
test edx, edx
jne 0x1400434f4
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x1400434b8
call fcn.1400fc0e0
mov rcx, qword [rbp + 0xc0]
inc rcx
call fcn.1400fca8c
mov qword [rsi + 0x110], rax
lea r8, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae r8, qword [rbp + 0xb0]
lea rdx, [0x14017a11c]
mov rcx, rax
call fcn.1400109c0
mov r8b, 0x3b
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.14003ba30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x1400431c0
lea rcx, [rbp + 0xb0]
call fcn.1400040b0
nop
lea rcx, [rbp + 0x70]
call fcn.1400040b0
nop
lea rcx, [rbp + 0x50]
call fcn.1400040b0
nop
lea rcx, [rbp - 0x30]
call fcn.14003c9c0
lea rcx, [rbp - 0x30]
call qword [0x1401013e8]
mov bl, 1
jmp 0x140043551
xor bl, bl
mov r8, qword [rbp + 0xe8]
cmp r8, 8
jb 0x140043574
inc r8
mov rdx, qword [rbp + 0xd0]
lea rcx, [rbp + 0xd0]
call fcn.14000b570
mov qword [rbp + 0xe8], 7
mov qword [rbp + 0xe0], r15
mov word [rbp + 0xd0], r15w
lea rcx, [rbp + 0x30]
call fcn.1400040b0
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400fc4b0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret