Function at 0x140126cd0
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 [0x1402a25c0]
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 0x140126d67
mov eax, 0xffffffff
jmp 0x140128d35
mov rax, qword [rsp + 0x2b8]
cmp dword [rax + 0xc], 0
jl 0x140126dc1
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [rsp + 0x2b8]
mov eax, dword [rax + 0x3b8]
cmp dword [rcx + 0xc], eax
jge 0x140126dc1
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 0x140126e2f
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.1400a8070
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 0x140128d35
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov dword [rsp + 0x208], eax
cmp dword [rsp + 0x208], 0xa0
ja case.0x140126e70.1
movsxd rax, dword [rsp + 0x208]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x128db4]
mov eax, dword [rcx + rax*4 + 0x128d50]
add rax, rcx
jmp rax
lea rax, str.TEST_UNIT_READY_n
mov qword [rsp + 0x20], rax
mov r9d, 0x11bb
lea r8, [0x140230fb0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 1
test eax, eax
je 0x140126ed9
lea rax, str._for_Vital_Product_Data
mov qword [rsp + 0x210], rax
jmp 0x140126ee8
lea rax, [0x1402122f6]
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, [0x140230ff8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.1400a8070
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
and eax, 1
test eax, eax
je 0x140127653
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 0x140127583
cmp byte [rsp + 0x218], 0x80
je 0x140126fa8
cmp byte [rsp + 0x218], 0x83
je 0x140127357
jmp 0x140127616
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 0x140126ffa
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, [0x140231018]
lea rcx, [rsp + 0x1c8]
call fcn.1400010b0
mov qword [rsp + 0x220], rax
mov rcx, qword [rsp + 0x220]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.UniqueDiskID
lea rcx, [0x140231050]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x170], eax
lea rcx, [rsp + 0x1c8]
call fcn.140001470
cmp dword [rsp + 0x170], 0
jne 0x140127083
mov dword [rsp + 0x228], reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x14012708e
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, [0x140227f84]
call fcn.1400a9170
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, [0x140228074]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b670
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.1400acc54
cmp dword [rsp + 0x170], 1
jne 0x140127219
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.1400acc54
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1d0]
call fcn.140010e20
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x238], rax
mov rcx, qword [rsp + 0x238]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140004740
nop
lea rcx, [rsp + 0x1d0]
call fcn.140002e10
lea rcx, [rsp + 0x178]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.140002d80
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x248], rax
mov rcx, qword [rsp + 0x248]
call fcn.140002e30
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400acdd0
nop
lea rcx, [rsp + 0x1d8]
call fcn.140002e10
nop
lea rcx, [rsp + 0x178]
call fcn.140001470
cmp dword [rsp + 0x170], 2
jne 0x140127322
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, [0x140231090]
lea rcx, [rsp + 0x90]
call fcn.1400acc54
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1e0]
call fcn.140010e20
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x258]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.140004740
nop
lea rcx, [rsp + 0x1e0]
call fcn.140002e10
lea rcx, [rsp + 0x180]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1e8]
call fcn.140002d80
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x268], rax
mov rcx, qword [rsp + 0x268]
call fcn.140002e30
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400acdd0
nop
lea rcx, [rsp + 0x1e8]
call fcn.140002e10
nop
lea rcx, [rsp + 0x180]
call fcn.140001470
movzx r8d, word [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
add rcx, 4
lea rdx, [rsp + 0x90]
call fcn.1400a8d20
mov r11, qword [rsp + 0x68]
movzx ecx, byte [r11]
add ecx, 4
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], ecx
jmp 0x14012764e
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 0x1401273a9
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.1400a8070
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x338
call fcn.1400a9170
cmp rax, 8
jae 0x140127427
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x338
call fcn.1400a9170
mov qword [rsp + 0x270], rax
jmp 0x140127433
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.1400a8d20
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.1400acc54
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x1f0]
call fcn.140010e20
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x188]
call fcn.140004740
nop
lea rcx, [rsp + 0x1f0]
call fcn.140002e10
lea rcx, [rsp + 0x188]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.140002d80
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x290], rax
mov rcx, qword [rsp + 0x290]
call fcn.140002e30
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.1400acdd0
nop
lea rcx, [rsp + 0x1f8]
call fcn.140002e10
nop
lea rcx, [rsp + 0x188]
call fcn.140001470
mov rcx, qword [rsp + 0x78]
add rcx, 0x10
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, [rsp + 0x100]
call fcn.1400a8d20
mov r11, qword [rsp + 0x40]
mov dword [r11 + 0x14], 0x20
jmp 0x14012764e
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 0x1401275d5
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 0x14012764e
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, [0x1402310d8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
jmp 0x1401277c1
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 0x1401276a5
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.1400a9170
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.14011b670
mov rcx, qword [rsp + 0x2b0]
add rcx, 0x238
call fcn.1400a9170
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.14011b670
xor r9d, r9d
lea r8, [0x140228624]
mov edx, 8
lea rcx, [rsp + 0x190]
call fcn.1400ad7f0
lea rcx, [rsp + 0x190]
call fcn.1400a9170
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.14011b670
mov r11, qword [rsp + 0x40]
mov dword [r11 + 0x14], 0x24
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x74]
test eax, eax
jne 0x1401277da
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128cef
lea rax, str.STOP_START_UNIT_n
mov qword [rsp + 0x20], rax
mov r9d, 0x12e0
lea r8, [0x140231110]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, [0x140231130]
mov qword [rsp + 0x20], rax
mov r9d, 0x12e6
lea r8, [0x140231140]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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 0x140127909
mov ecx, 0xffffffff
call qword [sym.imp.WS2_32.dll_htonl]
mov r11d, eax
mov rax, qword [rsp + 0x78]
mov dword [rax], r11d
jmp 0x140127928
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 0x140128cef
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 1]
shl eax, 3
sar eax, 3
cmp eax, 0x10
jne 0x140127ba0
lea rax, str.READ_CAPACITY_n
mov qword [rsp + 0x20], rax
mov r9d, 0x12fd
lea r8, [0x140231170]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.1400a8070
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 0x140127ba9
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 2
jmp 0x140128cef
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 0x140127be7
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, [0x1402311b0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.1401268f0
test eax, eax
je 0x140127c8b
lea r9, [0x1402311d0]
mov r8d, 0x1314
lea rdx, [0x1402311e8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b850
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.1401268f0
test eax, eax
je 0x140127d20
lea r9, [0x140231208]
mov r8d, 0x1320
lea rdx, [0x140231220]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
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.1400a8d20
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.1400a8d20
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.1401268f0
test eax, eax
je 0x140127e3e
lea r9, str.disk_write___failed_n
mov r8d, 0x1331
lea rdx, [0x140231258]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b850
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.1401248a0
test eax, eax
je 0x140127ed2
lea r9, [0x140231278]
mov r8d, 0x133f
lea rdx, [0x140231290]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128cef
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.1400a8d20
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.1400a8d20
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.1401248a0
test eax, eax
je 0x140127fee
lea r9, [0x1402312b0]
mov r8d, 0x134f
lea rdx, [0x1402312c8]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128cef
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 0x140128038
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, [0x140231308]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.1401248a0
test eax, eax
je 0x1401280db
lea r9, [0x140231328]
mov r8d, 0x1360
lea rdx, [0x140231340]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], 1
jmp 0x140128cef
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 0x140128120
mov eax, 4
mov word [rsp + 0x70], ax
jmp 0x14012812a
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.1400a8070
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 0x140128161
mov rax, qword [rsp + 0x50]
mov byte [rax + 3], 0
jmp 0x14012816a
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 0x1401282ec
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 0x14012829f
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 0x14012833e
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
and eax, 0x3f
cmp eax, 0x3f
jne 0x14012833e
movzx eax, word [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, rax
mov r8d, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b4e0
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 0x140128cef
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 0x140128cef
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 0x1401283ce
mov eax, 8
mov word [rsp + 0x70], ax
jmp 0x1401283d8
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.1400a8070
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 0x140128417
mov rax, qword [rsp + 0x50]
mov byte [rax + 7], 0
jmp 0x140128420
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 0x140128699
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 0x1401285ee
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 0x1401286eb
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 2]
and eax, 0x3f
cmp eax, 0x3f
jne 0x1401286eb
movzx eax, word [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, rax
mov r8d, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b4e0
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 0x140128cef
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 0x140128cef
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128cef
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011b850
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, [0x140231388]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.140123540
test eax, eax
jge 0x140128a1e
lea r9, str.disk_read___failed_n
mov r8d, 0x1460
lea rdx, [0x1402313c0]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 2
jmp 0x140128a33
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, str.LOG_SENSE_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1469
lea r8, [0x1402313f0]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, str.PERSISTENT_RESERVE_IN_n
mov qword [rsp + 0x20], rax
mov r9d, 0x146f
lea r8, [0x140231428]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
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.14011c1d0
mov r11d, eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], r11d
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 0
jmp 0x140128cef
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x74], 2
jmp 0x140128cef
lea rax, str.RESERVE_6_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1480
lea r8, [0x140231458]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, str.RELEASE_6_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1486
lea r8, [0x140231488]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, str.RESERVE_10_n
mov qword [rsp + 0x20], rax
mov r9d, 0x148c
lea r8, [0x1402314b8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
lea rax, str.RELEASE_10_n
mov qword [rsp + 0x20], rax
mov r9d, 0x1492
lea r8, [0x1402314e8]
mov edx, 0x200
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x74], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
jmp 0x140128cef
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, [0x140231520]
mov rcx, qword [rsp + 0x2b0]
call fcn.14011be80
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, [0x140231560]
mov edx, 0x100
mov rcx, qword [rsp + 0x2b0]
call fcn.14011bf90
xor eax, eax
mov rcx, qword [rsp + 0x298]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x2a0
pop rbx
ret