Function at 0x14003faaa
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, [0x1400a4a3f]
mov ebx, ecx
lea rdi, [rsp + 0xd8]
mov ecx, 8
mov dword [rsp + 0x64], edx
rep stosd dword [rdi], eax
lea rax, [0x1400a4a43]
lea rdi, [rsp + 0xd8]
mov dword [rsp + 0x2a0], r8d
mov qword [rsp + 0xc8], rax
mov rax, qword [0x1400b47f0]
mov qword [rsp + 0xc0], r13
mov eax, dword [rax]
mov qword [rsp + 0x68], rdi
cmp eax, 5
je 0x14003fb38
xor esi, esi
cmp eax, 3
jne 0x14003fb3d
mov rax, qword [0x1400b4c60]
xor esi, esi
cmp byte [rax + 0x57d], 4
seta sil
add rax, 0x57e
jmp 0x14003fb4d
mov esi, 1
movsxd rax, esi
neg rax
and eax, 0xc
add rax, qword [0x1400b4900]
mov qword [rsp + 0x20], rax
mov edx, 1
mov ecx, 1
xor r8d, r8d
mov r9d, 0xca2
call fcn.14001e4cb
mov rax, qword [0x1400b4440]
xor edx, edx
mov dword [0x1400833a0], edx
xor edx, edx
mov ecx, dword [rax + 0x10]
mov eax, ecx
shr eax, 1
je 0x14003fb88
mov dl, 1
jmp 0x14003fb80
test dl, dl
je 0x14003fb9a
bsr edx, ecx
test ecx, ecx
cmove edx, eax
mov dword [0x1400833a0], edx
mov eax, dword [0x1400833a0]
mov dword [0x14008339c], ecx
mov dword [0x140083394], ecx
mov dword [0x140083398], eax
lea eax, [rcx - 1]
mov dword [0x140083390], eax
test rcx, rcx
je 0x14003fbce
add rcx, 0x10
call sub.msvcrt.dll_malloc
test rax, rax
jne 0x14003fbeb
xor eax, eax
xor r14d, r14d
xor r15d, r15d
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [0x1401174d0], rax
jmp 0x14003ffa2
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 [0x1401174d0], rdx
xor edx, edx
call fcn.140009042
lea rcx, str.Could_open_volume_for_Syslinux_installation
mov qword [rsp + 0x58], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14003fc86
xor eax, eax
mov r8d, dword [0x14008339c]
mov rdx, qword [0x1401174d0]
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 0x14003fc70
lea rcx, str.Could_not_read_VBR
xor r14d, r14d
call fcn.1400380b9
jmp 0x14003ffa2
mov eax, dword [0x14008339c]
cmp dword [rsp + 0x88], eax
je 0x14003fc90
lea rcx, str.Could_not_read_the_whole_VBR
call fcn.1400380b9
jmp 0x14003ff9c
mov rcx, qword [0x1401174d0]
lea rdx, [rsp + 0x90]
call fcn.14006db13
mov rbx, rax
test rax, rax
je 0x14003fcc0
mov rdx, rax
lea rcx, str.Error:__s
call fcn.1400380b9
jmp 0x14003ff9c
mov rcx, qword [0x1400b4eb0]
call fcn.14006df8b
cmp dword [0x1401174b0], 0
je 0x14003ff0a
cmp dword [0x1401174b4], 0
je 0x14003ff0a
call fcn.14003fa75
mov rax, qword [0x1400b4c60]
lea rdi, [0x1401174b0]
xor r12d, r12d
lea rsi, [0x1401174c0]
lea r14, [0x1400a4a43]
lea r15, [rax + 0x58a]
mov ecx, dword [rdi]
call sub.msvcrt.dll_malloc
mov qword [rsi], rax
test rax, rax
je 0x14003ff9c
test r12d, r12d
lea rax, [0x1400a4a3f]
lea rdx, [rsp + 0x13c]
mov qword [rsp + 0x30], r15
cmovne rax, r14
mov qword [rsp + 0x50], rdx
lea r9, [0x1400a4ab5]
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 [0x1400b4c60]
add rax, 0x57e
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, [0x1400a4add]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov r9, rax
test rax, rax
jne 0x14003fdca
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b46e0]
lea rcx, str.Could_not_open__s_s
jmp 0x14003ffc2
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 0x14003fe0b
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b46e0]
lea rcx, str.Could_not_read__s_s
jmp 0x14003ffc2
mov rcx, qword [rsi]
call fcn.140018572
lea r9, [0x1400a4a4b]
mov r8, qword [rsp + 0x50]
mov rdx, qword [0x1400b46e0]
test eax, eax
lea rax, [0x1400a4a47]
lea rcx, str.Using_existing__s_s__s
cmovne r9, rax
add rdi, 4
add rsi, 8
call fcn.1400380b9
test r12d, r12d
jne 0x14003fe57
mov r12d, 1
jmp 0x14003fd11
movsx eax, byte [rsp + 0x64]
mov rbp, qword [sym.imp.msvcrt.dll_toupper]
lea rsi, [rsp + 0x13f]
mov ecx, eax
mov dword [rsp + 0x64], eax
call rbp
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 0x14003ffc9
call fcn.140038579
mov rdx, rsi
lea rcx, str.Unable_to_create__s:__s
mov r8, rax
jmp 0x14003ffc2
shl rsi, 4
lea rax, [0x1400a4f40]
mov r14, qword [sym.imp.msvcrt.dll__snprintf]
lea rbp, [0x1401174b0]
add rsi, rax
xor edi, edi
lea r15, [0x1401174c0]
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 [0x1400b4ba0]
mov r8d, 0xa
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbp
mov rcx, qword [rax]
mov byte [rsp + 0x13b], 0
call fcn.140036e5f
mov qword [r15 + rdi*8], rax
test rax, rax
jne 0x14003ffab
xor r14d, r14d
xor r15d, r15d
or r13, 0xffffffffffffffff
jmp 0x140040857
add rbp, 4
test rdi, rdi
jne 0x14003fe57
mov edi, 1
jmp 0x14003ff2f
call fcn.1400380b9
jmp 0x14003ff9c
mov dword [rsp + 0x20], 4
mov r8d, dword [0x1401174b0]
mov rcx, rax
lea r9, [rsp + 0x8c]
mov rdx, qword [0x1401174c0]
mov qword [rsp + 0x70], r9
call fcn.140038ff2
mov r9, qword [rsp + 0x70]
test eax, eax
jne 0x14004001c
call fcn.140038579
mov rdx, rsi
lea rcx, str.Could_not_write__s:__s
mov r8, rax
call fcn.1400380b9
xor r14d, r14d
jmp 0x140040802
mov rdx, qword [0x1400b4eb0]
mov dword [rsp + 0x20], 4
mov r8d, 0x400
mov rcx, r13
call fcn.140038ff2
mov r15d, eax
test eax, eax
jne 0x14004005f
call fcn.140038579
mov rdx, rsi
lea rcx, str.Could_not_write_ADV_to__s:__s
xor r14d, r14d
mov r8, rax
call fcn.1400380b9
jmp 0x140040857
mov rdx, rsi
lea rcx, str.Successfully_wrote__s
call fcn.1400380b9
mov rax, qword [0x1400b47f0]
cmp dword [rax], 3
je 0x14004008c
movss xmm1, dword [0x1400a4f60]
mov ecx, 7
call fcn.140044d13
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_FlushFileBuffers]
test eax, eax
jne 0x1400400aa
lea rcx, str.FlushFileBuffers_failed
call fcn.1400380b9
jmp 0x140040014
mov ecx, dword [0x1400833a0]
mov esi, dword [0x14008339c]
mov edx, 8
add esi, dword [0x1401174b0]
add esi, 0x3ff
shr esi, cl
movsxd rcx, esi
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x140040014
cmp dword [rsp + 0x2a0], 2
je 0x14004010f
jg 0x1400400fc
cmp dword [rsp + 0x2a0], 1
ja 0x1400402c6
jmp 0x14004025b
cmp dword [rsp + 0x2a0], 4
je 0x14004025b
jmp 0x1400402c6
mov ecx, dword [rsp + 0x64]
call rbp
lea rbp, [rsp + 0xfc]
lea r8, [0x1400a4bb7]
mov edx, 0x40
mov r9d, eax
mov rcx, rbp
call qword [sym.imp.msvcrt.dll__snprintf]
mov rax, qword [rsp + 0x58]
mov rcx, rbp
mov rdx, qword [rsp + 0x68]
mov byte [rsp + 0x13b], 0
mov qword [rsp + 0xe0], rax
call fcn.14006e522
lea rcx, str.Could_not_fetch_NTFS_volume_info
test eax, eax
jne 0x1400401f0
xor eax, eax
mov r12, r14
lea r15, [rsp + 0x98]
xor ebp, ebp
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x78], rax
jmp 0x1400401b6
test r8b, r8b
je 0x1400401a6
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.14006e335
test eax, eax
jne 0x1400402d2
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0xb8]
call fcn.14006e3f2
test eax, eax
je 0x1400401fa
lea rcx, str.Could_not_translate_ldlinux.sys_LCN_to_disk_LBA
call fcn.1400380b9
jmp 0x140040802
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 ebp, esi
setl r9b
and cl, r9b
je 0x140040199
add r12, 8
mov qword [r12 - 8], rax
inc ebp
inc rax
mov r8d, ecx
jmp 0x140040233
mov rdx, qword [rsp + 0x58]
lea rcx, [0x14003f920]
call fcn.14006d5c0
lea rcx, str.Syslinux_FAT_access_error
mov r12, rax
test rax, rax
je 0x1400401f0
xor r9d, r9d
lea r8, str.LDLINUX_SYS
xor edx, edx
mov rcx, rax
call fcn.14006d740
mov rcx, r12
xor ebp, ebp
mov edx, eax
call fcn.14006d3e0
test rax, rax
je 0x1400402bc
cmp esi, ebp
jle 0x1400402bc
mov qword [r14 + rbp*8], rax
mov rdx, rax
mov rcx, r12
inc rbp
call fcn.14006d416
jmp 0x14004029f
mov rcx, r12
call fcn.14006d724
jmp 0x1400402d2
lea rcx, str.Unsupported_Syslinux_filesystem
jmp 0x1400401f0
mov rsi, qword [0x1400b4c60]
lea rcx, [rsi + 0x180]
call sub.msvcrt.dll_strlen
movsxd r12, eax
test eax, eax
je 0x140040304
dec rax
cmp byte [rax + rsi + 0x181], 0x2f
jne 0x1400402e5
movsxd rax, r12d
mov byte [rsi + rax + 0x180], 0
xor r15d, r15d
lea rax, [rsi + 0x180]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x28], r15
mov edx, ebp
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14006e000
test r12d, r12d
je 0x140040336
mov byte [rsi + r12 + 0x180], 0x2f
test eax, eax
jns 0x140040352
lea rcx, str.Could_not_patch_Syslinux_files.
call fcn.1400380b9
lea rcx, str.WARNING:_This_could_be_caused_by_your_firewall_having_modified_downloaded_content__such_as_ldlinux.sys...
jmp 0x1400401f0
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 0x14004038b
call fcn.140038579
lea rdx, [rsp + 0x13f]
lea rcx, str.Could_not_rewrite__s:__s_n
mov r8, rax
call fcn.1400380b9
jmp 0x140040802
mov dword [rsp + 0x20], 4
mov r8d, dword [0x1401174b0]
mov rcx, r13
lea r9, [rsp + 0x8c]
mov rdx, qword [0x1401174c0]
call fcn.140038ff2
test eax, eax
je 0x14004036a
lea rax, [r13 - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400403ce
mov rcx, r13
or r13, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x1400403d1
xor r13d, r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call rbp
test eax, eax
jne 0x1400403f8
call fcn.140038579
lea rcx, str.Could_not_read_Syslinux_boot_record:__s
mov rdx, rax
jmp 0x140040487
xor r12d, r12d
mov r8d, dword [0x14008339c]
mov rdx, qword [0x1401174d0]
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 0x1400403e4
mov edx, dword [rsp + 0x88]
mov r8d, dword [0x14008339c]
cmp edx, r8d
jae 0x140040449
lea rcx, str.Partial_read_of_Syslinux_boot_record:_read__d_bytes_but_requested__d
call fcn.1400380b9
jmp 0x140040802
xor edx, edx
cmp dword [rsp + 0x2a0], 2
mov rcx, qword [0x1401174d0]
sete dl
add edx, 3
call fcn.14006dab0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call rbp
test eax, eax
jne 0x140040491
call fcn.140038579
lea rcx, str.Could_not_write_Syslinux_boot_record:__s
mov rdx, rax
call fcn.1400380b9
jmp 0x140040802
mov dword [rsp + 0x20], 4
lea rbp, [rsp + 0x8c]
mov r8d, dword [0x14008339c]
mov rdx, qword [0x1401174d0]
mov rcx, qword [rsp + 0x58]
mov r9, rbp
call fcn.140038ff2
test eax, eax
je 0x140040478
lea rcx, str.Successfully_wrote_Syslinux_boot_record
call fcn.1400380b9
mov rax, qword [0x1400b47f0]
cmp dword [rax], 5
jne 0x140040675
call fcn.14003fa75
mov rax, qword [0x1400b4900]
lea r15, str.syslinux
lea r9, [0x1400a4ab5]
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, [0x1400a4dc4]
mov qword [rsp + 0x28], rax
lea rax, str.ldlinux
mov qword [rsp + 0x20], rax
call rdi
mov rcx, rbx
lea rdx, [0x1400a4add]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov rcx, rax
test rax, rax
jne 0x14004059d
mov rdx, rbx
lea rcx, str.Caution:_No__s_was_provided._The_target_will_be_missing_a_required_Syslinux_file_
call fcn.1400380b9
jmp 0x14004067e
call sub.msvcrt.dll_fclose
mov rcx, rbx
call fcn.14003f9cd
mov rcx, qword [rsp + 0x50]
mov rdi, rax
call fcn.14003f9cd
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 0x1400405e4
mov rcx, rdi
call sub.msvcrt.dll_free
test rsi, rsi
je 0x1400405f1
mov rcx, rsi
call sub.msvcrt.dll_free
mov ecx, ebp
call qword [sym.imp.KERNEL32.DLL_SetLastError]
test r12d, r12d
je 0x14004065a
mov rcx, rbx
call fcn.1400185d2
lea rdx, [0x1400a4a47]
mov qword [rsp + 0x30], rbx
mov r8, qword [0x1400b46e0]
test eax, eax
lea rax, [0x1400a4a4b]
mov qword [rsp + 0x20], r15
lea r9, [0x1400a4ab5]
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 [0x1400b4900]
lea rbp, [rax + 0xc]
mov qword [rsp + 0x28], rbp
call fcn.1400380b9
jmp 0x14004067e
call fcn.140038579
mov rdx, qword [rsp + 0x50]
lea rcx, str.Failed_to_create__s:__s
mov r8, rax
call fcn.1400380b9
jmp 0x14004067e
cmp byte [rsi + 0x200], 0
jne 0x140040686
mov rbx, r13
jmp 0x14004082c
lea rcx, str.Setting_up_ReactOS...
xor edi, edi
call fcn.1400380b9
lea rax, [0x1401174a0]
mov dword [rsp + 0x28], edi
lea r9, str.mboot.c32
mov qword [rsp + 0x20], rax
mov r8d, 0xa
mov edx, 0x194
mov rax, qword [0x1400b4ba0]
mov rcx, qword [rax]
call fcn.140036e5f
mov qword [0x1401174a8], rax
test rax, rax
je 0x140040802
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 rdi, qword [sym.imp.msvcrt.dll__snprintf]
mov qword [rsp + 0x20], rax
call rdi
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 0x14004075f
mov rdx, qword [rsp + 0x50]
lea rcx, str.Unable_to_create__s_n
jmp 0x140040487
mov dword [rsp + 0x20], 4
mov r8d, dword [0x1401174a0]
mov r9, rbp
mov rcx, rax
mov rdx, qword [0x1401174a8]
call fcn.140038ff2
mov r15d, eax
lea rax, [r13 - 1]
test r15d, r15d
jne 0x1400407a2
mov rdx, qword [rsp + 0x50]
lea rcx, str.Could_not_write__s
call fcn.1400380b9
jmp 0x140040857
cmp rax, 0xfffffffffffffffd
ja 0x1400407b5
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 rdi
mov rcx, qword [rsp + 0x50]
lea rdx, [0x1400a4ec2]
mov byte [rsp + 0x23f], 0
call sub.msvcrt.dll_fopen
mov rdi, rax
test rax, rax
jne 0x140040807
lea rcx, str.Could_not_create_ReactOS_syslinux.cfg
mov r13, rbx
call fcn.1400380b9
xor r15d, r15d
jmp 0x140040857
mov rcx, rax
lea r9, [rsi + 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, rdi
call sub.msvcrt.dll_fclose
mov rax, qword [0x1400b47f0]
cmp dword [rax], 3
jne 0x140040843
mov r13, rbx
mov r15d, 1
jmp 0x140040857
movss xmm1, dword [0x1400a4f60]
mov ecx, 7
call fcn.140044d13
jmp 0x140040838
mov rax, qword [0x1401174d0]
test rax, rax
je 0x14004086c
mov rcx, qword [rax - 8]
call sub.msvcrt.dll_free
mov rcx, qword [0x1401174c0]
xor r8d, r8d
mov qword [0x1401174d0], r8
call sub.msvcrt.dll_free
mov rcx, qword [0x1401174c8]
xor r9d, r9d
mov qword [0x1401174c0], r9
call sub.msvcrt.dll_free
xor r10d, r10d
mov rcx, r14
mov qword [0x1401174c8], r10
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x58]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400408fa
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 0x14004090d
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