Function at 0x40eae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5a8
movaps xmmword [rsp + 0x590], xmm6
mov r13d, ecx
mov rbp, rdx
call fcn.0043f430
mov rax, qword [0x004e0f50]
mov dword [rsp + 0x84], 1
cmp qword [rax], 0
jne 0x40eb41
mov eax, dword [rsp + 0x84]
movaps xmm6, xmmword [rsp + 0x590]
add rsp, 0x5a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rsp + 0x1b0]
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.0043f510
cmp byte [0x004ff160], 0
je 0x40ec99
mov rax, qword [0x004ff158]
mov rdx, qword [rsp + 0xa8]
mov qword [0x004ff1b0], rax
lea rax, [rsp + 0x230]
mov rcx, rax
mov rsi, rax
mov qword [rsp + 0x98], rax
call fcn.00486640
lea rdx, str._smartd_warning.cmd
mov r8d, 0x13
mov rcx, rsi
call fcn.00485470
lea rcx, [0x004ff1a0]
mov rdx, rsi
call fcn.00485900
mov rbx, qword [0x004e0f00]
mov rdx, qword [rsp + 0x230]
mov r9d, dword [rbx]
test r9d, r9d
jne 0x40f1fe
mov eax, dword [rdx - 8]
lea ecx, [rax - 1]
mov dword [rdx - 8], ecx
test eax, eax
lea r12, [rsp + 0x330]
jle 0x40f20d
mov rax, qword [0x004e1880]
lea rsi, str.configfile
mov ecx, 0x4c
mov rdi, r12
mov r15, qword [0x004e1850]
mov byte [rsp + 0x84], 1
rep movsq qword [rdi], qword [rsi]
mov dword [rax], 0
mov rax, qword [0x004e1860]
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xb0], r15
mov dword [rax], 0
mov qword [rsp + 0xb8], r15
lea r8, str.c:l:q:dDni:p:r:s:A:B:w:Vh_
mov qword [rsp + 0x20], 0
mov r9, r12
mov rdx, rbp
mov ecx, r13d
call fcn.004508a0
cmp eax, 0xffffffff
mov r14d, eax
je 0x40f335
lea eax, [r14 - 0x41]
cmp eax, 0x36
ja case.0x40ec97.67
lea rdx, [0x004b6a50]
movsxd rax, dword [rdx + rax*4]
add rdx, rax
jmp rdx
lea rcx, [0x004ff160]
call fcn.0049ada0
test eax, eax
je 0x40eb66
mov rdx, qword [rsp + 0xa8]
lea rcx, [0x004ff158]
call fcn.00486640
lea rdx, str._smartd.conf
lea rcx, [0x004ff158]
mov r8d, 0xc
call fcn.00485470
lea rcx, [0x004ff160]
call fcn.0049aeb0
lea rcx, [0x00401d40]
call fcn.0044dcc0
jmp 0x40eb66
mov rsi, qword [r15]
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [0x004ff1a0]
mov r8, rax
mov rdx, rsi
call fcn.00485830
jmp case.0x40ec97.110
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rax]
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [0x004ff1c0]
mov r8, rax
mov rdx, rsi
call fcn.00485830
jmp case.0x40ec97.110
mov rax, qword [0x004e1850]
mov dword [rsp + 0x170], 0xffffffff
mov dword [rsp + 0x190], 0xffffffff
mov rsi, qword [rax]
mov qword [rsp + 0xc0], rax
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rdi, rax
lea rax, [rsp + 0x190]
mov r8, qword [rsp + 0x98]
lea r9, [rsp + 0x170]
lea rdx, str._9_a_z__n__u_n
mov rcx, rsi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1f0]
mov dword [rsp + 0x1f0], 1
mov qword [rsp + 0x20], rax
call fcn.0045e7c0
cmp edi, dword [rsp + 0x170]
je 0x40f2e1
cmp edi, dword [rsp + 0x190]
je 0x40f2e1
mov byte [0x004ff1d0], 1
call fcn.00401fe0
mov rax, qword [rsp + 0xc0]
lea rdx, str.__INVALID_ARGUMENT_TO___c:__s____n
mov r8d, r14d
mov ecx, 2
mov r9, qword [rax]
call fcn.004015e0
mov ecx, r14d
call fcn.00401690
lea rdx, str._nUse_smartd__h_to_get_a_usage_summary_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
nop word [rax + rax]
mov rax, qword [0x004e1850]
lea rdi, str.nodev
mov ecx, 6
mov qword [rsp + 0xc0], rax
mov rax, qword [rax]
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x40f2bb
mov dword [0x004ff198], 0
jmp case.0x40ec97.110
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rax]
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [0x004ff1c8]
mov r8, rax
mov rdx, rsi
call fcn.00485830
jmp case.0x40ec97.110
mov rax, qword [0x004e1850]
lea rdi, str.daemon
mov ecx, 7
mov r8, qword [rax]
mov qword [rsp + 0xc0], rax
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x40f295
mov dword [0x0049c2a0], 0x18
jmp case.0x40ec97.110
mov rdi, qword [sym.imp.msvcrt.dll__errno]
call rdi
mov dword [rax], 0
mov rax, qword [0x004e1850]
mov r8d, 0xa
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rax]
mov qword [rsp + 0xc0], rax
call sub.msvcrt.dll_strtol
cmp eax, 9
mov esi, eax
jle 0x40ef26
mov rax, qword [rsp + 0x230]
cmp byte [rax], 0
je 0x40f3c0
mov byte [0x004ff1d0], 1
call fcn.00401fe0
mov rax, qword [rsp + 0xc0]
lea rdx, str.__INVALID_INTERVAL:__s___n
mov ecx, 2
mov r8, qword [rax]
call fcn.004015e0
lea rdx, str.__INTERVAL_MUST_BE_INTEGER_BETWEEN__d_AND__d___n
mov r9d, 0x7fffffff
mov r8d, 0xa
mov ecx, 2
call fcn.004015e0
lea rdx, str._nUse_smartd__h_to_get_a_usage_summary_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
nop
mov byte [0x004ff1d0], 1
call fcn.00401fe0
call fcn.004022a0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 0
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov byte [0x004ff1d0], 1
jmp case.0x40ec97.110
mov rax, qword [rsp + 0xb8]
lea rdi, [0x004b5d8a]
mov ecx, 2
mov r14, qword [rax]
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
jne 0x40f3ec
lea rax, [0x004b5186]
mov qword [0x004ff1b0], rax
jmp case.0x40ec97.110
lea rcx, [rsp + 0x1f0]
lea rdx, str.smartd
mov r8d, 1
mov byte [0x004ff1d0], 1
call fcn.00427000
mov r8, qword [rsp + 0x1f0]
lea rdx, [0x004b115f]
mov ecx, 6
call fcn.004015e0
mov ecx, dword [rbx]
mov rdx, qword [rsp + 0x1f0]
test ecx, ecx
jne 0x4111b6
mov eax, dword [rdx - 8]
lea ecx, [rax - 1]
mov dword [rdx - 8], ecx
test eax, eax
jle 0x41118c
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 0
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax]
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [0x004ff1b8]
mov r8, rax
mov rdx, rsi
call fcn.00485830
jmp case.0x40ec97.110
mov byte [0x004ff1d0], 1
call fcn.00402080
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 0
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
cmp byte [rcx], 0x2b
je 0x40f3d9
mov byte [rsp + 0x84], 0
movzx esi, byte [0x004ff1d0]
mov byte [0x004ff1d0], 1
call fcn.0041d5a0
test al, al
je 0x411eab
mov byte [0x004ff1d0], sil
jmp case.0x40ec97.110
mov rax, qword [rsp + 0x1b0]
lea rdx, [rsp + 0x190]
lea rcx, [rax - 0x18]
call fcn.00485070
mov rcx, rbx
call fcn.0044f970
mov byte [0x004ff1d0], 1
call fcn.00401fe0
mov rax, qword [0x004e1870]
cmp r14d, 0x68
movsxd rax, dword [rax]
mov rbx, qword [rbp + rax*8 - 8]
mov rax, qword [0x004e1880]
je 0x40f21e
cmp byte [rbx + 1], 0x2d
jne 0x40f21e
mov edx, dword [rax]
test edx, edx
je 0x411585
lea rcx, str.c:l:q:dDni:p:r:s:A:B:w:Vh_
call sub.msvcrt.dll_strchr
test rax, rax
je 0x411585
lea r8, [rbx + 2]
lea rdx, str.__ARGUMENT_REQUIRED_FOR_OPTION:__s___n
mov ecx, 2
call fcn.004015e0
mov rax, qword [0x004e1880]
movsx ecx, byte [rax]
call fcn.00401690
lea rdx, str._nUse_smartd___help_to_get_a_usage_summary_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov eax, 0xffffffff
lock xadd dword [rdx - 8], eax
jmp 0x40ebdf
lea rcx, [rdx - 0x18]
mov rdx, r12
call fcn.00485060
jmp 0x40ebef
mov ebx, dword [rax]
test ebx, ebx
je 0x411acd
lea rcx, str.c:l:q:dDni:p:r:s:A:B:w:Vh_
mov edx, ebx
call sub.msvcrt.dll_strchr
test rax, rax
mov r8d, ebx
je 0x4112ac
lea rdx, str.__ARGUMENT_REQUIRED_FOR_OPTION:__c___n
mov ecx, 2
call fcn.004015e0
mov rax, qword [0x004e1880]
movsx ecx, byte [rax]
call fcn.00401690
lea rdx, str._nUse_smartd__h_to_get_a_usage_summary_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
lea rdi, str.local0
mov ecx, 7
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x410f80
mov dword [0x0049c2a0], 0x80
jmp case.0x40ec97.110
lea rdi, str.nodevstartup
mov ecx, 0xd
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x410fa6
mov dword [0x004ff198], 1
jmp case.0x40ec97.110
mov r8d, dword [rsp + 0x1f0]
lea eax, [r8 - 1]
cmp eax, 3
ja 0x40edd4
mov rsi, qword [rsp + 0x98]
lea rdi, str.ioctl
mov ecx, 6
repe cmpsb byte [rsi], byte [rdi]
jne 0x41159f
mov rax, qword [0x004e1840]
mov byte [rax], r8b
mov rax, qword [0x004e1890]
mov byte [rax], r8b
mov rax, qword [0x004e17b0]
mov byte [rax], r8b
jmp case.0x40ec97.110
mov rsi, qword [0x004e1870]
cmp r13d, dword [rsi]
jg 0x411b8a
movzx esi, byte [0x004ff1d0]
test sil, sil
je 0x40f415
mov rax, qword [0x004ff1c8]
cmp qword [rax - 0x18], 0
je 0x40f415
mov byte [0x004ff1d0], 1
call fcn.00401fe0
lea rdx, str.__INVALID_CHOICE_OF_OPTIONS:__d_and__p____n_n
mov ecx, 2
call fcn.004015e0
mov r8, qword [0x004ff1c8]
lea rdx, str.Error:_pid_file__s_not_written_in_debug___d__mode_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
nop
call rdi
mov r8d, dword [rax]
test r8d, r8d
jne 0x40ef26
mov dword [0x0049c2a4], esi
jmp case.0x40ec97.110
cmp byte [rcx + 1], 0
je 0x40f0ff
add rcx, 1
jmp 0x40f107
mov rcx, r14
call sub.msvcrt.dll_strlen
lea rcx, [0x004ff1a8]
mov r8, rax
mov rdx, r14
call fcn.00485830
mov rax, qword [rax]
mov qword [0x004ff1b0], rax
jmp case.0x40ec97.110
movzx ecx, byte [rsp + 0x84]
mov byte [0x004ff1d0], 1
call fcn.0041d660
test al, al
mov byte [rsp + 0xfb], al
je 0x411b68
mov byte [0x004ff1d0], sil
call fcn.00401fe0
mov edx, dword [rbx]
mov rax, qword [rsp + 0x1b0]
test edx, edx
jne 0x4114da
mov edx, dword [rax - 8]
lea ecx, [rdx - 1]
mov dword [rax - 8], ecx
test edx, edx
jle 0x4114c4
mov eax, dword [0x004ff188]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
test eax, eax
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x84], eax
jne 0x4114e9
lea rax, [rsp + 0x130]
movsd xmm6, qword [0x004b6f98]
xor esi, esi
mov byte [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
mov rax, qword [sym.imp.msvcrt.dll__time64]
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x98]
mov rdx, r12
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 0
lea rdi, [rsp + 0x170]
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x338], 0
mov qword [rsp + 0x340], 0
call fcn.00409f80
test eax, eax
js 0x410920
lea rdi, [rsp + 0x170]
mov r8, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x98]
lea r9, [rsp + 0x150]
mov rdx, r12
mov qword [rsp + 0x20], rdi
call fcn.0040b710
mov rdx, qword [rsp + 0x138]
sub rdx, qword [rsp + 0x130]
mov rax, rdx
movabs rdx, 0x66c6f436b052f9df
sar rax, 4
imul rdx, rax
mov rax, qword [rsp + 0x178]
sub rax, qword [rsp + 0x170]
sar rax, 3
mov eax, eax
cmp rdx, rax
jne 0x4111c5
mov rax, qword [rsp + 0x158]
sub rax, qword [rsp + 0x150]
movabs rcx, 0xf02806abc74be1fb
sar rax, 3
imul rax, rcx
cmp rdx, rax
jne 0x4111c5
mov r8, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x330]
xor edi, edi
xor ecx, ecx
mov rax, r8
sub rax, rdx
sar rax, 3
test rax, rax
je 0x40f674
mov rcx, qword [rdx + rcx*8]
test rcx, rcx
je 0x40f65f
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x330]
mov r8, qword [rsp + 0x338]
mov rax, r8
lea ecx, [rdi + 1]
sub rax, rdx
sar rax, 3
mov rdi, rcx
cmp rcx, rax
jb 0x40f640
test rdx, rdx
je 0x40f681
mov rcx, rdx
call fcn.0049a4f0
mov r13, qword [rsp + 0x238]
mov rdi, qword [rsp + 0x230]
cmp r13, rdi
je 0x40f822
lea rbp, [rdi + 0x1f0]
test rbp, rbp
lea r14, [rdi + 0x21f0]
jne 0x40f6c2
jmp 0x40f6f0
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40f6dd
cmp rbp, r14
je 0x40f6f0
mov eax, dword [rbx]
sub r14, 0x20
mov rcx, qword [r14]
test eax, eax
je 0x40f6b0
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f6bd
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
cmp rbp, r14
jne 0x40f6c2
nop
mov eax, dword [rbx]
mov rcx, qword [rdi + 0xb8]
test eax, eax
jne 0x40fd00
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fd12
mov eax, dword [rbx]
mov rcx, qword [rdi + 0xb0]
test eax, eax
jne 0x40fcd3
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fce5
lea rcx, [rdi + 0x60]
call fcn.00426610
mov r15d, dword [rbx]
mov rcx, qword [rdi + 0x30]
test r15d, r15d
jne 0x40fcb0
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fcc2
mov r14d, dword [rbx]
mov rcx, qword [rdi + 0x28]
test r14d, r14d
jne 0x40fc83
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fc95
mov r11d, dword [rbx]
mov rcx, qword [rdi + 0x20]
test r11d, r11d
jne 0x40fc60
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fc72
mov r10d, dword [rbx]
mov rcx, qword [rdi + 0x18]
test r10d, r10d
jne 0x40fc33
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fc45
mov r9d, dword [rbx]
mov rcx, qword [rdi + 0x10]
test r9d, r9d
jne 0x40fbe0
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fbf2
mov r8d, dword [rbx]
mov rcx, qword [rdi + 8]
test r8d, r8d
jne 0x40fc10
mov eax, dword [rcx - 8]
lea edx, [rax - 1]
test eax, eax
mov dword [rcx - 8], edx
jle 0x40fc22
add rdi, 0x21f0
add rbp, 0x21f0
cmp r13, rdi
jne 0x40f6a1
mov r13, qword [rsp + 0x230]
test r13, r13
je 0x40f82f
mov rcx, r13
call fcn.0049a4f0
mov r11, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x178]
sub rcx, r11
sar rcx, 3
test ecx, ecx
jne 0x4108df
mov eax, dword [0x004ff198]
cmp eax, 2
je 0x40f870
cmp byte [rsp + 0x88], 0
jne 0x410b23
cmp eax, 1
jne 0x410b23
xor r9d, r9d
xor r8d, r8d
sub ecx, r8d
lea rdx, str.Monitoring__d_ATA_SATA___d_SCSI_SAS_and__d_NVMe_devices_n
sub ecx, r9d
mov dword [rsp + 0x20], ecx
mov ecx, 6
call fcn.004015e0
mov eax, dword [0x004ff198]
cmp eax, 4
je 0x411654
cmp byte [rsp + 0x88], 0
mov dword [0x004ff18c], 0
je 0x410964
cmp eax, 3
mov byte [rsp + 0xa0], 1
sete r14b
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
mov rax, r9
sub rax, rcx
sar rax, 4
mov rdx, rax
movabs rax, 0x66c6f436b052f9df
imul rax, rdx
test rax, rax
je 0x4109a9
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
movabs r8, 0xf02806abc74be1fb
sub rdx, rax
sar rdx, 3
imul rdx, r8
test rdx, rdx
je 0x411bfa
lea r11, [rsp + 0x329]
mov rdi, rcx
xor r13d, r13d
xor edx, edx
mov qword [rsp + 0xd0], r11
lea r11, [rsp + 0x11b]
mov qword [rsp + 0xd8], r11
lea r11, [rsp + 0x1f0]
mov qword [rsp + 0xe0], r11
lea r11, [rsp + 0x11c]
mov qword [rsp + 0xe8], r11
lea r11, [rsp + 0x117]
mov qword [rsp + 0xb0], r11
lea r11, [rsp + 0x11a]
mov qword [rsp + 0xb8], r11
jmp 0x40fa2f
mov r9d, dword [rsp + 0x88]
movzx eax, r14b
mov rdx, rbp
mov dword [rsp + 0x20], eax
mov rcx, rdi
and r9d, 1
call fcn.00404290
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
mov rax, r9
movabs r8, 0x66c6f436b052f9df
lea edx, [r13 + 1]
sub rax, rcx
sar rax, 4
mov r13, rdx
imul rax, r8
cmp rdx, rax
jae 0x40fd23
mov rax, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
movabs r10, 0xf02806abc74be1fb
imul rdi, rdx, 0x21f0
sub r8, rax
sar r8, 3
imul r8, r10
add rdi, rcx
cmp rdx, r8
jae 0x411bff
imul rbp, rdx, 0x998
mov r8, qword [rsp + 0x178]
add rbp, rax
mov rax, qword [rsp + 0x170]
sub r8, rax
sar r8, 3
cmp r8, rdx
jbe 0x411b15
mov rax, qword [rax + rdx*8]
mov r8, qword [rax + 0x40]
test r8, r8
jne 0x40f9a0
mov r15, qword [rax + 0x48]
test r15, r15
je 0x41008b
cmp byte [rdi + 0xc1], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x90], rax
jne 0x4102a0
mov rax, qword [r15]
mov rcx, r15
add rcx, qword [rax - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
je 0x4102c7
cmp byte [0x004ff1d0], 0
jne 0x410513
lea r9, str.open_device_worked_again
mov r8d, 9
mov rdx, rbp
mov rcx, rdi
call fcn.00401790
cmp byte [rbp + 0x582], 0
mov byte [rsp + 0x117], 0
mov byte [rsp + 0x118], 0
mov byte [rsp + 0x119], 0
mov byte [rsp + 0x11a], 0
je 0x410424
cmp byte [0x004ff1d0], 0
jne 0x4105bd
test dword [rdi + 0x58], 0xffffff
jne 0x40fb1b
mov rax, qword [rdi + 0x30]
cmp qword [rax - 0x18], 0
je 0x40fb38
movzx r9d, byte [rsp + 0x11a]
movzx r8d, byte [rsp + 0x119]
mov rdx, rbp
mov rcx, rdi
call fcn.00403c40
cmp byte [rdi + 0x3d], 0
jne 0x4104f6
test r14b, r14b
je 0x40fb83
mov rax, qword [rdi + 0x60]
cmp qword [rax - 0x18], 0
je 0x40fb83
mov rax, qword [rdi + 0xa8]
cmp qword [rax - 0x18], 0
jne 0x40fb83
xor r9d, r9d
mov r8d, 1
mov rdx, rbp
mov rcx, rdi
call fcn.00402670
test al, al
mov byte [rsp + 0xf0], al
jne 0x410d50
mov rax, qword [rdi + 0x30]
cmp qword [rax - 0x18], 0
je 0x40fbc2
cmp byte [rbp + 0x57e], 0
jne 0x410aac
cmp byte [rbp + 0x57f], 0
jne 0x410a5c
cmp byte [rbp + 0x580], 0
jne 0x410a0c
cmp byte [rbp + 0x581], 0
jne 0x4109bc
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rsp + 0x90]
add rcx, qword [rax - 0x18]
call fcn.00401ad0
jmp 0x40f9bf
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f7e2
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
mov r8d, dword [rbx]
mov rcx, qword [rdi + 8]
test r8d, r8d
je 0x40f7f2
nop
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f803
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f803
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f7c1
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f7c1
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f7a0
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f7a0
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f77f
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f77f
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f75e
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f75e
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f734
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f734
mov eax, 0xffffffff
lock xadd dword [rcx - 8], eax
test eax, eax
jg 0x40f712
sub rcx, 0x18
mov rdx, r12
call fcn.00485060
jmp 0x40f712
mov ebp, dword [0x004ff174]
test ebp, ebp
je 0x40fd7e
test rax, rax
jne 0x410311
cmp ebp, 1
je 0x40fd7e
mov rax, qword [0x004e0f50]
xor edx, edx
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x30]
test al, al
jne 0x410e11
mov rax, qword [0x004e0f50]
lea rdx, str.Self_test_s__completed__system_auto_standby_enable_failed:__s_n
mov ecx, 2
mov rax, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.004015e0
mov dword [0x004ff174], 1
mov rax, qword [0x004ff1c0]
cmp qword [rax - 0x18], 0
jne 0x4108b9
mov rax, qword [0x004ff1b8]
cmp qword [rax - 0x18], 0
jne 0x4105db
cmp dword [0x004ff198], 3
je 0x411470
cmp byte [rsp + 0x88], 0
mov r15, qword [sym.imp.msvcrt.dll__time64]
je 0x40fe9e
cmp byte [0x004ff1d0], 0
je 0x410c79
mov byte [0x004ff170], 1
lea rdx, [0x00401590]
mov ecx, 0xf
call fcn.00428660
cmp rax, 1
je 0x4113a4
lea rdx, [0x00401590]
mov ecx, 0x15
call fcn.00428660
cmp rax, 1
je 0x4113ea
cmp byte [0x004ff1d0], 0
lea rdx, [0x00401590]
lea rax, [0x00401570]
mov ecx, 2
cmovne rdx, rax
call fcn.00428660
cmp rax, 1
je 0x4113d6
lea rdx, [0x00401570]
mov ecx, 0x18
call fcn.00428660
cmp rax, 1
je 0x411363
lea rdx, [0x00401530]
mov ecx, 0x19
call fcn.00428660
cmp rax, 1
je 0x41134f
lea rdx, [0x00401550]
mov ecx, 0x1a
call fcn.00428660
cmp rax, 1
je 0x4111a2
mov rax, qword [rsp + 0x100]
xor ecx, ecx
mov r15, rax
call rax
mov rsi, rax
xor ecx, ecx
call r15
cmp rsi, rax
mov rbp, rax
jg 0x40fed1
movsxd rcx, dword [0x0049c2a4]
mov r8, rcx
mov rax, rbp
sub rax, rsi
cqo
idiv rcx
add eax, 1
imul eax, r8d
cdqe
add rsi, rax
cmp rbp, rsi
jge 0x40feb5
xor edi, edi
xor r13d, r13d
nop word cs:[rax + rax]
lea rax, [rsi + r13]
cmp rbp, rax
jge 0x40ffa0
mov eax, dword [0x004ff194]
test eax, eax
jne 0x40ffa0
mov eax, dword [0x004ff18c]
test eax, eax
jne 0x40ffa0
mov eax, dword [0x004ff188]
test eax, eax
jne 0x40ffa0
movsxd rax, dword [0x0049c2a4]
add rax, rbp
cmp rax, rsi
jl 0x41006b
mov ecx, edi
mov r14d, esi
sub ecx, ebp
add ecx, esi
call fcn.00428830
mov eax, dword [0x004ff190]
test eax, eax
jne 0x410030
xor ecx, ecx
call r15
test edi, edi
mov rbp, rax
jne 0x40fee0
lea rax, [rsi + 0x3c]
cmp rbp, rax
jle 0x40fee0
cmp byte [0x004ff1d0], 0
mov edi, ebp
jne 0x410284
mov eax, 0x14
mov ecx, dword [0x0049c2a4]
sub eax, r14d
add edi, eax
mov eax, edi
movsxd r13, edi
cdq
idiv ecx
sub ecx, edx
cmp ecx, 0x14
jg 0x40fee0
add edi, ecx
movsxd r13, edi
lea rax, [rsi + r13]
cmp rbp, rax
jl 0x40feed
nop
mov eax, dword [0x004ff194]
test eax, eax
je 0x410020
mov rdx, rsi
mov eax, esi
mov r8d, 0
sub rdx, rbp
sub eax, ebp
mov ecx, 6
test rdx, rdx
lea rdx, str.Signal_USR1___checking_devices_now_rather_than_in__d_seconds._n
cmovg r8d, eax
call fcn.004015e0
mov dword [0x004ff194], 0
mov byte [rsp + 0xa0], 1
mov eax, dword [0x004ff188]
mov byte [rsp + 0x88], 0
test eax, eax
jne 0x4114f9
mov eax, dword [0x004ff18c]
test eax, eax
jne 0x41057a
movzx r14d, byte [rsp + 0xfb]
jmp 0x40f8c7
mov byte [rsp + 0xa0], 0
jmp 0x40ffe4
movzx r8d, byte [0x004ff1d0]
test r8b, r8b
je 0x410229
cmp r8b, 1
je 0x410547
lea rdx, str.Signal_USR2___debug_mode__d_not_changed_n
mov ecx, 6
call fcn.004015e0
mov dword [0x004ff190], 0
jmp 0x40ff46
lea rdx, str.System_clock_time_adjusted_to_the_past._Resetting_next_wakeup_time._n
mov ecx, 2
call fcn.004015e0
movsxd rsi, dword [0x0049c2a4]
add rsi, rbp
jmp 0x40ff2a
mov r15, qword [rax + 0x50]
test r15, r15
je 0x40f9cf
cmp byte [rdi + 0xc1], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x90], rax
jne 0x410afc
mov rax, qword [r15]
mov rcx, r15
add rcx, qword [rax - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
je 0x4102c7
cmp byte [0x004ff1d0], 0
jne 0x410bc7
lea r9, str.open_device_worked_again
mov r8d, 9
mov rdx, rbp
mov rcx, rdi
call fcn.00401790
mov rdx, r12
mov rcx, r15
call fcn.0041dda0
test al, al
je 0x410e47
cmp byte [rdi + 0x39], 0
je 0x41011e
movzx eax, byte [rsp + 0x330]
test al, al
mov byte [rsp + 0xc0], al
jne 0x411010
test dword [rdi + 0x58], 0xffffff
je 0x410184
movzx edx, byte [rsp + 0x332]
movzx eax, byte [rsp + 0x331]
lea r8, [r12 + 0x10]
shl edx, 8
or edx, eax
mov rax, r12
movzx ecx, word [rax + 0xc8]
cmp edx, ecx
cmovl edx, ecx
add rax, 2
cmp rax, r8
jne 0x410144
sub edx, 0x111
mov r8d, 1
test edx, edx
jle 0x410176
cmp edx, 0xff
mov r8b, 0xff
cmovle r8d, edx
xor r9d, r9d
mov rdx, rbp
mov rcx, rdi
call fcn.00403c40
cmp byte [rdi + 0x3e], 0
jne 0x410194
cmp byte [rdi + 0x3f], 0
je 0x40fbc2
mov rax, qword [rbp + 0x558]
lea rdx, [r12 + 8]
mov rcx, r12
mov qword [rsp + 0xf0], rax
mov rax, r12
nop
cmp byte [rax + 0xb8], 0
jne 0x410f59
add rax, 1
cmp rax, rdx
jne 0x4101b0
movzx eax, byte [rsp + 0x3e7]
mov r8, qword [rsp + 0xd0]
nop word cs:[rax + rax]
movzx edx, byte [rcx + 0xb6]
shl rax, 8
sub rcx, 1
add rax, rdx
cmp rcx, r8
jne 0x4101e0
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xc0]
cmp qword [rsp + 0xf0], rdx
jb 0x410ee8
mov rax, qword [rsp + 0xc0]
mov qword [rbp + 0x558], rax
jmp 0x40fbc2
lea rdx, str.Signal_USR2___enabling_debug_mode_n
mov ecx, 6
call fcn.004015e0
lea rcx, str.smartd__Debug_
call fcn.004289e0
test eax, eax
jne 0x410531
lea rdx, [0x00401570]
mov ecx, 2
mov byte [0x004ff1d0], 1
call fcn.00428660
call sub.msvcrt.dll__getpid
lea rdx, str.smartd_debug_mode_enabled__PID_d_n
mov r8d, eax
mov ecx, 6
call fcn.004015e0
jmp 0x41005c
mov r8d, ebp
lea rdx, str.Sleep_time_was__d_seconds_too_long__assuming_wakeup_from_standby_mode._n
mov ecx, 6
sub r8d, r14d
call fcn.004015e0
jmp 0x40ff6a
mov rax, qword [rsp + 0x90]
lea r9, str.TEST_EMAIL_from_smartd_for_device:__s
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.004032d0
jmp 0x40fa90
mov rax, qword [r15]
lea rdx, str.Device:__s__open___failed:__s_n
mov ecx, 6
mov rax, qword [rax - 0x18]
mov r9, qword [r15 + rax + 0x38]
mov r15, qword [rsp + 0x90]
mov r8, r15
call fcn.004015e0
lea r9, str.Device:__s__unable_to_open_device
mov qword [rsp + 0x20], r15
mov r8d, 9
mov rdx, rbp
mov rcx, rdi
call fcn.004032d0
jmp 0x40f9bf
mov r11, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
sub r8, r11
mov rdx, r8
movabs r8, 0xf02806abc74be1fb
sar rdx, 3
imul r8, rdx
test r8, r8
je 0x411e3b
mov r9, rcx
xor r10d, r10d
xor edx, edx
nop word [rax + rax]
imul rdx, rdx, 0x998
add rdx, r11
cmp byte [r9 + 0x41], 0
je 0x4103d2
cmp byte [rdx + 0x990], 0
je 0x4103c2
mov rax, qword [0x004e0f50]
mov edx, 1
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x30]
test al, al
jne 0x410ebb
cmp dword [0x004ff174], 2
je 0x40fd7e
mov rax, qword [0x004e0f50]
lea rdx, str.Self_test_s__in_progress__system_auto_standby_disable_rejected:__s_n
mov ecx, 6
mov rax, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.004015e0
mov dword [0x004ff174], 2
jmp 0x40fd7e
movzx edi, byte [rdx + 0x6fa]
and edi, 0x7f
cmp dil, 3
je 0x41036a
cmp byte [r9 + 0x43], 0
je 0x4103f5
cmp byte [rdx + 0x991], 0
jne 0x41036a
movzx edx, byte [rdx + 0x6fb]
sar edx, 4
cmp edx, 0xf
je 0x41036a
lea edx, [r10 + 1]
cmp rax, rdx
mov r10, rdx
jbe 0x40fd36
imul r9, rdx, 0x21f0
add r9, rcx
cmp rdx, r8
jb 0x410350
lea rcx, [0x004b4558]
call fcn.00498a50
mov rax, qword [rsp + 0xb8]
movzx r8d, byte [rbp + 0x57d]
mov rcx, r15
movzx edx, byte [rbp + 0x57c]
mov r9, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x119]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
call fcn.00421870
test eax, eax
jne 0x410c2f
movzx eax, byte [rsp + 0x117]
test al, al
je 0x40fafa
movzx edx, byte [rsp + 0x118]
movzx ecx, al
call fcn.00420520
test rax, rax
je 0x410be5
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__SMART_Failure:__s_n
mov r9, rax
mov ecx, 2
mov qword [rsp + 0xc0], rax
call fcn.004015e0
mov rax, qword [rsp + 0xc0]
lea r9, str.Device:__s__SMART_Failure:__s
mov r8d, 1
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.004032d0
jmp 0x40fb07
xor edx, edx
mov rcx, r15
call fcn.00420b90
mov r8d, eax
mov rdx, rbp
mov rcx, rdi
call fcn.00404120
jmp 0x40fb42
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__opened_SCSI_device_n
mov ecx, 6
call fcn.004015e0
jmp 0x40fab5
lea rdx, str.enable_console_failed_n
mov ecx, 6
call fcn.004015e0
jmp 0x41005c
call fcn.004288f0
lea rdx, [0x00401590]
mov ecx, 2
mov byte [0x004ff1d0], 0
call fcn.00428660
lea rdx, str.Signal_USR2___debug_mode_disabled_n
mov ecx, 6
call fcn.004015e0
jmp 0x41005c
mov rax, qword [0x004ff1c0]
cmp qword [rax - 0x18], 0
jne 0x410e27
mov eax, dword [0x004ff18c]
lea rdx, str._a_nSignal_INT___rereading_configuration_file__s__CONTROL_Break_quits__n_n
mov r8, qword [0x004ff1b0]
mov ecx, 6
cmp eax, 1
lea rax, str.Signal_HUP___rereading_configuration_file__s_n
cmove rdx, rax
call fcn.004015e0
jmp 0x40f519
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__SMART_health:_passed_n
mov ecx, 6
call fcn.004015e0
jmp 0x40fb07
mov r10, qword [rsp + 0x158]
mov r9, qword [rsp + 0x150]
mov rax, r10
sub rax, r9
sar rax, 3
mov rdx, rax
movabs rax, 0xf02806abc74be1fb
imul rax, rdx
test rax, rax
je 0x40fda2
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
movabs rdx, 0x66c6f436b052f9df
sub rax, rcx
sar rax, 4
imul rax, rdx
test rax, rax
je 0x411a5f
lea rax, [rsp + 0x128]
xor r13d, r13d
xor edx, edx
mov qword [rsp + 0x90], rax
jmp 0x4106aa
mov rax, r10
movabs rcx, 0xf02806abc74be1fb
lea edx, [r13 + 1]
sub rax, r9
sar rax, 3
mov r13, rdx
imul rax, rcx
cmp rdx, rax
jae 0x40fda2
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
movabs r8, 0x66c6f436b052f9df
sub rax, rcx
sar rax, 4
imul r8, rax
cmp rdx, r8
jae 0x411a64
imul rax, rdx, 0x21f0
mov rbp, qword [rcx + rax + 0x30]
cmp qword [rbp - 0x18], 0
je 0x410654
imul rdx, rdx, 0x998
mov rcx, rbp
lea r14, [r9 + rdx]
lea rdx, [0x004b6518]
call sub.msvcrt.dll_fopen
test rax, rax
mov rdi, rax
je 0x410ddf
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov qword [rsp + 0x128], rax
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.msvcrt.dll__gmtime64]
mov r8d, dword [rax]
mov ecx, dword [rax + 0x10]
lea rbp, [r14 + 0x160]
mov edx, dword [rax + 0x14]
lea r15, [r14 + 0x430]
mov dword [rsp + 0x38], r8d
mov r8d, dword [rax + 4]
lea r9d, [rcx + 1]
mov rcx, rdi
mov dword [rsp + 0x30], r8d
mov r8d, dword [rax + 8]
mov dword [rsp + 0x28], r8d
mov eax, dword [rax + 0xc]
lea r8d, [rdx + 0x76c]
lea rdx, str._d__02d__02d__02d:_02d:_02d_
mov dword [rsp + 0x20], eax
call fcn.0045e7f0
jmp 0x41075b
add rbp, 0x18
cmp rbp, r15
je 0x410784
movzx r8d, byte [rbp]
test r8b, r8b
je 0x410752
movzx r9d, byte [rbp + 1]
mov rax, qword [rbp + 8]
lea rdx, str._t_d__d__llu_
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.0045e7f0
jmp 0x410752
lea rax, str.read
lea rbp, [r14 + 0x478]
xor r15d, r15d
mov qword [rsp + 0x190], rax
lea rax, str.write
mov qword [rsp + 0x198], rax
lea rax, str.verify
mov qword [rsp + 0x1a0], rax
cmp byte [rbp], 0
jne 0x41082e
add r15, 8
add rbp, 0x50
cmp r15, 0x18
jne 0x4107bb
cmp byte [r14 + 0x550], 0
je 0x4107e7
cmp byte [r14 + 0x520], 0
jne 0x410ea0
cmp byte [r14 + 0x57d], 0
je 0x410802
movzx r8d, byte [r14 + 0x566]
test r8b, r8b
jne 0x410e8c
lea rdx, [0x004b1d97]
mov rcx, rdi
call fcn.0045e7f0
mov rcx, rdi
call sub.msvcrt.dll_fclose
mov r10, qword [rsp + 0x158]
mov r9, qword [rsp + 0x150]
jmp 0x410654
mov r8, qword [rsp + r15 + 0x190]
mov rax, qword [rbp - 0x10]
mov r9, qword [rbp - 0x40]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], r8
mov rdx, qword [rbp - 0x18]
test rdx, rdx
js 0x410df3
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
divsd xmm0, xmm6
mov qword [rsp + 0x60], r8
lea rdx, str._t_s_corr_by_ecc_fast__llu__t_s_corr_by_ecc_delayed__llu__t_s_corr_by_retry__llu__t_s_total_err_corrected__llu__t_s_corr_algorithm_invocations__llu__t_s_gb_processed__.3f__t_s_total_unc_errors__llu_
mov rcx, rdi
movsd qword [rsp + 0x68], xmm0
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rax
call fcn.0045e7f0
jmp 0x4107c1
mov r8d, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x150]
and r8d, 1
call fcn.00407830
jmp 0x40fd90
lea r10d, [rcx - 1]
xor edx, edx
xor r9d, r9d
xor r8d, r8d
jmp 0x41090a
add r8d, 1
cmp rdx, r10
je 0x40f876
add rdx, 1
cmp rcx, rdx
je 0x411d5d
mov rax, qword [r11 + rdx*8]
cmp qword [rax + 0x40], 0
jne 0x4108f0
cmp qword [rax + 0x48], 1
sbb r9d, 0xffffffff
jmp 0x4108f4
mov edx, dword [0x004ff198]
cmp edx, 2
je 0x410f6a
cmp byte [rsp + 0x88], 0
jne 0x411cb2
cmp edx, 1
ja 0x411cb2
lea rdx, str.Reusing_previous_configuration_n
mov ecx, 6
lea rdi, [rsp + 0x170]
call fcn.004015e0
jmp 0x40f61d
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
movzx r14d, byte [rsp + 0xfb]
mov byte [rsp + 0xa0], 1
mov rax, r9
sub rax, rcx
sar rax, 4
mov rdx, rax
movabs rax, 0x66c6f436b052f9df
imul rax, rdx
test rax, rax
jne 0x40f8fb
mov ebp, dword [0x004ff174]
test ebp, ebp
jne 0x40fd36
jmp 0x40fd7e
mov r9, qword [rsp + 0x98]
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov dword [rsp + 0x20], 0xfc
mov edx, 6
mov rcx, r15
call fcn.0041e8e0
test eax, eax
jne 0x40fbc2
mov rcx, qword [rsp + 0x98]
lea rdx, [rbp + 0x520]
call fcn.00420980
mov byte [rbp + 0x550], 1
jmp 0x40fbc2
mov r9, qword [rsp + 0x98]
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov dword [rsp + 0x20], 0xfc
mov edx, 5
mov rcx, r15
call fcn.0041e8e0
test eax, eax
jne 0x40fbb5
mov rcx, qword [rsp + 0x98]
lea rdx, [rbp + 0x4d0]
call fcn.00420870
mov byte [rbp + 0x518], 1
jmp 0x40fbb5
mov r9, qword [rsp + 0x98]
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov dword [rsp + 0x20], 0xfc
mov edx, 2
mov rcx, r15
call fcn.0041e8e0
test eax, eax
jne 0x40fba8
mov rcx, qword [rsp + 0x98]
lea rdx, [rbp + 0x480]
call fcn.00420870
mov byte [rbp + 0x4c8], 1
jmp 0x40fba8
mov r9, qword [rsp + 0x98]
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov dword [rsp + 0x20], 0xfc
mov edx, 3
mov rcx, r15
call fcn.0041e8e0
test eax, eax
jne 0x40fb9b
mov rcx, qword [rsp + 0x98]
lea rdx, [rbp + 0x430]
call fcn.00420870
mov byte [rbp + 0x478], 1
jmp 0x40fb9b
mov rax, qword [rsp + 0x90]
lea r9, str.TEST_EMAIL_from_smartd_for_device:__s
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.004032d0
jmp 0x4100b1
lea rdx, str.Unable_to_monitor_any_SMART_enabled_devices._Try_debug___d__option._Exiting..._n
mov ecx, 6
call fcn.004015e0
mov dword [rsp + 0x84], 0x11
mov r8, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x170]
mov rax, r8
sub rax, rdx
sar rax, 3
test rax, rax
je 0x410b96
xor ebx, ebx
xor ecx, ecx
mov rcx, qword [rdx + rcx*8]
test rcx, rcx
je 0x410b81
mov rax, qword [rcx]
call qword [rax + 8]
mov r8, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x170]
mov rax, r8
lea ecx, [rbx + 1]
sub rax, rdx
sar rax, 3
mov rbx, rcx
cmp rcx, rax
jb 0x410b62
test rdx, rdx
je 0x410ba3
mov rcx, rdx
call fcn.0049a4f0
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x410bb5
call fcn.0049a4f0
mov rcx, qword [rsp + 0xc8]
call fcn.00494bb0
jmp 0x40eb1e
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__opened_NVMe_device_n
mov ecx, 6
call fcn.004015e0
jmp 0x4100d6
movzx r9d, byte [rsp + 0x117]
cmp r9b, 4
je 0x411280
cmp byte [0x004ff1d0], 0
je 0x40fb07
movzx eax, byte [rsp + 0x118]
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__non_SMART_asc_ascq:__d__d_n
mov ecx, 6
mov dword [rsp + 0x20], eax
call fcn.004015e0
jmp 0x40fb07
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__failed_to_read_SMART_values_n
mov ecx, 6
call fcn.004015e0
mov rax, qword [rsp + 0x90]
lea r9, str.Device:__s__failed_to_read_SMART_values
mov r8d, 6
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.004032d0
mov byte [rbp + 0x582], 1
jmp 0x410472
xor ecx, ecx
call sub.msvcrt.dll_fflush
lea rcx, str.smartd
call fcn.00428af0
test eax, eax
jne 0x411da0
cmp byte [0x004ff1d0], 0
mov byte [0x004ff170], 1
jne 0x40fdd8
mov rax, qword [0x004ff1c8]
cmp qword [rax - 0x18], 0
je 0x40fdd8
call sub.msvcrt.dll__getpid
mov ecx, 0x3f
mov ebp, eax
call sub.msvcrt.dll__umask
mov rcx, qword [0x004ff1c8]
lea rdx, [0x004b45a2]
mov edi, eax
call sub.msvcrt.dll_fopen
movzx ecx, di
mov rsi, rax
call sub.msvcrt.dll__umask
test rsi, rsi
je 0x410fce
lea rdx, [0x004b670f]
mov r8d, ebp
mov rcx, rsi
call fcn.0045e7f0
test eax, eax
jle 0x410fce
mov rcx, rsi
call sub.msvcrt.dll_ferror
mov rcx, rsi
mov edi, eax
call sub.msvcrt.dll_fclose
test eax, eax
jne 0x410fcc
test edi, edi
jne 0x410fcc
mov r8, qword [0x004ff1c8]
lea rdx, str.file__s_written_containing_PID__d_n
mov r9d, ebp
mov ecx, 6
call fcn.004015e0
jmp 0x40fdd8
mov rax, qword [rdi + 8]
mov rdx, qword [rsp + 0xe8]
mov rcx, r15
mov qword [rsp + 0xc0], rax
call fcn.00420cd0
test eax, eax
jne 0x4112fd
cmp dword [rsp + 0x11c], 1
je 0x411636
movzx eax, byte [rsp + 0xf0]
cmp al, 0x4c
je 0x4112e9
cmp al, 0x53
jne 0x4112c2
mov rcx, r15
call fcn.00420620
lea r9, str.Short_Self
test eax, eax
je 0x4113b8
lea edx, [rax - 2]
cmp edx, 1
jbe 0x411491
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__execute__s_Test_failed__err:__d__n
mov dword [rsp + 0x20], eax
mov ecx, 2
call fcn.004015e0
jmp 0x40fb83
lea rcx, str.Cannot_create_attribute_log_file___s__n
mov rdx, rbp
call fcn.00405e40
jmp 0x410819
mov rax, rdx
pxor xmm0, xmm0
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
jmp 0x41085e
lea rdx, str.Self_test_s__completed__system_auto_standby_enabled_n
mov ecx, 6
call fcn.004015e0
jmp 0x40fd74
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x150]
mov r8d, 1
call fcn.00407830
jmp 0x41058c
mov r15, qword [rsp + 0x90]
lea rdx, str.Device:__s__failed_to_read_NVMe_SMART_Health_Information_n
mov ecx, 6
mov r8, r15
call fcn.004015e0
lea r9, str.Device:__s__failed_to_read_NVMe_SMART_Health_Information
mov qword [rsp + 0x20], r15
mov r8d, 6
mov rdx, rbp
mov rcx, rdi
call fcn.004032d0
mov byte [rbp + 0x560], 1
jmp 0x40f9bf
lea rdx, str._ttemperature__d_
mov rcx, rdi
call fcn.0045e7f0
jmp 0x410802
mov r8, qword [r14 + 0x528]
lea rdx, str._tnon_medium_errors__llu_
mov rcx, rdi
call fcn.0045e7f0
jmp 0x4107e7
cmp dword [0x004ff174], 3
je 0x40fd7e
lea rdx, str.Self_test_s__in_progress__system_auto_standby_disabled_n
mov ecx, 6
call fcn.004015e0
mov dword [0x004ff174], 3
jmp 0x40fd7e
mov r9, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x90]
mov ecx, 2
mov qword [rsp + 0x20], rdx
lea rdx, str.Device:__s__number_of_Error_Log_entries_increased_from__llu_to__llu_n
call fcn.004015e0
mov rax, qword [rsp + 0xc0]
lea r9, str.Device:__s__number_of_Error_Log_entries_increased_from__llu_to__llu
mov r8d, 4
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.004032d0
mov byte [rbp + 0x560], 1
jmp 0x410215
mov qword [rsp + 0xc0], 0xffffffffffffffff
jmp 0x4101ff
cmp byte [rsp + 0x88], 0
jne 0x40f61d
jmp 0x410946
lea rdi, str.local1
mov ecx, 7
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x411329
mov dword [0x0049c2a0], 0x88
jmp case.0x40ec97.110
lea rdi, str.never
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x411377
mov dword [0x004ff198], 2
jmp case.0x40ec97.110
xor esi, esi
mov r8, qword [0x004ff1c8]
lea rdx, str.unable_to_write_PID_file__s___exiting._n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 4
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
nop dword [rax + rax]
mov r8, qword [rsp + 0xd8]
xor edx, edx
xor ecx, ecx
call fcn.00484be0
mov qword [rsp + 0x230], rax
movzx eax, byte [rsp + 0xc0]
mov dword [rsp + 0xf0], 0
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
mov edx, dword [rsp + 0xc0]
bt eax, edx
jae 0x4110c6
mov ecx, dword [rsp + 0xf0]
test ecx, ecx
jne 0x411230
mov dword [rsp + 0xf0], 1
cmp qword [rsp + 0xc0], 4
ja 0x4113fe
mov rdx, qword [rsp + 0xc0]
lea rax, str.LowSpare
mov rdx, qword [rax + rdx*8]
mov rcx, rdx
mov qword [rsp + 0x108], rdx
call sub.msvcrt.dll_strlen
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x98]
mov r8, rax
call fcn.00485470
add qword [rsp + 0xc0], 1
mov rax, qword [rsp + 0xc0]
cmp rax, 8
jne 0x41104f
mov rax, qword [rsp + 0x230]
mov r9d, dword [rsp + 0xfc]
lea rdx, str.Device:__s__Critical_Warning__0x_02x_:__s_n
mov r8, qword [rsp + 0x90]
mov ecx, 2
mov qword [rsp + 0x20], rax
call fcn.004015e0
mov rax, qword [rsp + 0x230]
lea r9, str.Device:__s__Critical_Warning__0x_02x_:__s
mov r8d, 1
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.004032d0
mov edx, dword [rbx]
mov byte [rbp + 0x560], 1
mov rax, qword [rsp + 0x230]
test edx, edx
jne 0x411a50
mov edx, dword [rax - 8]
lea ecx, [rdx - 1]
mov dword [rax - 8], ecx
test edx, edx
jg 0x41011e
mov rdx, qword [rsp + 0xe0]
lea rcx, [rax - 0x18]
call fcn.00485060
jmp 0x41011e
lea rcx, [rdx - 0x18]
mov rdx, qword [rsp + 0x98]
call fcn.00485060
jmp 0x40f071
mov edx, 1
mov ecx, 0x1a
call fcn.00428660
jmp 0x40fe8c
mov eax, 0xffffffff
lock xadd dword [rdx - 8], eax
jmp 0x40f069
mov ecx, 0x10
lea rbx, [rsp + 0x120]
call fcn.0049a680
mov r8, qword [rsp + 0xa8]
lea rdx, str.Invalid_result_from_RegisterDevices
mov rcx, rbx
mov rsi, rax
call fcn.004865a0
mov rdx, rbx
mov rcx, rsi
call fcn.00488e50
mov rax, qword [rsp + 0x120]
lea rdx, [rsp + 0x1f0]
lea rcx, [rax - 0x18]
call fcn.00485070
lea r8, [fcn.00488eb0]
lea rdx, [0x004e5de0]
mov rcx, rsi
call fcn.0049af80
nop dword [rax + rax]
mov rcx, qword [rsp + 0x98]
lea rdx, [0x004b1cf7]
mov r8d, 2
call fcn.00485470
add dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0xf0]
cmp eax, 3
jbe 0x41107c
mov rcx, qword [rsp + 0x98]
lea rdx, [0x004b6321]
call fcn.00485430
jmp 0x4110e1
cmp byte [rsp + 0x118], 9
jne 0x410bf8
mov r8, qword [rsp + 0x90]
lea rdx, str.Device:__s__self_test_in_progress_n
mov ecx, 6
call fcn.004015e0
jmp 0x40fb07
lea rdx, str.__UNRECOGNIZED_OPTION:__c___n_n
mov ecx, 2
call fcn.004015e0
jmp 0x40f262
movsx r9d, byte [rsp + 0xf0]
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__not_capable_of__c_Self_Test_n
mov ecx, 2
call fcn.004015e0
jmp 0x40fb83
mov rcx, r15
call fcn.00420660
lea r9, str.Long_Self
jmp 0x410da9
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__does_not_support_Self_Tests_n
mov ecx, 2
call fcn.004015e0
mov byte [rbp + 0x564], 1
mov byte [rbp + 0x563], 1
jmp 0x40fb83
lea rdi, str.local2
mov ecx, 7
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x41144a
mov dword [0x0049c2a0], 0x90
jmp case.0x40ec97.110
mov edx, 1
mov ecx, 0x19
call fcn.00428660
jmp 0x40fe71
mov edx, 1
mov ecx, 0x18
call fcn.00428660
jmp 0x40fe56
lea rdi, str.onecheck
mov ecx, 9
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x41141d
mov dword [0x004ff198], 3
mov byte [0x004ff1d0], 1
jmp case.0x40ec97.110
mov edx, 1
mov ecx, 0xf
call fcn.00428660
jmp 0x40fdf3
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__starting_scheduled__s_Test._n
mov ecx, 6
call fcn.004015e0
jmp 0x40fb83
mov edx, 1
mov ecx, 2
call fcn.00428660
jmp 0x40fe3b
mov edx, 1
mov ecx, 0x15
call fcn.00428660
jmp 0x40fe0e
mov rcx, qword [rsp + 0x98]
lea rdx, [0x004b6353]
mov r8d, 9
call fcn.00485470
jmp 0x4110e1
lea rdi, str.showtests
mov ecx, 0xa
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x411610
mov dword [0x004ff198], 4
mov byte [0x004ff1d0], 1
jmp case.0x40ec97.110
lea rdi, str.local3
mov ecx, 7
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x411a22
mov dword [0x0049c2a0], 0x98
jmp case.0x40ec97.110
lea rdx, str.Started_with__q_onecheck_option._All_devices_sucessfully_checked_once._nsmartd_is_exiting__exit_status_0__n
mov ecx, 6
call fcn.004015e0
mov dword [rsp + 0x84], 0
jmp 0x410b3f
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__not_capable_of__s_Test_n
mov ecx, 2
call fcn.004015e0
cmp byte [rsp + 0xf0], 0x4c
je 0x4115c6
mov byte [rbp + 0x563], 1
jmp 0x40fb83
mov rdx, qword [rsp + 0x98]
lea rcx, [rax - 0x18]
call fcn.00485060
jmp 0x40f467
mov edx, 0xffffffff
lock xadd dword [rax - 8], edx
jmp 0x40f45f
lea rax, [rsp + 0x130]
mov qword [rsp + 0xc8], rax
mov eax, dword [0x004ff188]
cmp eax, 0xf
mov eax, dword [0x004ff188]
sete bl
cmp byte [0x004ff1d0], 0
je 0x41151c
cmp eax, 0x15
sete al
or ebx, eax
mov ecx, dword [0x004ff188]
movzx ebx, bl
call fcn.004287a0
cmp ebx, 1
mov r8d, dword [0x004ff188]
lea rdx, str.smartd_received_signal__d:__s_n
sbb ecx, ecx
mov r9, rax
and ecx, 0xfffffffc
add ecx, 6
call fcn.004015e0
test ebx, ebx
je 0x411600
mov rax, qword [0x004ff1c0]
cmp qword [rax - 0x18], 0
je 0x411481
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x150]
mov r8d, 1
call fcn.00407830
jmp 0x411481
lea r8, [rbx + 2]
lea rdx, str.__UNRECOGNIZED_OPTION:__s___n_n
mov ecx, 2
call fcn.004015e0
jmp 0x40f1cb
mov rsi, qword [rsp + 0x98]
lea rdi, str.ataioctl
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
jne 0x4115d2
mov rax, qword [0x004e17b0]
mov byte [rax], r8b
jmp case.0x40ec97.110
mov byte [rbp + 0x564], 1
jmp 0x40fb83
mov rsi, qword [rsp + 0x98]
lea rdi, str.scsiioctl
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
jne 0x411e42
mov rax, qword [0x004e1890]
mov byte [rax], r8b
jmp case.0x40ec97.110
mov dword [rsp + 0x84], 0xfe
jmp 0x410b3f
lea rdi, str.errors
mov ecx, 7
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x40edd4
mov dword [0x004ff198], 5
jmp case.0x40ec97.110
mov r8, qword [rsp + 0xc0]
lea rdx, str.Device:__s__skip_since_Self_Test_already_in_progress._n
mov ecx, 6
call fcn.004015e0
jmp 0x40fb83
mov rax, qword [rsp + 0x138]
sub rax, qword [rsp + 0x130]
movabs rbx, 0x66c6f436b052f9df
sar rax, 4
imul rbx, rax
test ebx, ebx
mov dword [rsp + 0xb0], ebx
je 0x410b3f
imul edi, ebx, 7
xor r14d, r14d
test edi, edi
jne 0x411a7f
lea rdx, str._nNext_scheduled_self_tests__at_most_5_of_each_type_per_device_:_n
mov ecx, 6
call fcn.004015e0
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov rcx, qword [rsp + 0xa8]
mov rdx, rax
mov qword [rsp + 0xa0], rax
call fcn.004262e0
mov eax, dword [0x0049c2a4]
cmp eax, 0x76a6ff
mov dword [rsp + 0x90], eax
jg 0x41188b
lea eax, [rbx - 1]
add rax, 1
imul rax, rax, 0x21f0
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x98], rax
movsxd r15, dword [rsp + 0x90]
xor edi, edi
xor r12d, r12d
add r15, qword [rsp + 0xa0]
xor ebx, ebx
jmp 0x411740
add rbx, 1
add r12, 0x998
add rdi, 0x21f0
cmp rdi, qword [rsp + 0x88]
je 0x41186c
mov rsi, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
movabs rax, 0x66c6f436b052f9df
sub r8, rsi
sar r8, 4
imul r8, rax
cmp rbx, r8
jae 0x411abe
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
movabs rax, 0xf02806abc74be1fb
add rsi, rdi
sub r8, rdx
sar r8, 3
imul r8, rax
cmp rbx, r8
jae 0x411aaf
mov rax, qword [rsp + 0x170]
mov r8, qword [rsp + 0x178]
add rdx, r12
sub r8, rax
sar r8, 3
cmp rbx, r8
jae 0x411a70
mov rax, qword [rax + rbx*8]
mov r9, r15
mov rcx, rsi
cmp qword [rax + 0x48], 0
setne r8b
movzx r8d, r8b
call fcn.00402670
test al, al
je 0x411720
movsx ebp, al
lea rcx, str.LncrSCO
mov edx, ebp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x411720
lea rdx, str.LncrSCO
sub rax, rdx
lea edx, [rbx*8]
sub edx, ebx
add eax, edx
lea r13, [r14 + rax*4]
mov eax, dword [r13]
add eax, 1
cmp eax, 5
mov dword [r13], eax
jg 0x411720
mov rcx, qword [rsp + 0x98]
mov rdx, r15
call fcn.004262e0
mov rax, qword [rsp + 0x98]
mov r8, qword [rsi + 8]
lea rdx, str.Device:__s__will_do_test__d_of_type__c_at__s_n
mov dword [rsp + 0x20], ebp
mov ecx, 6
mov qword [rsp + 0x28], rax
mov r9d, dword [r13]
call fcn.004015e0
jmp 0x411720
mov esi, dword [0x0049c2a4]
add dword [rsp + 0x90], esi
mov eax, dword [rsp + 0x90]
cmp eax, 0x76a6ff
jle 0x411702
movsxd rdx, dword [rsp + 0x90]
lea rbx, [rsp + 0x1f0]
add rdx, qword [rsp + 0xa0]
mov rcx, rbx
call fcn.004262e0
mov r8, qword [rsp + 0xa8]
lea rdx, str._nTotals___s____s_:_n
mov r9, rbx
mov ecx, 6
call fcn.004015e0
lea r13, [0x004b6f27]
xor ebp, ebp
xor r12d, r12d
xor ebx, ebx
mov rax, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
movabs rsi, 0x66c6f436b052f9df
sub r8, rax
sar r8, 4
imul r8, rsi
cmp rbx, r8
jae 0x411d6c
add rax, rbp
mov r8, qword [rsp + 0x178]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x170]
sub r8, rax
sar r8, 3
cmp rbx, r8
jae 0x411dd3
mov rax, qword [rax + rbx*8]
lea rsi, str.LncrSCO
mov edi, r12d
mov r15, qword [rax + 0x48]
jmp 0x4119c5
movsx r10d, byte [rsi]
lea rax, [0x004b5c17]
lea rcx, str.LSCO
test r15, r15
mov dword [rsp + 0x98], r9d
cmovne rcx, rax
mov edx, r10d
mov dword [rsp + 0x90], r10d
call sub.msvcrt.dll_strchr
test rax, rax
lea rdx, [0x004b1241]
mov r10d, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x98]
je 0x4119b9
mov rax, qword [rsp + 0x88]
mov ecx, 6
mov r8, qword [rax + 8]
mov qword [rsp + 0x20], rdx
lea rdx, str.Device:__s__will_do__3d_test_s_of_type__c_n
mov dword [rsp + 0x28], r10d
call fcn.004015e0
add rsi, 1
add edi, 1
cmp rsi, r13
je 0x4119f0
mov eax, edi
mov r9d, dword [r14 + rax*4]
test r9d, r9d
je 0x411945
lea rdx, [0x004b1241]
lea rax, [0x004b1240]
cmp r9d, 1
movsx r10d, byte [rsi]
cmove rdx, rax
jmp 0x411992
add rbx, 1
add r12d, 7
add rbp, 0x21f0
cmp dword [rsp + 0xb0], ebx
ja 0x4118d5
test r14, r14
je 0x410b3f
mov rcx, r14
call fcn.0049a4f0
jmp 0x410b3f
lea rdi, str.local4
mov ecx, 7
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x411ecd
mov dword [0x0049c2a0], 0xa0
jmp case.0x40ec97.110
mov edx, 0xffffffff
lock xadd dword [rax - 8], edx
jmp 0x41116e
xor r8d, r8d
xor edx, edx
lea rcx, [0x004b4558]
call fcn.00498a50
lea rcx, [0x004b4558]
mov rdx, rbx
call fcn.00498a50
lea rcx, [rdi*4]
call fcn.0049a530
mov r14, rax
xor eax, eax
test edi, edi
je 0x411693
mov dword [r14 + rax*4], 0
add rax, 1
cmp rdi, rax
jne 0x411a99
jmp 0x411693
lea rcx, [0x004b4558]
mov rdx, rbx
call fcn.00498a50
lea rcx, [0x004b4558]
mov rdx, rbx
call fcn.00498a50
call fcn.004022a0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 0
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov rbx, rax
mov rax, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x98]
lea rcx, [rax - 0x18]
call fcn.00485070
jmp 0x40f131
lea rcx, [0x004b4558]
call fcn.00498a50
mov rbx, rax
mov rcx, r12
call fcn.0045fd70
mov rcx, qword [rsp + 0x98]
call fcn.00494bb0
mov rcx, rdi
call fcn.0045fd70
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x411b53
call fcn.0049a4f0
mov rcx, qword [rsp + 0xc8]
call fcn.00494bb0
mov rcx, rbx
call fcn.0044f970
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov byte [0x004ff1d0], 1
call fcn.00401fe0
movsxd rax, dword [rsi]
lea rdx, str.__UNRECOGNIZED_ARGUMENT:__s___n_n
mov ecx, 2
mov r8, qword [rbp + rax*8]
call fcn.004015e0
lea rdx, str._nUse_smartd__h_to_get_a_usage_summary_n_n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
mov rbx, rax
mov rcx, rsi
call sub.msvcrt.dll_fclose
lea rdi, [rsp + 0x170]
jmp 0x411b39
xor r8d, r8d
xor edx, edx
lea rcx, [0x004b4558]
call fcn.00498a50
mov rbx, rax
mov rax, qword [rdi + 0x30]
mov rdx, r12
lea rcx, [rax - 0x18]
call fcn.00485070
mov rax, qword [rdi + 0x28]
mov rdx, r12
lea rcx, [rax - 0x18]
call fcn.00485070
mov rax, qword [rdi + 0x20]
mov rdx, r12
lea rcx, [rax - 0x18]
call fcn.00485070
mov rax, qword [rdi + 0x18]
mov rdx, r12
lea rcx, [rax - 0x18]
call fcn.00485070
mov rax, qword [rdi + 0x10]
mov rdx, r12
lea rcx, [rax - 0x18]
call fcn.00485070
mov rcx, qword [rdi + 8]
mov rdx, r12
sub rcx, 0x18
call fcn.00485070
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x411bed
call fcn.0049a4f0
jmp 0x411bed
cmp eax, 0xfffffffd
je 0x411d45
cmp eax, 0xfffffffe
sete al
movzx eax, al
lea eax, [rax + rax*2 + 2]
mov dword [rsp + 0x84], eax
mov r8, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x330]
mov rax, r8
sub rax, rdx
sar rax, 3
test rax, rax
je 0x411d26
xor ebx, ebx
xor eax, eax
mov rcx, qword [rdx + rax*8]
test rcx, rcx
je 0x411d11
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x330]
mov r8, qword [rsp + 0x338]
mov rcx, r8
lea eax, [rbx + 1]
sub rcx, rdx
sar rcx, 3
mov rbx, rax
cmp rax, rcx
jb 0x411cf2
test rdx, rdx
je 0x411d33
mov rcx, rdx
call fcn.0049a4f0
mov rcx, qword [rsp + 0x98]
call fcn.00494bb0
jmp 0x410b3f
mov dword [rsp + 0x84], 6
jmp 0x411ccf
mov rbx, rax
jmp 0x411bed
mov r8, rcx
lea rcx, [0x004b4558]
call fcn.00498a50
lea rcx, [0x004b4558]
mov rdx, rbx
call fcn.00498a50
test r14, r14
mov rbx, rax
je 0x411bed
mov rcx, r14
jmp 0x411c7f
lea rdx, str.smartd_unable_to_detach_from_console__n
mov ecx, 2
call fcn.004015e0
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 3
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
lea rcx, [0x004b4558]
mov rdx, rbx
call fcn.00498a50
jmp 0x411d55
xor edx, edx
jmp 0x410418
mov rcx, qword [rsp + 0x98]
lea rdx, str.nvmeioctl
mov dword [rsp + 0xc8], r8d
call sub.msvcrt.dll_strcmp
test eax, eax
mov r8d, dword [rsp + 0xc8]
jne 0x40edd4
mov rax, qword [0x004e1840]
mov byte [rax], r8b
jmp case.0x40ec97.110
mov ecx, 4
call fcn.0049a680
mov rdx, qword [0x004e1310]
mov dword [rax], 1
xor r8d, r8d
mov rcx, rax
call fcn.0049af80
lea rdx, str.local5
mov rcx, r8
mov qword [rsp + 0xc8], r8
call sub.msvcrt.dll_strcmp
test eax, eax
mov r8, qword [rsp + 0xc8]
jne 0x411eff
mov dword [0x0049c2a0], 0xa8
jmp case.0x40ec97.110
lea rdx, str.local6
mov rcx, r8
mov qword [rsp + 0xc8], r8
call sub.msvcrt.dll_strcmp
test eax, eax
mov r8, qword [rsp + 0xc8]
jne 0x411f31
mov dword [0x0049c2a0], 0xb0
jmp case.0x40ec97.110
lea rdx, str.local7
mov rcx, r8
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40edd4
mov dword [0x0049c2a0], 0xb8
jmp case.0x40ec97.110