Function at 0x14002a090
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
mov rax, qword [0x14011d6b0]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
mov r13d, edx
mov r14, rcx
mov esi, edx
cmp r13, qword [rcx + 0x370]
jge 0x14002b4f4
imul rax, rsi, 0x1918
add rax, qword [rcx + 0x368]
cmp dword [rax + 0x16d8], 0
je 0x14002b4c4
xor ecx, ecx
call fcn.1400b449c
mov qword [rsp + 0x48], rax
movsxd rdx, dword [r14 + 0x778]
lea r8, [0x14012cbd0]
mov rcx, rax
sub rcx, qword [r8 + r13*8]
cmp rcx, rdx
jl 0x14002b4c4
mov qword [r8 + r13*8], rax
call fcn.140071a10
mov rcx, rax
test rax, rax
je 0x14002b4fa
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0x170], rax
call fcn.140071a10
mov rcx, rax
test rax, rax
je 0x14002b505
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x190]
call fcn.140086acc
nop
call fcn.140071a10
mov rcx, rax
test rax, rax
je 0x14002b510
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.140071a10
mov rcx, rax
test rax, rax
je 0x14002b51b
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x68], rax
call fcn.140071a10
mov rcx, rax
test rax, rax
je 0x14002b526
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0x168], rax
xor r12d, r12d
lea rdx, [r14 + 0xa448]
lea rcx, [rsp + 0x60]
call fcn.1400028e0
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp rsi, qword [r14 + 0x370]
jge 0x14002b4ee
imul rdx, rsi, 0x1918
add rdx, 0x18b0
add rdx, qword [r14 + 0x368]
lea rcx, [rsp + 0x68]
call fcn.1400028e0
mov rbx, qword [rsp + 0x68]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140003fa0
xor edx, edx
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
lea r15, [rbx - 0x18]
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x78], rax
add rdi, 0xffffffffffffffe8
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x70], rax
lea r9, [rbp - 0x78]
lea r8, [rbp - 0x70]
mov edx, r13d
mov rcx, r14
call fcn.140009de8
mov dword [rsp + 0x78], 0x100
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x60]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0x148]
call fcn.14000dc34
mov r9, qword [rax]
lea r8, [rbp + 0x1c0]
lea rdx, str.ComputerName
lea rcx, [0x1400f265c]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp + 0x148]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
xor r13d, r13d
test eax, eax
jg 0x14002a312
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a330
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x180]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.14000dc34
mov rcx, qword [rax]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x100
lea r9, [rbp + 0x1c0]
lea r8, [0x1400ea000]
lea rdx, str.Date
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, qword [rbp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a3b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a3d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp + 0x1c0]
call fcn.1400af134
mov r8d, eax
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x70]
call fcn.140002b78
mov rax, qword [rsp + 0x70]
mov ecx, 1
cmp dword [rax - 0x10], r13d
jne 0x14002a641
mov r12d, ecx
lea rdx, [rbp + 0x188]
lea rcx, [rsp + 0x48]
call fcn.14002bc24
mov rbx, rax
mov r9, qword [rax]
cmp dword [r9 - 8], r12d
jle 0x14002a435
mov edx, dword [r9 - 0x10]
mov rcx, rax
call fcn.140002d70
mov r9, qword [rbx]
lea r8, [0x1400ea2b4]
mov edx, 0x100
lea rcx, [rbp + 0x1c0]
call fcn.14002bcc0
nop
mov rdx, qword [rbp + 0x188]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a46f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x98]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.14000dc34
mov rbx, rax
lea r8, str.FIRST
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x88]
call fcn.14000dc34
mov r9, qword [rbx]
lea r8, [rbp + 0x1c0]
lea rdx, str.Date
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a4f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a51a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a53b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp rsi, qword [r14 + 0x370]
jge 0x14002b4ee
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov r9d, dword [rax + 0x1800]
lea r8, [0x1400ea7b8]
mov edx, 0x100
lea rcx, [rbp + 0x1c0]
call fcn.14002bcc0
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xb0]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.14000dc34
mov rbx, rax
lea r8, str.FIRST
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xa0]
call fcn.14000dc34
mov r9, qword [rbx]
lea r8, [rbp + 0x1c0]
lea rdx, str.HealthStatus
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a5fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a620
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a641
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xc8]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.14000dc34
mov rbx, rax
lea r8, str.THRESHOLD
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xb8]
call fcn.14000dc34
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x100
lea r9, [rbp + 0x1c0]
lea r8, [0x1400ea000]
lea rdx, [0x1400f26ac]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a6de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a700
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a721
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp + 0x1c0]
call fcn.1400af134
mov r8d, eax
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x70]
call fcn.140002b78
mov rax, qword [rsp + 0x70]
cmp dword [rax - 0x10], r13d
mov eax, 1
cmove r12d, eax
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x48]
call fcn.14002bc24
mov rbx, rax
mov r9, qword [rax]
mov eax, 1
cmp dword [r9 - 8], eax
jle 0x14002a784
mov edx, dword [r9 - 0x10]
mov rcx, rbx
call fcn.140002d70
mov r9, qword [rbx]
lea r8, [0x1400ea2b4]
mov edx, 0x100
lea rcx, [rbp + 0x1c0]
call fcn.14002bcc0
nop
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a7c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xe0]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.14000dc34
mov r9, qword [rax]
lea r8, [rbp + 0x1c0]
lea rdx, str.Date
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a82e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a84f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp rsi, qword [r14 + 0x370]
jge 0x14002b4ee
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov r9d, dword [rax + 0x1800]
lea r8, [0x1400ea7b8]
mov edx, 0x100
lea rcx, [rbp + 0x1c0]
call fcn.14002bcc0
lea r8, [0x1400ea7b4]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14000dc34
nop
lea r8, str.Smart.ini
mov rdx, rax
lea rcx, [rbp + 0xe8]
call fcn.14000dc34
mov r9, qword [rax]
lea r8, [rbp + 0x1c0]
lea rdx, str.HealthStatus
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rbp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a8f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002a917
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b4ee
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17bc], 0xfffffed4
jle 0x14002a9e9
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x50], rax
lea rdx, [0x1400f00e0]
lea rcx, [rbp + 0xf8]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x68], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x60], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b531
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17bc]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x60]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b5bb
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17ac], r13d
jle 0x14002aabe
cmp dword [r14 + 0xa490], r13d
jne 0x14002aabe
lea rax, [rbp + 0x100]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
lea rdx, str.PowerOnHours
lea rcx, [rbp + 0x100]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x58], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x50], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b537
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17ac]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x50]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b5b5
lea rax, [rbp + 0x108]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x40], rax
lea rdx, str.PowerOnCount
lea rcx, [rbp + 0x108]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x48], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x40], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b5af
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17b8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x40]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b5a9
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17e0], r13d
jl 0x14002ac33
lea rax, [rbp + 0x110]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
lea rdx, [0x1400eb848]
lea rcx, [rbp + 0x110]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x38], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x30], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b53d
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17e0]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x30]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b5a3
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17cc], r13d
jl 0x14002acfb
lea rax, [rbp + 0x118]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x40], rax
lea rdx, str.HostWrites
lea rcx, [rbp + 0x118]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x28], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x20], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b543
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17cc]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x20]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b59d
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17d0], r13d
jl 0x14002adc3
lea rax, [rbp + 0x120]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
lea rdx, str.HostReads
lea rcx, [rbp + 0x120]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x78], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x70], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b549
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17d0]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x70]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b597
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17d8], r13d
jl 0x14002ae94
lea rax, [rbp + 0x128]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x40], rax
lea rdx, str.NandWrites
lea rcx, [rbp + 0x128]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x68], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x80], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b54f
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17d8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x80]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b591
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17d4], r13d
jl 0x14002af5c
lea rax, [rbp + 0x130]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
lea rdx, str.GBytesErased
lea rcx, [rbp + 0x130]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp - 0x10], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b555
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17d4]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x10]
call fcn.14002b5c4
mov rcx, qword [r14 + 0x370]
cmp rsi, rcx
jge 0x14002b58b
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
cmp dword [rax + 0x17dc], r13d
jl 0x14002b01d
lea rax, [rbp + 0x138]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x58], rax
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rdx, str.WearLevelingCount
lea rcx, [rbp + 0x138]
call fcn.140002ce0
mov rbx, rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp - 8], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b55b
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov eax, dword [rax + 0x17dc]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, [rbp - 8]
lea rdx, [rbp]
call fcn.14002b5c4
cmp rsi, qword [r14 + 0x370]
jge 0x14002b585
mov rdx, qword [r14 + 0x368]
imul rax, rsi, 0x1918
cmp r13d, dword [rax + rdx + 0x17a4]
jae 0x14002b41c
imul rcx, rsi, 0x1918
add rcx, rdx
mov eax, r13d
lea rbx, [rax + rax*2]
movzx r8d, byte [rcx + rbx*4 + 0x1400]
lea rdx, str._02X
lea rcx, [rsp + 0x70]
call fcn.1400042cc
lea rax, [rbp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
call fcn.140002848
add rax, 0x18
mov qword [rbp + 8], rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x10], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x18], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b57f
mov rax, qword [r14 + 0x368]
imul rdx, rsi, 0x1918
add rdx, rax
imul rcx, rsi, 0x1918
add rcx, rax
movzx eax, byte [rdx + rbx*4 + 0x1569]
movzx edx, byte [rcx + rbx*4 + 0x1403]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], edx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 8]
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
call fcn.14002b5c4
cmp rsi, qword [r14 + 0x370]
jge 0x14002b579
imul rax, rsi, 0x1918
add rax, qword [r14 + 0x368]
movzx ecx, byte [rax + rbx*4 + 0x1400]
sub ecx, 5
je 0x14002b358
sub ecx, 0xbf
je 0x14002b2b4
sub ecx, 1
je 0x14002b210
cmp ecx, 1
jne 0x14002b414
lea rax, [rbp + 0x140]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 0x80], rax
lea rdx, str.UncorrectableSectorCount
lea rcx, [rbp + 0x140]
call fcn.140002ce0
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x20], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x28], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b561
mov rcx, qword [r14 + 0x368]
imul rdx, rsi, 0x1918
add rdx, rcx
imul rax, rsi, 0x1918
add rax, rcx
movzx ecx, byte [rdx + rbx*4 + 0x1406]
shl ecx, 8
movzx eax, byte [rax + rbx*4 + 0x1405]
or ecx, eax
mov r9, qword [rsp + 0x40]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
jmp 0x14002b3f7
lea rax, [rbp + 0x150]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x58], rax
lea rdx, str.CurrentPendingSectorCount
lea rcx, [rbp + 0x150]
call fcn.140002ce0
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x30], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x38], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b567
mov rcx, qword [r14 + 0x368]
imul rdx, rsi, 0x1918
add rdx, rcx
imul rax, rsi, 0x1918
add rax, rcx
movzx ecx, byte [rdx + rbx*4 + 0x1406]
shl ecx, 8
movzx eax, byte [rax + rbx*4 + 0x1405]
or ecx, eax
mov r9, qword [rsp + 0x40]
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
jmp 0x14002b3f7
lea rax, [rbp + 0x158]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x58], rax
lea rdx, str.ReallocationEventCount
lea rcx, [rbp + 0x158]
call fcn.140002ce0
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x40], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x48], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b56d
mov rcx, qword [r14 + 0x368]
imul rdx, rsi, 0x1918
add rdx, rcx
imul rax, rsi, 0x1918
add rax, rcx
movzx ecx, byte [rdx + rbx*4 + 0x1406]
shl ecx, 8
movzx eax, byte [rax + rbx*4 + 0x1405]
or ecx, eax
mov r9, qword [rsp + 0x40]
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
jmp 0x14002b3f7
lea rax, [rbp + 0x160]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x58], rax
lea rdx, str.ReallocatedSectorsCount
lea rcx, [rbp + 0x160]
call fcn.140002ce0
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x50], rax
mov rcx, rdi
call fcn.140002848
add rax, 0x18
mov qword [rbp + 0x58], rax
cmp rsi, qword [r14 + 0x370]
jge 0x14002b573
mov rcx, qword [r14 + 0x368]
imul rdx, rsi, 0x1918
add rdx, rcx
imul rax, rsi, 0x1918
add rax, rcx
movzx ecx, byte [rdx + rbx*4 + 0x1406]
shl ecx, 8
movzx eax, byte [rax + rbx*4 + 0x1405]
or ecx, eax
mov r9, qword [rsp + 0x40]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
and dword [rsp + 0x38], 0
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], ecx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.14002b5c4
inc r13d
jmp 0x14002b01d
mov rdx, qword [rbp + 0x168]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002b441
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebx
lock xadd dword [r15 + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002b45c
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebx
lock xadd dword [rdi + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002b476
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp + 0x190]
call fcn.140086af8
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002b4a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14002b4c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.1400a9d90
mov rbx, qword [rsp + 0x520]
add rsp, 0x4d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400713c8
nop
call fcn.1400713c8
int3
mov ecx, 0x80004005
call fcn.140002f7c
nop
mov ecx, 0x80004005
call fcn.140002f7c
nop
mov ecx, 0x80004005
call fcn.140002f7c
nop
mov ecx, 0x80004005
call fcn.140002f7c
nop
mov ecx, 0x80004005
call fcn.140002f7c
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
int3
call fcn.1400713c8
int3
call fcn.1400713c8
int3
call fcn.1400713c8
int3
call fcn.1400713c8
int3
call fcn.1400713c8
int3
call fcn.1400713c8
nop
call fcn.1400713c8
nop
call fcn.1400713c8
int3
call fcn.1400713c8
int3