Function at 0x140126d40
Capabilities:
Manipulate boot configuration
Read .ini file

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x2a0
mov qword [rsp + 0x200], 0xfffffffffffffffe
mov rax, qword [0x1402a15c0]
xor rax, rsp
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x2c0]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x18]
shr rax, 0x20
mov byte [rsp + 0x48], al
mov rax, qword [rsp + 0x60]
add rax, 4
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x2b8]
mov ecx, dword [rax + 0x88]
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
cmp rcx, rax
jae 0x140126dd7
mov eax, 0xffffffff
jmp 0x140128da5
mov rax, qword [rsp + 0x2b8]
cmp dword [rax + 0xc], 0
jl 0x140126e31
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [rsp + 0x2b8]
mov eax, dword [rax + 0x3b8]
cmp dword [rcx + 0xc], eax
jge 0x140126e31
movzx edx, byte [rsp + 0x48]
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
cmp rdx, qword [rax + rcx + 0x108]
jb 0x140126e9f
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x58]
movzx r8d, byte [rax]
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1400a8080
mov r11, qword [rsp + 0x78]
mov byte [r11], 0x1f
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rax]
or ecx, 0x60
mov rax, qword [rsp + 0x78]
mov byte [rax], cl
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rax + 4]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
xor eax, eax
jmp 0x140128da5
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov dword [rsp + 0x208], eax
cmp dword [rsp + 0x208], 0xa0
ja case.0x140126ee0.1
movsxd rax, dword [rsp + 0x208]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x128e24]
mov eax, dword [rcx + rax*4 + 0x128dc0]
add rax, rcx
jmp rax
lea rax, str.TEST_UNIT_READY_n
mov qword [rsp + 0x20], rax
mov r9d, 0x11bb
lea r8, [0x14022ffb0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 1
test eax, eax
je 0x140126f49
lea rax, str._for_Vital_Product_Data
mov qword [rsp + 0x210], rax
jmp 0x140126f58
lea rax, [0x1402112f6]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
lea rax, str.INQUIRY_s_n
mov qword [rsp + 0x20], rax
mov r9d, 0x125f
lea r8, [0x14022fff8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx r8d, byte [rax]
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1400a8080
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 1
test eax, eax
je 0x1401276c3
mov rax, qword [rsp + 0x78]
add rax, 3
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
mov al, byte [rax + 2]
mov byte [rsp + 0x218], al
cmp byte [rsp + 0x218], 0
je 0x1401275f3
cmp byte [rsp + 0x218], 0x80
je 0x140127018
cmp byte [rsp + 0x218], 0x83
je 0x1401273c7
jmp 0x140127686
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
cmp qword [rax + rcx + 0x10], 0x800
jne 0x14012706a
mov rax, qword [rsp + 0x78]
mov byte [rax], 5
mov rax, qword [rsp + 0x78]
mov byte [rax + 1], 0x83
mov rdx, qword [rsp + 0x2b0]
add rdx, 0x228
lea r8, [0x140230018]
lea rcx, [rsp + 0x1c8]
call fcn.1400010b0
mov qword [rsp + 0x220], rax
mov rcx, qword [rsp + 0x220]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.UniqueDiskID
lea rcx, [0x140230050]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x170], eax
lea rcx, [rsp + 0x1c8]
call fcn.140001490
cmp dword [rsp + 0x170], 0
jne 0x1401270f3
mov dword [rsp + 0x228], reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1401270fe
mov dword [rsp + 0x228], 0x20
movzx eax, word [rsp + 0x228]
mov word [rsp + 0x70], ax
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rsp + 0x70]
mov byte [rcx], al
lea rcx, [0x140226f84]
call fcn.1400a9180
movzx r8d, word [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, 4
mov byte [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
lea r9, [0x140227074]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b6e0
movzx r9d, byte [rsp + 0x48]
mov rax, qword [rsp + 0x2b8]
mov r8d, dword [rax + 0xc]
lea rdx, str.CCBOOT__04x__04x
lea rcx, [rsp + 0x90]
call fcn.1400acc74
cmp dword [rsp + 0x170], 1
jne 0x140127289
mov rcx, qword [rsp + 0x2b8]
add rcx, 0xb0
call qword [sym.imp.WS2_32.dll_inet_addr]
movzx r9d, byte [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x2b8]
mov r8d, dword [rax + 0xc]
lea rdx, str.cb0_02x_02x0_08x
lea rcx, [rsp + 0x90]
call fcn.1400acc74
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1d0]
call fcn.140010530
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x238], rax
mov rcx, qword [rsp + 0x238]
call fcn.1400105c0
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140004780
nop
lea rcx, [rsp + 0x1d0]
call fcn.140002e70
lea rcx, [rsp + 0x178]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.140002de0
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x248], rax
mov rcx, qword [rsp + 0x248]
call fcn.140002e90
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400acdf0
nop
lea rcx, [rsp + 0x1d8]
call fcn.140002e70
nop
lea rcx, [rsp + 0x178]
call fcn.140001490
cmp dword [rsp + 0x170], 2
jne 0x140127392
movzx eax, byte [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x2b8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x2b8]
mov r8, qword [r8 + 0x58]
lea rdx, [0x140230090]
lea rcx, [rsp + 0x90]
call fcn.1400acc74
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1e0]
call fcn.140010530
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x258]
call fcn.1400105c0
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.140004780
nop
lea rcx, [rsp + 0x1e0]
call fcn.140002e70
lea rcx, [rsp + 0x180]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1e8]
call fcn.140002de0
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x268], rax
mov rcx, qword [rsp + 0x268]
call fcn.140002e90
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400acdf0
nop
lea rcx, [rsp + 0x1e8]
call fcn.140002e70
nop
lea rcx, [rsp + 0x180]
call fcn.140001490
movzx r8d, word [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
add rcx, 4
lea rdx, [rsp + 0x90]
call fcn.1400a8d30
mov r11, qword [rsp + 0x68]
movzx ecx, byte [r11]
add ecx, 4
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
jmp 0x1401276be
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
cmp qword [rax + rcx + 0x10], 0x800
jne 0x140127419
mov rax, qword [rsp + 0x78]
mov byte [rax], 5
mov rax, qword [rsp + 0x78]
mov byte [rax + 1], 0x83
mov rax, qword [rsp + 0x78]
mov byte [rax + 3], 0x1c
mov rax, qword [rsp + 0x78]
mov byte [rax + 4], 1
mov rax, qword [rsp + 0x78]
mov byte [rax + 5], 1
mov rax, qword [rsp + 0x78]
mov byte [rax + 7], reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [rsp + 0x78]
add rcx, 8
mov r8d, 8
mov edx, 0x20
call fcn.1400a8080
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x338
call fcn.1400a9180
cmp rax, 8
jae 0x140127497
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x338
call fcn.1400a9180
mov qword [rsp + 0x270], rax
jmp 0x1401274a3
mov qword [rsp + 0x270], 8
mov rdx, qword [rsp + 0x2b0]
add rdx, 0x338
mov rcx, qword [rsp + 0x78]
add rcx, 8
mov r8, qword [rsp + 0x270]
call fcn.1400a8d30
movzx r11d, byte [rsp + 0x48]
mov dword [rsp + 0x20], r11d
mov rax, qword [rsp + 0x2b8]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x2b8]
mov r8, qword [r8 + 0x58]
lea rdx, str._s_08d_08d
lea rcx, [rsp + 0x100]
call fcn.1400acc74
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x1f0]
call fcn.140010530
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
call fcn.1400105c0
mov rdx, rax
lea rcx, [rsp + 0x188]
call fcn.140004780
nop
lea rcx, [rsp + 0x1f0]
call fcn.140002e70
lea rcx, [rsp + 0x188]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.140002de0
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x290], rax
mov rcx, qword [rsp + 0x290]
call fcn.140002e90
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.1400acdf0
nop
lea rcx, [rsp + 0x1f8]
call fcn.140002e70
nop
lea rcx, [rsp + 0x188]
call fcn.140001490
mov rcx, qword [rsp + 0x78]
add rcx, 0x10
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, [rsp + 0x100]
call fcn.1400a8d30
mov r11, qword [rsp + 0x40]
mov dword [r11 + 0x14], 0x20
jmp 0x1401276be
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
cmp qword [rax + rcx + 0x10], 0x800
jne 0x140127645
mov rax, qword [rsp + 0x78]
mov byte [rax], 5
mov rax, qword [rsp + 0x78]
mov byte [rax + 1], 0
mov rax, qword [rsp + 0x68]
mov byte [rax], 3
mov rax, qword [rsp + 0x78]
mov byte [rax + 4], 0
mov rax, qword [rsp + 0x78]
mov byte [rax + 5], 0x80
mov rax, qword [rsp + 0x78]
mov byte [rax + 6], 0x83
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rax]
add ecx, 4
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
jmp 0x1401276be
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x20], eax
lea r9, str.Unsupported_INQUIRY_VPD_page__x_n
mov r8d, 0x12b3
lea rdx, [0x1402300d8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
jmp 0x140127831
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
cmp qword [rax + rcx + 0x10], 0x800
jne 0x140127715
mov rax, qword [rsp + 0x78]
mov byte [rax], 5
mov rax, qword [rsp + 0x78]
mov byte [rax + 2], 3
mov rax, qword [rsp + 0x78]
mov byte [rax + 4], 0x20
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rax + 7]
or ecx, 0x60
mov rax, qword [rsp + 0x78]
mov byte [rax + 7], cl
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x338
call fcn.1400a9180
mov r9, qword [rsp + 0x2b0]
add r9, 0x338
mov rdx, qword [rsp + 0x78]
add rdx, 8
mov byte [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
mov r8d, 8
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b6e0
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x238
call fcn.1400a9180
mov r9, qword [rsp + 0x2b0]
add r9, 0x238
mov rdx, qword [rsp + 0x78]
add rdx, 0x10
mov byte [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b6e0
xor r9d, r9d
lea r8, [0x140227624]
mov edx, 8
lea rcx, [rsp + 0x190]
call fcn.1400ad810
lea rcx, [rsp + 0x190]
call fcn.1400a9180
mov rdx, qword [rsp + 0x78]
add rdx, 0x20
mov byte [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x190]
mov r8d, 4
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b6e0
mov r11, qword [rsp + 0x40]
mov dword [r11 + 0x14], 0x24
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x74]
test eax, eax
jne 0x14012784a
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128d5f
lea rax, str.STOP_START_UNIT_n
mov qword [rsp + 0x20], rax
mov r9d, 0x12e0
lea r8, [0x140230110]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, [0x140230130]
mov qword [rsp + 0x20], rax
mov r9d, 0x12e6
lea r8, [0x140230140]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
mov qword [rsp + 0x198], rax
mov eax, 0xffffffff
cmp qword [rsp + 0x198], rax
jbe 0x140127979
mov ecx, 0xffffffff
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x78]
mov dword [rax], r11d
jmp 0x140127998
mov rax, qword [rsp + 0x198]
sub rax, 1
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x78]
mov dword [rax], r11d
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
mov ecx, dword [rax + rcx + 0x10]
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 4], r11d
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 8
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 8
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
shl eax, 3
sar eax, 3
cmp eax, 0x10
jne 0x140127c10
lea rax, str.READ_CAPACITY_n
mov qword [rsp + 0x20], rax
mov r9d, 0x12fd
lea r8, [0x140230170]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov r8d, 0x20
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1400a8080
mov r11, qword [rsp + 0x2b8]
movsxd rax, dword [r11 + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
sub rax, 1
shl rax, 0x20
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
shl rbx, 0x20
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
sub rax, 1
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov eax, eax
mov rcx, rbx
or rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
mov ecx, dword [rax + rcx + 0x10]
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 8], r11d
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 0x20
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0x20
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140127c19
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 2
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax]
call qword [sym.imp.WS2_32.dll_ntohl]
and eax, 0x1fffff
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
test eax, eax
jne 0x140127c57
mov eax, 0x100
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
lea rax, str.WRITE_6_lba__u__len__u_blocks__n
mov qword [rsp + 0x20], rax
mov r9d, 0x1311
lea r8, [0x1402301b0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
movzx ecx, word [rsp + 0x70]
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140126960
test eax, eax
je 0x140127cfb
lea r9, [0x1402301d0]
mov r8d, 0x1314
lea rdx, [0x1402301e8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b8c0
movzx ecx, word [rsp + 0x70]
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140126960
test eax, eax
je 0x140127d90
lea r9, [0x140230208]
mov r8d, 0x1320
lea rdx, [0x140230220]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
mov qword [rsp + 0x1a0], 0
mov dword [rsp + 0x1a8], 0
mov rdx, qword [rsp + 0x60]
add rdx, 2
mov r8d, 8
lea rcx, [rsp + 0x1a0]
call fcn.1400a8d30
mov rax, qword [rsp + 0x1a0]
shl rax, 0x20
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
shl rbx, 0x20
mov rax, qword [rsp + 0x1a0]
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, eax
mov rax, rbx
or rax, rcx
mov qword [rsp + 0x1a0], rax
mov rdx, qword [rsp + 0x60]
add rdx, 0xa
mov r8d, 4
lea rcx, [rsp + 0x1a8]
call fcn.1400a8d30
mov ecx, dword [rsp + 0x1a8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x1a8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140126960
test eax, eax
je 0x140127eae
lea r9, str.disk_write___failed_n
mov r8d, 0x1331
lea rdx, [0x140230258]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b8c0
movzx ecx, word [rsp + 0x70]
mov r9d, dword [rsp + 0x80]
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140124910
test eax, eax
je 0x140127f42
lea r9, [0x140230278]
mov r8d, 0x133f
lea rdx, [0x140230290]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128d5f
mov qword [rsp + 0x1b0], 0
mov dword [rsp + 0x1b8], 0
mov rdx, qword [rsp + 0x60]
add rdx, 2
mov r8d, 8
lea rcx, [rsp + 0x1b0]
call fcn.1400a8d30
mov rax, qword [rsp + 0x1b0]
shl rax, 0x20
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
shl rbx, 0x20
mov rax, qword [rsp + 0x1b0]
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, eax
mov rax, rbx
or rax, rcx
mov qword [rsp + 0x1b0], rax
mov rdx, qword [rsp + 0x60]
add rdx, 0xa
mov r8d, 4
lea rcx, [rsp + 0x1b8]
call fcn.1400a8d30
mov ecx, dword [rsp + 0x1b8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x1b8], eax
mov ecx, dword [rsp + 0x1b8]
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
mov r9, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140124910
test eax, eax
je 0x14012805e
lea r9, [0x1402302b0]
mov r8d, 0x134f
lea rdx, [0x1402302c8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax]
call qword [sym.imp.WS2_32.dll_ntohl]
and eax, 0x1fffff
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
test eax, eax
jne 0x1401280a8
mov eax, 0x100
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
lea rax, str.READ_6_lba__u__len__u_blocks__n
mov qword [rsp + 0x20], rax
mov r9d, 0x135d
lea r8, [0x140230308]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
movzx ecx, word [rsp + 0x70]
mov r9d, dword [rsp + 0x80]
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
call fcn.140124910
test eax, eax
je 0x14012814b
lea r9, [0x140230328]
mov r8d, 0x1360
lea rdx, [0x140230340]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128d5f
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
je 0x140128190
mov eax, 4
mov word [rsp + 0x70], ax
jmp 0x14012819a
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [rsp + 0x70], ax
movzx r8d, word [rsp + 0x70]
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.1400a8080
mov r11, qword [rsp + 0x50]
mov byte [r11 + 1], 0
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
je 0x1401281d1
mov rax, qword [rsp + 0x50]
mov byte [rax + 3], 0
jmp 0x1401281da
mov rax, qword [rsp + 0x50]
mov byte [rax + 3], 8
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
jne 0x14012835c
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x50]
mov dword [rax + 4], r11d
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
shr rax, 0x20
test rax, rax
je 0x14012830f
mov rax, qword [rsp + 0x50]
mov dword [rax + 4], 0xffffffff
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
mov ecx, dword [rax + rcx + 0x10]
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x50]
mov dword [rax + 8], r11d
mov rax, qword [rsp + 0x2b0]
cmp dword [rax + 0x234], 0
je 0x1401283ae
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
and eax, 0x3f
cmp eax, 0x3f
jne 0x1401283ae
movzx eax, word [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, rax
mov r8d, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b550
mov r11d, eax
movzx eax, word [rsp + 0x70]
add eax, r11d
mov word [rsp + 0x70], ax
movzx ecx, word [rsp + 0x70]
sub ecx, 1
mov rax, qword [rsp + 0x50]
mov byte [rax], cl
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
movzx ecx, word [rsp + 0x70]
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
je 0x14012843e
mov eax, 8
mov word [rsp + 0x70], ax
jmp 0x140128448
mov eax, reloc.OLEAUT32.dll_SafeArrayGetElement
mov word [rsp + 0x70], ax
movzx r8d, word [rsp + 0x70]
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.1400a8080
mov r11, qword [rsp + 0x50]
mov byte [r11], 0
mov rax, qword [rsp + 0x50]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
je 0x140128487
mov rax, qword [rsp + 0x50]
mov byte [rax + 7], 0
jmp 0x140128490
mov rax, qword [rsp + 0x50]
mov byte [rax + 7], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 8
test eax, eax
jne 0x140128709
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
shl rax, 0x20
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
shl rbx, 0x20
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov eax, eax
mov rcx, rbx
or rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov r9, qword [rsp + 0x2b8]
mov r9, qword [r9 + 0x3c0]
mov r9, qword [r9 + rax + 0x160]
movzx r10d, byte [rsp + 0x48]
imul r10, r10, 0x38
mov r9, qword [r9 + 8]
mov rax, qword [rsp + 0x2b8]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x270
mov rcx, qword [rsp + 0x2b8]
mov rcx, qword [rcx + 0x3c0]
mov rcx, qword [rcx + rax + 0x160]
movzx r8d, byte [rsp + 0x48]
imul r8, r8, 0x38
mov rcx, qword [rcx + 8]
xor edx, edx
mov rax, qword [r9 + r10 + 8]
div qword [rcx + r8 + 0x10]
cmp rax, 0xffffffffffffffff
jbe 0x14012865e
mov rax, qword [rsp + 0x50]
mov qword [rax + 8], 0xffffffffffffffff
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
mov rax, qword [rax + rcx + 0x10]
shl rax, 0x20
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
shl rbx, 0x20
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
mov rax, qword [rax + rcx + 0x10]
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov eax, eax
mov rcx, rbx
or rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x2b0]
cmp dword [rax + 0x234], 0
je 0x14012875b
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
and eax, 0x3f
cmp eax, 0x3f
jne 0x14012875b
movzx eax, word [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, rax
mov r8d, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b550
mov r11d, eax
movzx eax, word [rsp + 0x70]
add eax, r11d
mov word [rsp + 0x70], ax
movzx ecx, word [rsp + 0x70]
sub ecx, 2
mov rax, qword [rsp + 0x50]
mov byte [rax + 1], cl
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
movzx ecx, word [rsp + 0x70]
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
and eax, 0xf
mov dword [rsp + 0x1c0], eax
mov dword [rsp + 0x1bc], 2
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x78], rax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 1
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 1
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], reloc.OLEAUT32.dll_SafeArrayLock
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 1
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
movsxd rcx, dword [rsp + 0x1bc]
mov rax, qword [rsp + 0x78]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov ecx, dword [rsp + 0x1bc]
sub ecx, 2
mov rax, qword [rsp + 0x78]
mov byte [rax + 1], cl
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x1bc]
mov dword [rcx + 0x14], eax
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b8c0
movzx r11d, word [rsp + 0x70]
mov dword [rsp + 0x30], r11d
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
lea rax, str.SYNC_CACHE__lba__u__len__u_blocks__n
mov qword [rsp + 0x20], rax
mov r9d, 0x145e
lea r8, [0x140230388]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
movzx r8d, word [rsp + 0x70]
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx ecx, byte [rsp + 0x48]
imul rcx, rcx, 0x38
mov rax, qword [rax + 8]
imul r8, qword [rax + rcx + 0x10]
mov r9d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x2b8]
movsxd rcx, dword [rax + 0xc]
imul rcx, rcx, 0x270
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + rcx + 0x160]
movzx edx, byte [rsp + 0x48]
imul rdx, rdx, 0x38
add rdx, qword [rax + 8]
mov qword [rsp + 0x20], r8
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [rsp + 0x2b0]
call fcn.1401235b0
test eax, eax
jge 0x140128a8e
lea r9, str.disk_read___failed_n
mov r8d, 0x1460
lea rdx, [0x1402303c0]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
jmp 0x140128aa3
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, str.LOG_SENSE_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1469
lea r8, [0x1402303f0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, str.PERSISTENT_RESERVE_IN_n
mov qword [rsp + 0x20], rax
mov r9d, 0x146f
lea r8, [0x140230428]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x60]
movzx eax, byte [r11 + 1]
and eax, 0x1f
mov r8, qword [rsp + 0x40]
mov r8, qword [r8 + 0x58]
movzx edx, al
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c240
mov r11d, eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], r11d
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 2
jmp 0x140128d5f
lea rax, str.RESERVE_6_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1480
lea r8, [0x140230458]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, str.RELEASE_6_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1486
lea r8, [0x140230488]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, str.RESERVE_10_n
mov qword [rsp + 0x20], rax
mov r9d, 0x148c
lea r8, [0x1402304b8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
lea rax, str.RELEASE_10_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1492
lea r8, [0x1402304e8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128d5f
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov dword [rsp + 0x20], eax
lea r9, str.UNKNOWN_OPCODE__x_n
mov r8d, 0x1498
lea rdx, [0x140230520]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bef0
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x74]
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
lea rax, str.SCSI_op__x:_done__status__x__n
mov qword [rsp + 0x20], rax
mov r9d, 0x149e
lea r8, [0x140230560]
mov edx, 0x100
mov rcx, qword [rsp + 0x2b0]
call fcn.14011c000
xor eax, eax
mov rcx, qword [rsp + 0x298]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x2a0
pop rbx
ret