Function at 0x14003e77a
Capabilities:
Copy file
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x248
xor eax, eax
lea r13, [0x1400a1f1f]
mov ebx, ecx
lea rdi, [rsp + 0xd8]
mov ecx, 8
mov dword [rsp + 0x64], edx
rep stosd dword [rdi], eax
lea rax, [0x1400a1f23]
lea rdi, [rsp + 0xd8]
mov dword [rsp + 0x2a0], r8d
mov qword [rsp + 0xc8], rax
mov rax, qword [0x1400b1630]
mov qword [rsp + 0xc0], r13
mov eax, dword [rax]
mov qword [rsp + 0x68], rdi
cmp eax, 5
je 0x14003e808
xor esi, esi
cmp eax, 3
jne 0x14003e80d
mov rax, qword [0x1400b1a80]
xor esi, esi
cmp byte [rax + 0x44d], 4
seta sil
add rax, 0x44e
jmp 0x14003e81d
mov esi, 1
movsxd rax, esi
neg rax
and eax, 0xc
add rax, qword [0x1400b1740]
mov qword [rsp + 0x20], rax
mov edx, 1
mov ecx, 1
xor r8d, r8d
mov r9d, 0xca2
call fcn.14001d77b
mov rax, qword [0x1400b1280]
xor edx, edx
mov dword [0x14007d280], edx
xor edx, edx
mov ecx, dword [rax + 0x10]
mov eax, ecx
shr eax, 1
je 0x14003e858
mov dl, 1
jmp 0x14003e850
test dl, dl
je 0x14003e86a
bsr edx, ecx
test ecx, ecx
cmove edx, eax
mov dword [0x14007d280], edx
mov eax, dword [0x14007d280]
mov dword [0x14007d27c], ecx
mov dword [0x14007d274], ecx
mov dword [0x14007d278], eax
lea eax, [rcx - 1]
mov dword [0x14007d270], eax
test rcx, rcx
je 0x14003e89e
add rcx, 0x10
call sub.msvcrt.dll_malloc
test rax, rax
jne 0x14003e8bb
xor eax, eax
xor r14d, r14d
xor r15d, r15d
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [0x140112250], rax
jmp 0x14003f4e0
lea rdx, [rax + 0x10]
mov ecx, ebx
mov r9d, 1
xor r8d, r8d
and rdx, 0xfffffffffffffff0
mov qword [rdx - 8], rax
mov dword [rsp + 0x20], 1
mov qword [0x140112250], rdx
xor edx, edx
call fcn.14000dce7
lea rcx, str.Could_open_volume_for_Syslinux_installation
mov qword [rsp + 0x58], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14003e956
xor eax, eax
mov r8d, dword [0x14007d27c]
mov rdx, qword [0x140112250]
lea r9, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.DLL_ReadFile]
mov r15d, eax
test eax, eax
jne 0x14003e940
lea rcx, str.Could_not_read_VBR
xor r14d, r14d
call fcn.140036717
jmp 0x14003f4e0
mov eax, dword [0x14007d27c]
cmp dword [rsp + 0x88], eax
je 0x14003e960
lea rcx, str.Could_not_read_the_whole_VBR
call fcn.140036717
jmp 0x14003f4da
mov rcx, qword [0x140112250]
lea rdx, [rsp + 0x90]
call fcn.14006b5b3
mov rbx, rax
test rax, rax
je 0x14003e990
mov rdx, rax
lea rcx, str.Error:__s
call fcn.140036717
jmp 0x14003f4da
mov rcx, qword [0x1400b1c90]
call fcn.14006ba2b
cmp dword [0x140112230], 0
je 0x14003ebda
cmp dword [0x140112234], 0
je 0x14003ebda
call fcn.14003e745
mov rax, qword [0x1400b1a80]
lea rdi, [0x140112230]
xor r12d, r12d
lea rsi, [0x140112240]
lea r14, [0x1400a1f23]
lea r15, [rax + 0x45a]
mov ecx, dword [rdi]
call sub.msvcrt.dll_malloc
mov qword [rsi], rax
test rax, rax
je 0x14003f4da
test r12d, r12d
lea rax, [0x1400a1f1f]
lea rdx, [rsp + 0x13c]
mov qword [rsp + 0x30], r15
cmovne rax, r14
mov qword [rsp + 0x50], rdx
lea r9, [0x1400a1f95]
mov rcx, qword [rsp + 0x50]
lea r8, str._s_s__s_s_s._s
mov edx, 0x104
mov qword [rsp + 0x40], rax
lea rax, str.ldlinux
mov qword [rsp + 0x38], rax
mov rax, qword [0x1400b1a80]
add rax, 0x44e
mov qword [rsp + 0x28], rax
lea rax, str.syslinux
mov qword [rsp + 0x20], rax
call qword [sym.imp.msvcrt.dll__snprintf]
mov rcx, qword [rsp + 0x50]
lea rdx, [0x1400a1fbd]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov r9, rax
test rax, rax
jne 0x14003ea9a
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b1520]
lea rcx, str.Could_not_open__s_s
jmp 0x14003ec87
mov r8d, dword [rdi]
mov rcx, qword [rsi]
mov edx, 1
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_fread
mov rcx, qword [rsp + 0x70]
mov rbp, rax
call sub.msvcrt.dll_fclose
mov edx, dword [rdi]
cmp rdx, rbp
je 0x14003eadb
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b1520]
lea rcx, str.Could_not_read__s_s
jmp 0x14003ec87
mov rcx, qword [rsi]
call fcn.140006b8e
lea r9, [0x1400a1f2b]
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b1520]
test eax, eax
lea rax, [0x1400a1f27]
lea rcx, str.Using_existing__s_s__s
cmovne r9, rax
add rdi, 4
add rsi, 8
call fcn.140036717
test r12d, r12d
jne 0x14003eb27
mov r12d, 1
jmp 0x14003e9e1
movsx eax, byte [rsp + 0x64]
mov rsi, qword [sym.imp.msvcrt.dll_toupper]
lea rbp, [rsp + 0x13f]
mov ecx, eax
mov dword [rsp + 0x64], eax
call rsi
mov qword [rsp + 0x28], r13
lea r8, str._c:_s._s
mov edx, 0x104
mov r9d, eax
lea rax, [rsp + 0x13c]
mov rdi, qword [sym.imp.msvcrt.dll__snprintf]
mov qword [rsp + 0x50], rax
lea rax, str.ldlinux
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call rdi
xor eax, eax
xor r9d, r9d
mov byte [rsp + 0x23f], 0
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov r8d, 3
mov edx, 0xc0000000
mov dword [rsp + 0x28], 7
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp rax, 0xffffffffffffffff
mov r13, rax
jne 0x14003ec91
call fcn.140036bd7
mov rdx, rbp
lea rcx, str.Unable_to_create__s:__s
mov r8, rax
jmp 0x14003ec87
shl rsi, 4
lea rax, [0x1400a2420]
mov r14, qword [sym.imp.msvcrt.dll__snprintf]
lea rbp, [0x140112230]
add rsi, rax
xor edi, edi
lea r15, [0x140112240]
mov rax, qword [rsp + rdi*8 + 0xc0]
lea r12, [rsp + 0xfc]
lea r9, str.ldlinux
mov edx, 0x40
lea r8, str._s._s
mov rcx, r12
mov qword [rsp + 0x20], rax
call r14
xor eax, eax
mov rdx, qword [rsi + rdi*8]
mov r9, r12
mov dword [rbp], eax
mov rax, qword [0x1400b19d0]
mov r8d, 0xa
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbp
mov rcx, qword [rax]
mov byte [rsp + 0x13b], 0
call fcn.140035786
mov qword [r15 + rdi*8], rax
test rax, rax
je 0x14003f4da
add rbp, 4
test rdi, rdi
jne 0x14003eb27
mov edi, 1
jmp 0x14003ebff
call fcn.140036717
jmp 0x14003f4da
mov dword [rsp + 0x20], 4
mov r8d, dword [0x140112230]
mov rcx, rax
lea r9, [rsp + 0x8c]
mov rdx, qword [0x140112240]
mov qword [rsp + 0x70], r9
call fcn.14003810a
mov r9, qword [rsp + 0x70]
test eax, eax
jne 0x14003ece4
call fcn.140036bd7
mov rdx, rbp
lea rcx, str.Could_not_write__s:__s
mov r8, rax
call fcn.140036717
xor r14d, r14d
jmp 0x14003f485
mov rdx, qword [0x1400b1c90]
mov dword [rsp + 0x20], 4
mov r8d, 0x400
mov rcx, r13
call fcn.14003810a
mov r15d, eax
test eax, eax
jne 0x14003ed27
call fcn.140036bd7
mov rdx, rbp
lea rcx, str.Could_not_write_ADV_to__s:__s
xor r14d, r14d
mov r8, rax
call fcn.140036717
jmp 0x14003f4e4
mov rdx, rbp
lea rcx, str.Successfully_wrote__s
call fcn.140036717
mov rax, qword [0x1400b1630]
cmp dword [rax], 3
je 0x14003ed54
movss xmm1, dword [0x1400a2440]
mov ecx, 7
call fcn.140043995
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_FlushFileBuffers]
test eax, eax
jne 0x14003ed72
lea rcx, str.FlushFileBuffers_failed
call fcn.140036717
jmp 0x14003ecdc
mov ecx, dword [0x14007d280]
mov ebp, dword [0x14007d27c]
mov edx, 8
add ebp, dword [0x140112230]
add ebp, 0x3ff
shr ebp, cl
movsxd rcx, ebp
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x14003ecdc
cmp dword [rsp + 0x2a0], 2
je 0x14003edd7
jg 0x14003edc4
cmp dword [rsp + 0x2a0], 1
ja 0x14003ef8e
jmp 0x14003ef23
cmp dword [rsp + 0x2a0], 4
je 0x14003ef23
jmp 0x14003ef8e
mov ecx, dword [rsp + 0x64]
call rsi
lea rsi, [rsp + 0xfc]
lea r8, [0x1400a2097]
mov edx, 0x40
mov r9d, eax
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__snprintf]
mov rax, qword [rsp + 0x58]
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
mov byte [rsp + 0x13b], 0
mov qword [rsp + 0xe0], rax
call fcn.14006bfe9
lea rcx, str.Could_not_fetch_NTFS_volume_info
test eax, eax
jne 0x14003eeb8
xor eax, eax
mov r12, r14
lea r15, [rsp + 0x98]
xor esi, esi
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x78], rax
jmp 0x14003ee7e
test r8b, r8b
je 0x14003ee6e
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x98], rax
mov r8, qword [rsp + 0x70]
mov rdx, r15
mov rcx, r13
call fcn.14006bdfc
test eax, eax
jne 0x14003ef9a
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0xb8]
call fcn.14006beb9
test eax, eax
je 0x14003eec2
lea rcx, str.Could_not_translate_ldlinux.sys_LCN_to_disk_LBA
call fcn.140036717
jmp 0x14003f485
mov ecx, dword [rsp + 0xec]
mov rdx, qword [rsp + 0xb0]
xor r8d, r8d
sub rdx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
imul rdx, rcx
sub rax, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rax
add rdx, rax
cmp rdx, rax
setne cl
cmp esi, ebp
setl r9b
and cl, r9b
je 0x14003ee61
add r12, 8
mov qword [r12 - 8], rax
inc esi
inc rax
mov r8d, ecx
jmp 0x14003eefb
mov rdx, qword [rsp + 0x58]
lea rcx, [0x14003e5f0]
call fcn.14006b060
lea rcx, str.Syslinux_FAT_access_error
mov r12, rax
test rax, rax
je 0x14003eeb8
xor r9d, r9d
lea r8, str.LDLINUX_SYS
xor edx, edx
mov rcx, rax
call fcn.14006b1e0
mov rcx, r12
xor esi, esi
mov edx, eax
call fcn.14006ae80
test rax, rax
je 0x14003ef84
cmp ebp, esi
jle 0x14003ef84
mov qword [r14 + rsi*8], rax
mov rdx, rax
mov rcx, r12
inc rsi
call fcn.14006aeb6
jmp 0x14003ef67
mov rcx, r12
call fcn.14006b1c4
jmp 0x14003ef9a
lea rcx, str.Unsupported_Syslinux_filesystem
jmp 0x14003eeb8
xor r15d, r15d
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov qword [rsp + 0x28], r15
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.14006baa0
test eax, eax
jns 0x14003efd3
lea rcx, str.Could_not_patch_Syslinux_files.
call fcn.140036717
lea rcx, str.WARNING:_This_could_be_caused_by_your_firewall_having_modified_downloaded_content__such_as_ldlinux.sys...
jmp 0x14003eeb8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rbp, qword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
mov rcx, r13
call rbp
test eax, eax
jne 0x14003f00c
call fcn.140036bd7
lea rdx, [rsp + 0x13f]
lea rcx, str.Could_not_rewrite__s:__s_n
mov r8, rax
call fcn.140036717
jmp 0x14003f485
mov dword [rsp + 0x20], 4
lea rsi, [rsp + 0x8c]
mov rcx, r13
mov r8d, dword [0x140112230]
mov rdx, qword [0x140112240]
mov r9, rsi
call fcn.14003810a
test eax, eax
je 0x14003efeb
lea rax, [r13 - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14003f052
mov rcx, r13
or r13, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x14003f055
xor r13d, r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call rbp
test eax, eax
jne 0x14003f07c
call fcn.140036bd7
lea rcx, str.Could_not_read_Syslinux_boot_record:__s
mov rdx, rax
jmp 0x14003f10b
xor r12d, r12d
mov r8d, dword [0x14007d27c]
mov rdx, qword [0x140112250]
lea r9, [rsp + 0x88]
mov qword [rsp + 0x20], r12
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x14003f068
mov edx, dword [rsp + 0x88]
mov r8d, dword [0x14007d27c]
cmp edx, r8d
jae 0x14003f0cd
lea rcx, str.Partial_read_of_Syslinux_boot_record:_read__d_bytes_but_requested__d
call fcn.140036717
jmp 0x14003f485
xor edx, edx
cmp dword [rsp + 0x2a0], 2
mov rcx, qword [0x140112250]
sete dl
add edx, 3
call fcn.14006b550
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call rbp
test eax, eax
jne 0x14003f115
call fcn.140036bd7
lea rcx, str.Could_not_write_Syslinux_boot_record:__s
mov rdx, rax
call fcn.140036717
jmp 0x14003f485
mov dword [rsp + 0x20], 4
mov r8d, dword [0x14007d27c]
mov r9, rsi
mov rdx, qword [0x140112250]
mov rcx, qword [rsp + 0x58]
call fcn.14003810a
test eax, eax
je 0x14003f0fc
lea rcx, str.Successfully_wrote_Syslinux_boot_record
call fcn.140036717
mov rax, qword [0x1400b1630]
cmp dword [rax], 5
jne 0x14003f2f1
call fcn.14003e745
mov rax, qword [0x1400b1740]
lea r15, str.syslinux
lea r9, [0x1400a1f95]
mov edx, 0x104
mov rcx, qword [rsp + 0x50]
lea r8, str._s_s__s
mov qword [rsp + 0x20], r15
add rax, 0xc
lea rbx, [rsp + 0x13f]
mov qword [rsp + 0x28], rax
call rdi
mov rcx, qword [rsp + 0x50]
mov byte [rsp + 0x23f], 0
call qword [sym.imp.msvcrt.dll__chdir]
mov ecx, dword [rsp + 0x64]
call qword [sym.imp.msvcrt.dll_toupper]
mov rcx, qword [rsp + 0x50]
mov edx, 0x104
lea r8, str._c:_s._s
mov r9d, eax
lea rax, [0x1400a22a4]
mov qword [rsp + 0x28], rax
lea rax, str.ldlinux
mov qword [rsp + 0x20], rax
call rdi
mov rcx, rbx
lea rdx, [0x1400a1fbd]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov rcx, rax
test rax, rax
jne 0x14003f219
mov rdx, rbx
lea rcx, str.Caution:_No__s_was_provided._The_target_will_be_missing_a_required_Syslinux_file_
call fcn.140036717
jmp 0x14003f301
call sub.msvcrt.dll_fclose
mov rcx, rbx
call fcn.14003e69d
mov rcx, qword [rsp + 0x50]
mov rdi, rax
call fcn.14003e69d
mov r8d, 1
mov rcx, rdi
mov rdx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.DLL_CopyFileW]
mov r12d, eax
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebp, eax
test rdi, rdi
je 0x14003f260
mov rcx, rdi
call sub.msvcrt.dll_free
test rsi, rsi
je 0x14003f26d
mov rcx, rsi
call sub.msvcrt.dll_free
mov ecx, ebp
call qword [sym.imp.KERNEL32.DLL_SetLastError]
test r12d, r12d
je 0x14003f2d6
mov rcx, rbx
call fcn.140006bee
lea rdx, [0x1400a1f27]
mov qword [rsp + 0x30], rbx
mov r8, qword [0x1400b1520]
test eax, eax
lea rax, [0x1400a1f2b]
mov qword [rsp + 0x20], r15
lea r9, [0x1400a1f95]
cmovne rax, rdx
mov rdx, qword [rsp + 0x50]
lea rcx, str.Created__s__from__s_s_s__s_s___s
mov qword [rsp + 0x38], rax
mov rax, qword [0x1400b1740]
lea rbp, [rax + 0xc]
mov qword [rsp + 0x28], rbp
call fcn.140036717
jmp 0x14003f301
call fcn.140036bd7
mov rdx, qword [rsp + 0x50]
lea rcx, str.Failed_to_create__s:__s
mov r8, rax
call fcn.140036717
jmp 0x14003f301
mov rdi, qword [0x1400b1a80]
cmp byte [rdi + 0x200], 0
jne 0x14003f309
mov rbx, r13
jmp 0x14003f4af
lea rcx, str.Setting_up_ReactOS...
xor ebp, ebp
call fcn.140036717
lea rax, [0x140112220]
mov dword [rsp + 0x28], ebp
lea r9, str.mboot.c32
mov qword [rsp + 0x20], rax
mov r8d, 0xa
mov edx, 0x194
mov rax, qword [0x1400b19d0]
mov rcx, qword [rax]
call fcn.140035786
mov qword [0x140112228], rax
test rax, rax
je 0x14003f485
mov ecx, dword [rsp + 0x64]
mov r12, qword [sym.imp.msvcrt.dll_toupper]
call r12
mov rcx, qword [rsp + 0x50]
mov edx, 0x104
lea r8, str._c:_s
mov r9d, eax
lea rax, str.mboot.c32
mov rbp, qword [sym.imp.msvcrt.dll__snprintf]
mov qword [rsp + 0x20], rax
call rbp
xor r11d, r11d
mov byte [rsp + 0x23f], 0
xor r9d, r9d
mov qword [rsp + 0x30], r11
mov rcx, qword [rsp + 0x50]
mov r8d, 3
mov edx, 0xc0000000
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.DLL_CreateFileA]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x14003f3e2
mov rdx, qword [rsp + 0x50]
lea rcx, str.Unable_to_create__s_n
jmp 0x14003f10b
mov dword [rsp + 0x20], 4
mov r8d, dword [0x140112220]
mov r9, rsi
mov rcx, rax
mov rdx, qword [0x140112228]
call fcn.14003810a
mov r15d, eax
lea rax, [r13 - 1]
test r15d, r15d
jne 0x14003f425
mov rdx, qword [rsp + 0x50]
lea rcx, str.Could_not_write__s
call fcn.140036717
jmp 0x14003f4e4
cmp rax, 0xfffffffffffffffd
ja 0x14003f438
mov rcx, r13
or rbx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [rsp + 0x64]
call r12
mov rcx, qword [rsp + 0x50]
lea r8, str._c:_syslinux.cfg
mov edx, 0x104
mov r9d, eax
call rbp
mov rcx, qword [rsp + 0x50]
lea rdx, [0x1400a23a2]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov rsi, rax
test rax, rax
jne 0x14003f48a
lea rcx, str.Could_not_create_ReactOS_syslinux.cfg
mov r13, rbx
call fcn.140036717
xor r15d, r15d
jmp 0x14003f4e4
mov rcx, rax
lea r9, [rdi + 0x200]
lea r8, str.mboot.c32
lea rdx, str.DEFAULT_ReactOS_nLABEL_ReactOS_n__KERNEL__s_n__APPEND__s
call sub.msvcrt.dll_fprintf
mov rcx, rsi
call sub.msvcrt.dll_fclose
mov rax, qword [0x1400b1630]
cmp dword [rax], 3
jne 0x14003f4c6
mov r13, rbx
mov r15d, 1
jmp 0x14003f4e4
movss xmm1, dword [0x1400a2440]
mov ecx, 7
call fcn.140043995
jmp 0x14003f4bb
xor r14d, r14d
xor r15d, r15d
or r13, 0xffffffffffffffff
mov rax, qword [0x140112250]
test rax, rax
je 0x14003f4f9
mov rcx, qword [rax - 8]
call sub.msvcrt.dll_free
mov rcx, qword [0x140112240]
xor r8d, r8d
mov qword [0x140112250], r8
call sub.msvcrt.dll_free
mov rcx, qword [0x140112248]
xor r9d, r9d
mov qword [0x140112240], r9
call sub.msvcrt.dll_free
xor r10d, r10d
mov rcx, r14
mov qword [0x140112248], r10
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x58]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14003f587
xor eax, eax
xor edx, edx
xor ecx, ecx
xor r9d, r9d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x94]
xor r8d, r8d
mov dword [rsp + 0x28], edx
mov edx, 0x9001c
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.DLL_DeviceIoControl]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rax, [r13 - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14003f59a
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, r15d
add rsp, 0x248
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret