Function at 0x1400895b0
Capabilities:
Check if file exists

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140241cc0]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov esi, dword [r11 + 8]
mov r13, rdx
xor r15d, r15d
mov ebp, r15d
mov qword [r11 - 0x50], r15
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400898e3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], r15d
mov edi, r15d
mov r14d, r15d
mov qword [rsp + 0x40], r15
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400898cd
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov r8d, esi
lea rdx, str..Scsi_u:
lea rcx, [rsp + 0x48]
call fcn.14008ba60
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r15 + 3]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14008969f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x14008984c
mov ecx, 0x3c
call fcn.140179010
mov rdi, rax
test rax, rax
jne 0x1400896b9
lea ebp, [rax + 8]
jmp 0x140089843
mov ecx, 0x22c
call fcn.140179010
mov r14, rax
test rax, rax
jne 0x1400896d3
lea ebp, [rax + 8]
jmp 0x140089843
xor sil, sil
nop word [rax + rax]
xor eax, eax
mov qword [rdi + 4], rax
mov dword [rdi + 0x14], eax
mov qword [rdi + 0x1c], rax
mov qword [rdi + 0x24], rax
mov qword [rdi + 0x2c], rax
mov qword [rdi + 0x34], rax
xor edx, edx
mov r8d, 0x22c
mov rcx, r14
call fcn.14019b380
mov dword [rdi], 0x1c
mov dword [rdi + 0xc], 0x1388
mov dword [rdi + 0x18], 0x210
mov dword [rdi + 0x10], 0x1b0501
mov r8d, 8
lea rdx, str.SCSIDISK
lea rcx, [rdi + 4]
call fcn.14017d0c0
mov byte [rdi + 0x26], 0xec
mov byte [rdi + 0x28], sil
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x22c
mov qword [rsp + 0x20], r14
mov r9d, 0x3c
mov r8, rdi
mov edx, 0x4d008
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140089797
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
inc sil
cmp sil, 2
jb 0x1400896e0
jmp 0x140089843
lea rax, [r14 + 0x40]
mov r8d, 0xa
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + 1]
mov byte [rax], cl
mov byte [rax + 1], dl
lea rax, [rax + 2]
sub r8, 1
jne 0x1400897b0
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x15
or eax, ecx
jge 0x1400897eb
lea edx, [r8 + 0x15]
lea rcx, [rsp + 0x40]
call fcn.14008b430
mov rbx, qword [rsp + 0x40]
mov byte [rbx + 0x14], 0
mov r8d, socket
lea rdx, [r14 + 0x40]
mov rcx, rbx
call fcn.14017d0c0
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.14017e144
test eax, eax
js 0x1400898d8
cmp eax, dword [rbx - 0xc]
jg 0x1400898d8
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
lea rcx, [rsp + 0x40]
call fcn.14008ad30
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14008b0b0
mov rbx, qword [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140167c30
mov rcx, r14
call fcn.140167c30
nop
lea rdx, [rbx - 0x18]
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140089883
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.0]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x1400898a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.0]
mov eax, ebp
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140144310
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140053990
nop
mov ecx, 0x80070057
call fcn.140053990
nop
mov ecx, 0x80004005
call fcn.140053990
int3