Function at 0x1400587b0
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x148]
sub rsp, 0x248
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rbp + 0x120], rax
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x104
call fcn.140093c00
xor esi, esi
mov dword [0x140109f24], 0xffffffff
cmp dword [0x1401429e0], 0x62
mov dword [rsp + 0x58], esi
mov dword [0x140142ac8], esi
jb 0x14005911c
xor ecx, ecx
call fcn.140053d50
test al, 4
je 0x14005911c
mov rcx, qword [0x14015a330]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [0x14015a330]
xor r9d, r9d
movsxd r8, eax
mov edx, 0x150
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 2
jne 0x14005911c
movzx eax, byte [0x14015b417]
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x238], r14
lea r14, [0x14015b142]
mov qword [rsp + 0x230], r15
cmp al, 1
jbe 0x1400589f8
mov edi, eax
test al, al
je 0x1400588b1
lea rax, [rsp + 0x70]
mov rcx, r14
mov edx, edi
nop word [rax + rax]
mov qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x40
sub rdx, 1
jne 0x1400588a0
mov ecx, 0xc3b
call fcn.14001b320
mov ecx, 0xc3a
mov rbx, rax
call fcn.14001b320
inc dword [0x140112950]
mov ecx, 0x68
mov qword [0x140156640], rax
lea rax, [rsp + 0x70]
mov qword [0x1401564f0], rbx
mov rbx, qword [0x14015a568]
mov qword [0x140157660], rax
mov dword [0x140156454], edi
mov dword [0x140156648], 9
mov dword [0x140156430], 1
mov dword [0x140156524], 0xffffffff
call fcn.1400487b0
mov rcx, qword [0x14015a568]
mov edx, 1
mov rdi, rax
call qword [sym.imp.USER32.dll_ShowWindow]
test rdi, rdi
jne 0x140058950
mov r8d, 0x722
lea rdx, str.C:_src_r3dusb_src_stdlg.c
lea rcx, str.rcTemplate___NULL
call fcn.1400a15c4
mov rcx, qword [0x14015a338]
lea r9, [0x140044db0]
mov r8, rbx
mov qword [rsp + 0x20], rsi
mov rdx, rdi
call qword [sym.imp.USER32.dll_DialogBoxIndirectParamW]
mov rcx, rdi
mov rbx, rax
call fcn.14009b5a0
dec dword [0x140112950]
mov ecx, esi
mov r15d, 0xfffffffe
test ebx, ebx
jns 0x140058995
mov dword [0x140142ac8], r15d
jmp 0x1400589b0
sar ebx, 1
je 0x1400589a6
nop dword [rax]
inc ecx
sar ebx, 1
jne 0x1400589a0
mov dword [0x140142ac8], ecx
test ecx, ecx
jns 0x1400589ec
mov eax, r15d
mov r14, qword [rsp + 0x238]
mov rdi, qword [rsp + 0x268]
mov rbx, qword [rsp + 0x260]
mov r15, qword [rsp + 0x230]
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140092060
add rsp, 0x248
pop rsi
pop rbp
ret
cmp ecx, 4
cmovge ecx, esi
mov dword [0x140142ac8], ecx
cmp byte [0x14015b40f], sil
jne 0x140058a68
mov rcx, qword [0x1401128d8]
xor edx, edx
call fcn.140055fb0
mov rcx, rax
test rax, rax
jne 0x140058a2a
lea rcx, str.Could_not_mount_ISO_for_Windows_To_Go_selection
call fcn.140041aa0
mov eax, 0xffffffff
jmp 0x1400589b3
movsxd rax, dword [0x140142ac8]
lea r9, [0x1400e4578]
shl rax, 6
mov edx, 0x80
add rax, r14
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xa0]
call fcn.1400034e0
mov byte [rbp + 0x11f], sil
lea r9, [rbp - 0x70]
call fcn.1400277f0
test eax, eax
je 0x140058a7b
cmp byte [rbp - 0x70], sil
jne 0x140058aa0
mov eax, dword [0x1400f2638]
movsd xmm0, qword [str..RufVXml.tmp]
mov dword [rbp - 0x68], eax
movzx eax, word [0x1400f263c]
mov word [rbp - 0x64], ax
mov byte [rbp - 0x63], sil
movsd qword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x70]
call fcn.140003550
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test rbx, rbx
je 0x140058aca
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [0x14015b40f], sil
lea rcx, [rbp + 0xa0]
lea r9, [rbp - 0x70]
mov dword [rsp + 0x20], esi
cmovne rcx, qword [0x1401128d8]
lea r8, str._1_.xml
xor edx, edx
call fcn.140054c90
test eax, eax
jne 0x140058b13
lea rcx, str.Could_not_acquire_WIM_index
call fcn.140041aa0
jmp 0x1400590d1
mov r14d, 0x10
mov qword [rsp + 0x270], r12
mov ebx, esi
mov qword [rsp + 0x240], r13
mov ecx, r14d
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x40], ebx
lea edx, [r14 - 8]
call fcn.1400966e0
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
jne 0x140058b59
lea rcx, str.Could_not_allocate_string_array
call fcn.140041aa0
mov edx, 8
mov dword [rsp + 0x54], r14d
mov rcx, r14
mov dword [rsp + 0x50], esi
call fcn.1400966e0
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140058b85
lea rcx, str.Could_not_allocate_string_array
call fcn.140041aa0
mov r13d, esi
mov r12d, 1
mov r8d, r12d
mov dword [rsp + 0x30], r12d
lea rdx, [rbp - 0x70]
lea rcx, str.IMAGE_INDEX
call fcn.140020e30
mov r8, qword [rsp + 0x48]
mov r15, rax
test r8, r8
je 0x140058dde
test rax, rax
je 0x140058dde
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp ecx, eax
jne 0x140058bfd
add eax, eax
mov rcx, r8
mov edx, eax
mov r12, r8
shl rdx, 3
mov dword [rsp + 0x54], eax
call fcn.140096c28
mov qword [rsp + 0x48], rax
mov r8, rax
test rax, rax
je 0x140058dca
mov r12d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x50]
mov eax, ecx
mov qword [r8 + rax*8], r15
mov eax, ecx
inc ecx
mov dword [rsp + 0x50], ecx
test eax, eax
js 0x140058dde
mov r8d, r12d
lea rdx, [rbp - 0x70]
lea rcx, str.DISPLAYNAME
call fcn.140020e30
mov r15, rax
test rdi, rdi
je 0x140058c98
test rax, rax
je 0x140058c98
cmp ebx, r14d
jne 0x140058c82
lea ecx, [r14 + r14]
mov r12, rdi
mov edx, ecx
mov r14d, ecx
mov rcx, rdi
shl rdx, 3
mov dword [rsp + 0x44], r14d
call fcn.140096c28
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
jne 0x140058c7d
mov rcx, r12
call fcn.14009b5a0
lea rcx, str.Could_not_reallocate_string_array
call fcn.140041aa0
mov r12d, dword [rsp + 0x30]
jmp 0x140058c98
mov r12d, dword [rsp + 0x30]
mov eax, ebx
mov qword [rdi + rax*8], r15
mov eax, ebx
inc ebx
mov dword [rsp + 0x40], ebx
test eax, eax
jns 0x140058dbf
mov r8d, r12d
mov dword [rsp + 0x58], 1
lea rdx, [rbp - 0x70]
lea rcx, str.DESCRIPTION
call fcn.140020e30
mov r15, rax
test rdi, rdi
je 0x140058d25
test rax, rax
je 0x140058d25
cmp ebx, r14d
jne 0x140058d0f
lea ecx, [r14 + r14]
mov r12, rdi
mov edx, ecx
mov r14d, ecx
mov rcx, rdi
shl rdx, 3
mov dword [rsp + 0x44], r14d
call fcn.140096c28
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
jne 0x140058d0a
mov rcx, r12
call fcn.14009b5a0
lea rcx, str.Could_not_reallocate_string_array
call fcn.140041aa0
mov r12d, dword [rsp + 0x30]
jmp 0x140058d25
mov r12d, dword [rsp + 0x30]
mov eax, ebx
mov qword [rdi + rax*8], r15
mov eax, ebx
inc ebx
mov dword [rsp + 0x40], ebx
test eax, eax
jns 0x140058dbf
mov edx, r12d
lea rcx, str.Warning:_Could_not_find_a_description_for_image_index__d
call fcn.140041aa0
test rdi, rdi
je 0x140058dbf
cmp ebx, r14d
jne 0x140058d8b
lea eax, [r14 + r14]
mov rcx, rdi
mov edx, eax
mov r15, rdi
mov r14d, eax
shl rdx, 3
mov dword [rsp + 0x44], r14d
call fcn.140096c28
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
jne 0x140058d8b
mov rcx, r15
call fcn.14009b5a0
lea rcx, str.Could_not_reallocate_string_array
call fcn.140041aa0
inc r13d
inc r12d
jmp 0x140058b8e
lea rcx, str.Unknown_Windows_Version
call fcn.1400a1b50
mov ecx, ebx
mov qword [rdi + rcx*8], rax
test rax, rax
jne 0x140058db9
lea rcx, str.Could_not_store_string_in_array
call fcn.140041aa0
inc r13d
inc r12d
jmp 0x140058b8e
inc ebx
mov dword [rsp + 0x40], ebx
inc r13d
inc r12d
jmp 0x140058b8e
mov rcx, r12
call fcn.14009b5a0
lea rcx, str.Could_not_reallocate_string_array
call fcn.140041aa0
cmp dword [rsp + 0x58], esi
je 0x140058df0
lea rcx, str.Warning:_Nonstandard_Windows_image__missing__DISPLAYNAME__entries_
call fcn.140041aa0
mov r15d, 0xfffffffe
cmp r13d, 1
jle 0x140058ee0
mov ecx, 0xcdc
call fcn.14001b320
mov ecx, 0xcdb
mov rbx, rax
call fcn.14001b320
inc dword [0x140112950]
lea ecx, [r15 + 0x6a]
mov qword [0x1401564f0], rbx
mov rbx, qword [0x14015a568]
mov qword [0x140156640], rax
mov qword [0x140157660], rdi
mov dword [0x140156454], r13d
mov dword [0x140156648], 9
mov dword [0x140156430], 1
mov dword [0x140156524], 0xffffffff
call fcn.1400487b0
mov rcx, qword [0x14015a568]
lea edx, [r15 + 3]
mov r14, rax
call qword [sym.imp.USER32.dll_ShowWindow]
test r14, r14
jne 0x140058e99
mov r8d, 0x722
lea rdx, str.C:_src_r3dusb_src_stdlg.c
lea rcx, str.rcTemplate___NULL
call fcn.1400a15c4
mov rcx, qword [0x14015a338]
lea r9, [0x140044db0]
mov r8, rbx
mov qword [rsp + 0x20], rsi
mov rdx, r14
call qword [sym.imp.USER32.dll_DialogBoxIndirectParamW]
mov rcx, r14
mov rbx, rax
call fcn.14009b5a0
dec dword [0x140112950]
test ebx, ebx
jns 0x140058ed2
mov esi, r15d
jmp 0x140058edc
sar ebx, 1
je 0x140058edc
inc esi
sar ebx, 1
jne 0x140058ed6
lea r13d, [rsi + 1]
test r13d, r13d
jns 0x140058ef1
mov dword [0x140109f24], r15d
jmp 0x140059099
jne 0x140058f02
mov dword [0x140109f24], 1
jmp 0x140059099
mov r12, qword [rsp + 0x48]
movsxd rcx, r13d
mov rcx, qword [r12 + rcx*8 - 8]
call fcn.1400a5c58
mov dword [0x140109f24], eax
test r13d, r13d
jle 0x140059099
mov edx, r13d
lea rcx, [rbp - 0x70]
call fcn.140058070
cmp word [0x14015b42e], 0
je 0x140058f45
movzx ecx, word [0x14015b432]
test cx, cx
jne 0x140058f58
lea rcx, str.Warning:_Could_not_obtain_version_information_from_XML_index__Nonstandard_Windows_image__
call fcn.140041aa0
movzx ecx, word [0x14015b432]
movsxd rax, r13d
movzx r8d, cx
lea rcx, str.Will_use__s__Build:__d__Index__s__for_Windows_To_Go
mov r9, qword [r12 + rax*8 - 8]
mov rdx, qword [rdi + rax*8 - 8]
call fcn.140041aa0
movzx eax, word [0x14015b432]
mov ecx, 0x3a98
cmp ax, cx
jae 0x140059045
cmp dword [0x14015b558], 0xc
je 0x140059045
cmp dword [0x1401128e0], 0
mov eax, 0x180034
movzx esi, word [0x140109ee0]
mov r14d, 0x34
mov ecx, 0xc76
cmovne r14d, eax
call fcn.14001b320
mov ecx, 0xc1a
mov rbx, rax
call fcn.14001b320
mov rdi, qword [0x14015a568]
mov rcx, rax
call fcn.140003550
mov rcx, rbx
mov r12, rax
call fcn.140003550
mov r9d, r14d
mov word [rsp + 0x20], si
mov r8, rax
mov rdx, r12
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.USER32.dll_MessageBoxExW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test r12, r12
je 0x140059016
mov rcx, r12
call fcn.14009b5a0
test rbx, rbx
je 0x140059023
mov rcx, rbx
call fcn.14009b5a0
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x140109f24]
cmp edi, 6
cmovne eax, r15d
mov dword [0x140109f24], eax
movzx eax, word [0x14015b432]
mov ecx, 0x4563
cmp ax, cx
jne 0x140059099
mov eax, 0xffff
mov ecx, 0xc3d
mov word [rsp + 0x60], ax
lea rax, str.https:__github.com_pbatard_rufus_wiki_FAQbsods_with_windows_to_go_drives_created_from_windows_10_1809_isos
mov qword [rsp + 0x68], rax
call fcn.14001b320
lea rdx, str.Windows_To_Go
mov ecx, 0xc38
mov rbx, rax
call fcn.14001b320
mov r9, rax
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x60]
xor edx, edx
xor ecx, ecx
call fcn.140044be0
lea rcx, [rsp + 0x38]
call fcn.14003ff20
mov rcx, qword [rsp + 0x38]
call fcn.14009b5a0
lea rcx, [rsp + 0x48]
call fcn.14003ff20
mov rcx, qword [rsp + 0x48]
call fcn.14009b5a0
mov r13, qword [rsp + 0x240]
mov r12, qword [rsp + 0x270]
lea rcx, [rbp - 0x70]
call fcn.140003550
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test rbx, rbx
je 0x1400590fb
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [0x14015b40f], 0
jne 0x140059111
call fcn.140056400
mov eax, dword [0x140109f24]
jmp 0x1400589b3
mov eax, 0xffffffff
jmp 0x1400589d3