Function at 0x140016b00
Capabilities:
Check if file exists
Create directory
Delete file
Get common file path
Move file

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x11d0]
mov eax, 0x12d0
call fcn.140092620
sub rsp, rax
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rbp + 0x1190], rax
mov r13, qword [0x1401128d8]
lea rax, str.i386
xor r12d, r12d
mov qword [rbp + 0x7c0], rax
cmp dword [0x140107198], r12d
lea rax, str.amd64
mov qword [rbp + 0x7c8], rax
mov r15, rdx
lea rax, str.minint
mov qword [rsp + 0x68], r13
mov qword [rbp + 0x7d0], rax
mov esi, r12d
mov dword [rsp + 0x50], 1
mov dil, 0xff
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x58], r12
je 0x140018340
test r13, r13
je 0x140018340
test rdx, rdx
je 0x140018340
mov qword [rsp + 0x1300], rbx
lea rax, [0x1400dcbb8]
test r8d, r8d
mov qword [rsp + 0x1310], r14
lea rbx, [0x1400d756a]
mov dword [0x1401431a4], r8d
cmovne rbx, rax
mov qword [0x1401432d8], rdx
lea rax, [0x140013180]
mov qword [0x140109f30], rax
lea r14, [0x14015aec0]
je 0x140016cbb
lea rcx, str.ISO_analysis:
call fcn.140041aa0
mov rcx, qword [0x14015a568]
lea r8d, [r12 + 8]
xor r9d, r9d
mov edx, 0x8002
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 8
mov qword [0x140143310], r12
mov ecx, edx
mov qword [0x1401432f0], r12
mov dword [0x14015aea0], r12d
mov dword [0x14014332c], 8
mov dword [0x140143328], r12d
call fcn.1400966e0
mov qword [0x140143320], rax
test rax, rax
jne 0x140016c6e
lea rcx, str.Could_not_allocate_string_array
call fcn.140041aa0
mov edx, 8
mov dword [0x1401432c4], 8
mov ecx, edx
mov dword [0x1401432c0], r12d
call fcn.1400966e0
mov qword [0x1401432b8], rax
test rax, rax
jne 0x140016ca3
lea rcx, str.Could_not_allocate_string_array
call fcn.140041aa0
xor edx, edx
mov r9d, 0xc82
xor r8d, r8d
lea ecx, [rdx + 1]
call fcn.14001b7e0
jmp 0x140016e54
lea rcx, str.Extracting_files...
call fcn.140041aa0
lea rcx, [0x14015a220]
call fcn.140003550
mov rcx, rax
mov rsi, rax
call fcn.1400a4200
test rsi, rsi
je 0x140016ceb
mov rcx, rsi
call fcn.14009b5a0
cmp qword [0x140143310], r12
jne 0x140016d12
lea rcx, str.Error:_ISO_has_not_been_properly_scanned.
call fcn.140041aa0
mov dword [0x140111620], 0xe0031207
mov rsi, r12
jmp 0x1400170d8
mov edx, 8
mov qword [0x140143318], r12
mov ecx, edx
mov qword [0x1401431a8], r12
mov qword [0x1401072c8], r12
mov byte [0x1401431b0], r12b
mov dword [0x1401429d4], 8
mov dword [0x1401429d0], r12d
call fcn.1400966e0
mov qword [0x1401429c8], rax
test rax, rax
jne 0x140016d63
lea rcx, str.Could_not_allocate_string_array
call fcn.140041aa0
cmp dword [0x1401429c0], r12d
je 0x140016e51
cmp byte [0x14015b416], 1
mov qword [0x140159be8], r12
je 0x140016e2e
mov rax, qword [0x1400d16a8]
lea r9, [0x1400dcc14]
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x800]
mov edx, 0x104
mov qword [rsp + 0x20], r15
mov r8, 0xffffffffffffffff
call fcn.1400034e0
lea rcx, [rbp + 0x800]
mov byte [rbp + 0x903], r12b
mov qword [rsp + 0x58], r12
call fcn.140003550
lea rcx, [0x1400dcc1c]
mov r14, rax
call fcn.140003550
mov r8, rax
lea rcx, [rsp + 0x58]
mov rdx, r14
mov rsi, rax
call fcn.14009b840
test r14, r14
je 0x140016dfb
mov rcx, r14
call fcn.14009b5a0
test rsi, rsi
je 0x140016e08
mov rcx, rsi
call fcn.14009b5a0
mov rax, qword [rsp + 0x58]
mov qword [0x140143330], rax
test rax, rax
jne 0x140016e51
mov rdx, qword [0x1400d16a8]
lea rcx, str.WARNING:_Could_not_create__s
call fcn.140041aa0
jmp 0x140016e51
mov rdx, qword [0x1400d16a8]
mov rcx, r13
call fcn.1400188f0
mov dword [0x1401432b4], eax
mov rax, qword [0x1401432c8]
mov qword [0x1401432d0], rax
mov rsi, r12
mov rcx, r13
call fcn.14005f5d0
mov qword [rsp + 0x58], rax
mov r14, rax
test rax, rax
je 0x140016e9b
mov rdx, rbx
lea rcx, str._sImage_is_a_UDF_image
call fcn.140041aa0
mov rcx, r14
call fcn.14005f7f0
mov r14, rax
test rax, rax
jne 0x140016f17
mov rdx, rbx
lea rcx, str._sCould_not_locate_UDF_root_directory
call fcn.140041aa0
cmp dword [0x140107138], r12d
mov eax, dword [0x14010713c]
je 0x140016ec9
test eax, eax
je 0x140016ed0
cmp dword [0x1401431a4], r12d
jne 0x140016ec9
cmp byte [0x14015b41a], r12b
jne 0x140016ec9
cmp byte [0x14015b418], 1
jne 0x140016ecc
mov dil, 0xf8
test eax, eax
jne 0x140016ed4
and dil, 0xf7
movzx edx, dil
mov rcx, r13
call fcn.14005b380
mov qword [rsp + 0x78], rax
mov rsi, rax
mov rdx, rbx
test rax, rax
jne 0x140016fe5
mov r8, r13
lea rcx, str._s_s_doesnt_look_like_an_ISO_image
call fcn.140041aa0
mov dword [rsp + 0x50], 1
lea r14, [0x14015aec0]
jmp 0x1400170d8
cmp dword [0x1401431a4], r12d
je 0x140016fc5
mov rax, qword [rsp + 0x58]
lea rdx, [rbp + 0x990]
mov byte [0x14015aec0], r12b
mov r9d, 1
mov rcx, rax
mov r8d, dword [rax + 0x22c]
call fcn.14005f510
test eax, eax
jne 0x140016fac
movsx edx, byte [rbp + 0xa63]
lea rcx, [rbp + 0x9e4]
call fcn.14005f370
mov rsi, rax
test rax, rax
je 0x140016fac
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r12b
jne 0x140016f72
inc ebx
lea rcx, [0x14015aec0]
mov edi, 0xc0
mov rdx, rsi
cmp ebx, edi
cmovb edi, ebx
mov r8d, edi
call fcn.1400a4370
mov rcx, rsi
mov byte [0x14015af7f], r12b
call fcn.14009b5a0
test ebx, ebx
jg 0x140016fb3
mov byte [0x14015aec0], r12b
xor edx, edx
mov rcx, r13
call fcn.14005b380
mov rsi, rax
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x58]
lea r8, [0x1400d756a]
mov rdx, r14
call fcn.140014b30
lea r14, [0x14015aec0]
jmp 0x1400170d4
lea rcx, str._sImage_is_an_ISO9660_image
call fcn.140041aa0
cmp dword [0x1401431a4], r12d
movzx eax, byte [rsi + 0x18]
mov byte [0x140142c15], al
je 0x140017085
lea r9, [rsi + 0x841]
mov rcx, rsi
lea r8, [rsi + 0x41]
lea rdx, [rbp + 0x7d8]
call fcn.14005b480
test al, al
je 0x14001707c
mov rbx, qword [rbp + 0x7d8]
test rbx, rbx
jne 0x140017037
mov rax, r12
jmp 0x140017049
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], r12b
jne 0x140017040
inc rax
lea r14, [0x14015aec0]
mov edi, 0xc0
mov rdx, rbx
cmp rax, rdi
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.140093550
mov rcx, rbx
mov byte [rdi + r14 - 1], r12b
call fcn.14009b5a0
jmp 0x1400170c5
mov byte [0x14015aec0], r12b
jmp 0x1400170be
mov rdx, rbx
test dil, 0xf
je 0x1400170b2
test dil, 7
lea rax, str.Joliet
lea r8, str.Rock_Ridge
cmovne r8, rax
lea rcx, str._sThis_image_will_be_extracted_using__s_extensions__if_present_
call fcn.140041aa0
jmp 0x1400170be
lea rcx, str._sThis_image_will_not_be_extracted_using_any_ISO_extensions
call fcn.140041aa0
lea r14, [0x14015aec0]
lea rdx, [0x1400d756a]
mov rcx, rsi
call fcn.1400156b0
mov dword [rsp + 0x50], eax
cmp dword [0x1401431a4], r12d
mov qword [0x1401072c8], 0xffffffffffffffff
je 0x140017b2d
mov r8d, 3
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.14005b5c0
test al, al
je 0x14001717c
mov rcx, r13
call fcn.140003550
lea rdx, [rbp - 0x80]
mov rcx, rax
mov rbx, rax
call fcn.1400a5624
mov edi, eax
test rbx, rbx
je 0x14001712c
mov rcx, rbx
call fcn.14009b5a0
test edi, edi
jne 0x14001717c
mov rdx, qword [rbp + 0x10]
mov rax, rdx
shr rax, 0x18
movzx r8d, al
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov rax, rdx
shr rax, 8
shl r8d, 8
or r8d, ecx
movzx ecx, al
shl r8d, 8
or r8d, ecx
movzx eax, dl
shl r8d, 8
or eax, r8d
cdqe
shl rax, 0xb
sub rax, qword [rbp - 0x68]
mov qword [0x14015b400], rax
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], r12b
jne 0x140017183
dec eax
movsxd rbx, eax
test eax, eax
jle 0x1400171af
movzx ecx, byte [rbx + r14]
call fcn.1400a1d30
test eax, eax
je 0x1400171af
mov byte [rbx + r14], r12b
dec rbx
test rbx, rbx
jg 0x140017195
mov rax, qword [0x140143310]
lea r15, [0x140000000]
mov ecx, dword [0x140143328]
lea r14, [0x140159fc0]
shl rax, 0xb
mov qword [0x14015b3f8], rax
test ecx, ecx
je 0x140017769
movdqa xmm0, xmmword [0x1400f8a30]
lea r14, [0x14015b040]
mov rsi, qword [0x140143320]
movq rax, xmm0
mov qword [0x14015b0b0], rax
mov rdi, r12
mov dword [0x14015b0b8], eax
mov word [0x14015b0bc], ax
mov byte [0x14015b0be], al
movups xmmword [0x14015b040], xmm0
mov byte [0x14015b0bf], r12b
movups xmmword [0x14015b050], xmm0
movups xmmword [0x14015b060], xmm0
movups xmmword [0x14015b070], xmm0
movups xmmword [0x14015b080], xmm0
movups xmmword [0x14015b090], xmm0
movups xmmword [0x14015b0a0], xmm0
nop dword [rax]
mov rcx, qword [rsi + rdi*8]
lea rdx, str._boot_i386_loader_isolinux.cfg
call fcn.1400a5b5c
test eax, eax
je 0x140017406
mov rcx, qword [0x140143320]
lea rdx, str._boot_x86_64_loader_isolinux.cfg
mov rcx, qword [rcx + rdi*8]
call fcn.1400a5b5c
test eax, eax
je 0x140017406
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [r14 + rax], r12b
jne 0x140017290
mov rsi, qword [0x140143320]
mov rdx, qword [rsi + rdi*8]
test rdx, rdx
jne 0x1400172ae
mov rax, r12
jmp 0x1400172d9
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], r12b
jne 0x1400172b5
cmp rax, rcx
jb 0x140017302
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], r12b
jne 0x1400172d0
inc rax
mov ebx, 0x80
cmp rax, rbx
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call fcn.140093550
lea rax, [0x14015aec0]
mov byte [rbx + rax + 0x17f], r12b
mov eax, dword [0x140143328]
inc rdi
cmp rdi, rax
jb 0x140017250
lea rdi, [0x14015aec0]
mov rdx, r14
lea rcx, str.__Will_use__s_for_Syslinux
call fcn.140041aa0
cmp dword [0x1401432c0], r12d
lea rbx, [0x14015b444]
mov r13, r12
jbe 0x140017671
mov rsi, r12
mov r15, r12
nop word [rax + rax]
lea rax, [0x140159fc0]
mov edx, 0x104
lea r9, str._sisolinux.tmp
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x990]
call fcn.1400034e0
mov rdx, qword [0x1401432b8]
lea r8, [rbp + 0x990]
mov rcx, qword [rsp + 0x68]
mov r9d, 0x80
mov byte [rbp + 0xa93], 0
mov rdx, qword [rsi + rdx]
call fcn.140018370
mov rbx, rax
test rax, rax
je 0x1400175f7
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x990]
call fcn.140041c50
mov ecx, eax
cmp rcx, rbx
jne 0x1400175f7
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x7d8]
mov rdx, rbx
call fcn.14004a660
movzx r10d, word [0x14015b436]
movzx r12d, ax
test r10w, r10w
jne 0x14001749b
mov rdx, qword [rbp + 0x7d8]
test rdx, rdx
jne 0x140017460
xor eax, eax
jmp 0x140017470
mov rax, qword [0x140143320]
mov rdx, qword [rax + rdi*8]
test rdx, rdx
jne 0x14001741b
mov rax, r12
jmp 0x14001742b
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x140017422
inc rax
mov ebx, 0x80
cmp rax, rbx
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call fcn.140093550
lea rdi, [0x14015aec0]
mov byte [rbx + rdi + 0x17f], r12b
mov byte [0x14015b428], 1
jmp 0x14001731b
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x140017467
inc rax
lea rcx, [0x14015b444]
mov ebx, 0x20
cmp rax, rbx
cmovb rbx, rax
mov r8, rbx
call fcn.140093550
mov byte [rbx + rdi + 0x583], 0
jmp 0x1400175db
mov rdi, qword [rbp + 0x7d8]
lea rbx, str._NULL_
cmp r10w, r12w
jne 0x1400174de
test rdi, rdi
lea rax, [0x14015b444]
mov r8, rdi
cmove r8, rbx
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400174d6
inc rax
test ecx, ecx
jne 0x1400174c3
test edx, edx
je 0x1400175eb
mov rdx, qword [0x1401432b8]
mov ecx, r12d
movzx r9d, byte [0x14015b436]
mov r8d, r10d
mov qword [rsp + 0x40], rdi
shr ecx, 8
movzx eax, r12b
mov dword [rsp + 0x38], eax
mov rax, qword [rsi + rdx]
mov rdx, qword [r15 + rdx]
mov dword [rsp + 0x30], ecx
lea rcx, str.__Found_conflicting_isolinux_versions:_r_n___s___d._02d_s__vs__s___d._02d_s_
mov qword [rsp + 0x28], rax
lea rax, [0x14015b444]
shr r8d, 8
mov qword [rsp + 0x20], rax
call fcn.140041aa0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x140017540
test r8, r8
je 0x140017571
lea rax, [0x14015aec0]
nop word [rax + rax]
cmp byte [r8 + rax + 0x180], 0x2f
je 0x140017571
sub r8, 1
jne 0x140017560
mov rax, qword [0x1401432b8]
mov rdx, rbx
mov rcx, qword [rsi + rax]
test rcx, rcx
cmovne rdx, rcx
mov rcx, r14
call fcn.1400a1ed4
test eax, eax
jne 0x1400175eb
test rdi, rdi
jne 0x14001759b
xor eax, eax
jmp 0x1400175ab
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x1400175a2
inc rax
lea rcx, [0x14015b444]
mov ebx, 0x20
mov rdx, rdi
cmp rax, rbx
cmovb rbx, rax
mov r8, rbx
call fcn.140093550
lea rax, [0x14015aec0]
mov byte [rbx + rax + 0x583], 0
mov r15, rsi
mov qword [rsp + 0x70], r13
mov word [0x14015b436], r12w
mov rcx, qword [rsp + 0x60]
call fcn.14009b5a0
jmp 0x14001760e
mov rdx, qword [0x1401432b8]
lea rcx, str.__Could_not_access__s
mov rdx, qword [rsi + rdx]
call fcn.140041aa0
lea rcx, [rbp + 0x990]
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 0x14001763b
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x1401432c0]
lea rdi, [0x14015aec0]
inc r13
add rsi, 8
cmp r13, rax
jb 0x140017350
xor r12d, r12d
lea r15, [0x140000000]
lea rbx, [0x14015b444]
movzx ecx, word [0x14015b436]
lea r9, str._d._02d
mov r8, 0xffffffffffffffff
test cx, cx
je 0x140017706
movzx eax, byte [0x14015b436]
lea edx, [r8 + 0xd]
shr ecx, 8
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [0x14015b438]
call fcn.1400034e0
mov r9, qword [0x1401432b8]
lea rdx, [0x14015b438]
mov rax, qword [rsp + 0x70]
lea rcx, str.__Detected_Syslinux_version:__s_s__from__s_
mov byte [0x14015b443], 0
mov r8, rbx
mov r9, qword [r9 + rax*8]
call fcn.140041aa0
movzx eax, word [0x14015b436]
shr ax, 8
cmp dword [0x14015aea0], 0
je 0x1400176f4
cmp al, 5
jb 0x1400176f8
jmp 0x14001775d
cmp al, 5
jb 0x14001775d
lea rcx, str.__Warning:_Conflict_between_Isolinux_version_and_the_presence_of_ldlinux.c32...
call fcn.140041aa0
jmp 0x14001775d
mov eax, dword [0x14015aea0]
neg eax
sbb rcx, rcx
and ecx, 2
movzx edx, word [rcx + r15 + 0x159fa8]
lea rcx, [0x14015b438]
movzx eax, dl
mov word [0x14015b436], dx
shr edx, 8
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
mov edx, 0xc
call fcn.1400034e0
lea rdx, [0x14015b438]
mov byte [0x14015b443], 0
lea rcx, str.__Warning:_Could_not_detect_Isolinux_version___Forcing_to__s__embedded_
call fcn.140041aa0
mov r13, qword [rsp + 0x68]
lea r14, [0x140159fc0]
cmp word [0x14015b414], 0
jne 0x140017791
cmp byte [0x14015b36c], 0
je 0x140017791
call fcn.140019110
test eax, eax
je 0x140017791
mov eax, 0x8000
mov word [0x14015b414], ax
movzx ecx, byte [0x14015b412]
movzx eax, cl
and al, 7
cmp al, 7
je 0x1400177d3
movzx eax, cl
and al, 0x23
cmp al, 0x23
je 0x1400177c2
movzx eax, word [0x14015b412]
mov edx, 0x1c0
and ax, dx
cmp ax, dx
jne 0x1400178ee
and cl, 0x23
mov rax, r12
cmp cl, 0x23
setne al
inc rax
jmp 0x1400177d6
mov rax, r12
mov rax, qword [rbp + rax*8 + 0x7c0]
lea r9, str.__s_txtsetup.sif
mov edx, 0x104
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x800]
call fcn.1400034e0
mov r9d, 0x80
mov byte [rbp + 0x903], 0
lea r8, str.._txtsetup.sif
mov rcx, r13
lea rdx, [rbp + 0x800]
call fcn.140018370
mov r8d, 1
lea rdx, str.._txtsetup.sif
lea rcx, str.OsLoadOptions
call fcn.140020e30
mov rbx, rax
test rax, rax
je 0x1400178b1
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x140017850
test rax, rax
je 0x140017889
mov rdi, rbx
movsx ecx, byte [rdi]
call fcn.1400a1948
mov byte [rdi], al
mov rcx, 0xffffffffffffffff
inc rdi
inc rcx
cmp byte [rbx + rcx], 0
jne 0x140017875
mov rax, rdi
sub rax, rbx
cmp rax, rcx
jb 0x140017861
mov rdx, rbx
lea rcx, str.__Checking_txtsetup.sif:_r_n__OsLoadOptions___s
call fcn.140041aa0
lea rdx, str._minint
mov rcx, rbx
call fcn.1400930e8
test rax, rax
setne byte [0x14015b42b]
lea rcx, str.._txtsetup.sif
call fcn.140003550
mov rcx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test rdi, rdi
je 0x1400178de
mov rcx, rdi
call fcn.14009b5a0
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbx
call fcn.14009b5a0
cmp byte [0x14015b417], 0
je 0x140017905
mov rcx, r13
call fcn.140018c60
mov dword [0x14015b408], eax
movzx eax, byte [0x14015b424]
test al, al
je 0x140017ad2
mov rax, qword [r15 + rax*8 + 0xd1840]
lea r9, str._s_normal.mod
inc rax
lea rcx, [rbp + 0x910]
mov edx, 0x80
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
call fcn.1400034e0
mov rcx, r14
mov byte [rbp + 0x98f], 0
mov byte [0x14015b464], 0
call fcn.140003550
lea rcx, [0x1400d97a4]
mov r14, rax
call fcn.140003550
mov edx, 2
mov ecx, 0x104
mov rsi, rax
call fcn.1400966e0
mov r9, rax
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test edi, edi
je 0x1400179e1
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x800]
mov qword [rsp + 0x30], r12
mov r9d, 0xffffffff
mov dword [rsp + 0x28], 0x104
mov r8, rbx
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test eax, eax
jne 0x1400179e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test rbx, rbx
je 0x1400179ee
mov rcx, rbx
call fcn.14009b5a0
test rsi, rsi
je 0x1400179fb
mov rcx, rsi
call fcn.14009b5a0
test r14, r14
je 0x140017a08
mov rcx, r14
call fcn.14009b5a0
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
je 0x140017ab6
mov r9d, 0x80
lea r8, [rbp + 0x800]
lea rdx, [rbp + 0x910]
mov rcx, r13
call fcn.140018370
mov rbx, rax
test rax, rax
je 0x140017a64
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x800]
call fcn.140041c50
mov ecx, eax
cmp rcx, rbx
jne 0x140017a64
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
call fcn.1400166e0
jmp 0x140017a77
lea rdx, [rbp + 0x910]
lea rcx, str.__Could_not_read_Grub_version_from__s
call fcn.140041aa0
mov rcx, qword [rsp + 0x60]
call fcn.14009b5a0
lea rcx, [rbp + 0x800]
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 0x140017aae
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [0x14015b464], 0
jne 0x140017ad2
lea rcx, str.__Could_not_detect_Grub_version
call fcn.140041aa0
mov byte [0x14015b424], 0
lea rcx, [0x140143320]
call fcn.14003ff20
mov rcx, qword [0x140143320]
call fcn.14009b5a0
lea rcx, [0x1401432b8]
mov qword [0x140143320], r12
call fcn.14003ff20
mov rcx, qword [0x1401432b8]
call fcn.14009b5a0
mov rcx, qword [0x14015a568]
xor r9d, r9d
xor r8d, r8d
mov qword [0x1401432b8], r12
mov edx, 0x8003
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140018256
movzx eax, word [0x14015b414]
mov ecx, 0xc000
test cx, ax
je 0x140017bbb
bt ax, 0xe
jae 0x140017bb1
lea rcx, str.Broken_UEFI_bootloader_detected___Applying_workaround:
call fcn.140041aa0
lea r9, str._sEFI_boot_bootx64.efi
mov qword [rsp + 0x20], r15
mov edx, 0x104
lea rcx, [rbp + 0x800]
mov r8, 0xffffffffffffffff
call fcn.1400034e0
lea rcx, [rbp + 0x800]
mov byte [rbp + 0x903], r12b
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 0x140017ba9
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edx, edx
mov rcx, r15
call fcn.140019500
cmp word [0x14015b436], r12w
je 0x140017f93
lea r9, str._s_syslinux.cfg
mov qword [rsp + 0x20], r15
mov edx, 0x104
lea rcx, [rbp + 0x800]
mov r8, 0xffffffffffffffff
call fcn.1400034e0
lea rdx, [0x1400dbe70]
mov byte [rbp + 0x903], r12b
lea rcx, [rbp + 0x800]
call fcn.14009b898
mov rdi, rax
test rax, rax
je 0x140017c79
cmp byte [0x14015b428], r12b
je 0x140017d3a
mov rcx, rax
call fcn.14009b928
mov edx, 0x10
mov qword [rsp + 0x20], r15
lea r9, str._s_syslinux.org
lea rcx, [rbp + 0x7e8]
lea r8, [rdx - 0x11]
call fcn.1400034e0
lea r8, [rbp + 0x7e8]
mov byte [rbp + 0x7f7], r12b
lea rdx, [rbp + 0x800]
lea rcx, str.Renaming:__s___s
call fcn.140041aa0
lea rdx, [rbp + 0x7e8]
lea rcx, [rbp + 0x800]
call fcn.1400a59e0
lea rdx, [0x1400d10c4]
lea rcx, [rbp + 0x800]
call fcn.14009b898
mov rdi, rax
test rax, rax
jne 0x140017cb4
lea rdx, [rbp + 0x800]
lea rcx, str.Unable_to_create__s___booting_from_USB_will_not_work
call fcn.140041aa0
mov dword [rsp + 0x50], 1
jmp 0x140017d42
lea r14, [0x14015b040]
mov rcx, rdi
mov r8, r14
lea rdx, str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n
call fcn.140001010
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], r12b
jne 0x140017cd4
test rbx, rbx
je 0x140017d24
lea rsi, [0x14015aec0]
nop dword [rax]
cmp byte [rbx + rsi + 0x180], 0x2f
je 0x140017d02
sub rbx, 1
jne 0x140017cf0
jmp 0x140017d24
mov r8, r14
mov byte [rbx + rsi + 0x180], r12b
lea rdx, str.__APPEND__s__n
mov rcx, rdi
call fcn.140001010
mov byte [rbx + rsi + 0x180], 0x2f
mov r8, r14
lea rdx, [rbp + 0x800]
lea rcx, str.Created:__s___s
call fcn.140041aa0
mov rcx, rdi
call fcn.14009b928
cmp byte [0x1401431b0], r12b
je 0x140017fc4
lea r14, [0x1401431b0]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [r14 + rdi], r12b
jne 0x140017d60
lea rax, [rdi + 1]
mov ebx, 0x104
cmp rax, rbx
lea rcx, [rbp + 0x990]
mov rdx, r14
cmovb rbx, rax
mov r8, rbx
call fcn.140093550
mov byte [rbp + rbx + 0x98f], r12b
cmp rdi, 8
ja 0x140017db2
mov r8d, 0x56a
lea rdx, str.C:_src_r3dusb_srciso.c
lea rcx, str.len___8
call fcn.1400a15c4
mov rcx, r14
mov word [rbp + rdi + 0x988], 0x7369
mov byte [rbp + rdi + 0x98a], 0x6f
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rbx, r12
lea rsi, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + rsi + 0xd16c8]
lea r9, [0x1400dc9bc]
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x800]
lea rax, [rbp + 0x990]
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.1400034e0
lea rcx, [rbp + 0x800]
mov byte [rbp + 0x903], r12b
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x140017f83
mov rax, qword [rbx + rsi + 0xd16c8]
lea r9, [0x1400dc9bc]
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x800]
mov edx, 0x104
mov qword [rsp + 0x20], r14
mov r8, 0xffffffffffffffff
call fcn.1400034e0
lea rdx, [0x1400d10c4]
mov byte [rbp + 0x903], r12b
lea rcx, [rbp + 0x800]
call fcn.14009b898
mov rdi, rax
test rax, rax
jne 0x140017eb7
lea rdx, [rbp + 0x800]
lea rcx, str.Unable_to_create__s___booting_from_USB_may_not_work
call fcn.140041aa0
mov dword [rsp + 0x50], 1
jmp 0x140017f83
mov rax, qword [rbx + rsi + 0xd16c8]
lea r9, [0x1400dc9bc]
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x800]
lea rax, [rbp + 0x990]
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.1400034e0
lea r9, [rbp + 0x992]
mov byte [rbp + 0x903], r12b
lea r8, [rbp + 0x802]
mov rcx, rdi
lea rdx, str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n__APPEND__s_n
call fcn.140001010
mov rcx, rdi
call fcn.14009b928
movzx ecx, byte [0x1401431b0]
mov rax, r14
test cl, cl
je 0x140017f43
nop dword [rax]
cmp cl, 0x2f
jne 0x140017f38
mov byte [rax], 0x5c
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x140017f30
mov r8, qword [rbx + rsi + 0xd16c8]
lea r9, [rbp + 0x802]
mov rdx, r14
lea rcx, str.Created:__s_s___s
call fcn.140041aa0
movzx ecx, byte [0x1401431b0]
mov rax, r14
test cl, cl
je 0x140017f83
nop
cmp cl, 0x5c
jne 0x140017f78
mov byte [rax], 0x2f
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x140017f70
add rbx, 8
cmp rbx, 0x10
jb 0x140017df0
jmp 0x140017fc4
cmp byte [0x14015b41c], r12b
jne 0x140017fa5
cmp byte [0x14015b41d], r12b
je 0x140017fc4
cmp dword [0x140112900], r12d
je 0x140017fc4
xor r9d, r9d
lea rcx, str.compact__u_bootmgr_efi_boot_.efi
mov rdx, r15
lea r8d, [r9 + 1]
call fcn.1400404c0
lea r9, str._s_slax_bootEFI
mov qword [rsp + 0x20], r15
mov edx, 0x104
lea rcx, [rbp + 0x800]
mov r8, 0xffffffffffffffff
call fcn.1400034e0
lea rcx, [rbp + 0x800]
mov byte [rbp + 0x903], r12b
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x140018093
mov edx, 0x10
mov qword [rsp + 0x20], r15
lea r9, str._sEFI
lea rcx, [rbp + 0x7d8]
lea r8, [rdx - 0x11]
call fcn.1400034e0
lea rcx, [rbp + 0x7d8]
mov byte [rbp + 0x7e7], r12b
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x140018093
lea rdx, [rbp + 0x7d8]
lea rcx, [rbp + 0x800]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x140018071
lea r8, [rbp + 0x7d8]
lea rdx, [rbp + 0x800]
lea rcx, str.Moved:__s___s
call fcn.140041aa0
jmp 0x140018093
call fcn.140041e50
mov r9, rax
lea r8, [rbp + 0x7d8]
lea rdx, [rbp + 0x800]
lea rcx, str.Could_not_move__s___s
call fcn.140041aa0
mov rcx, qword [0x140143330]
test rcx, rcx
je 0x140018237
movaps xmmword [rsp + 0x12a0], xmm8
call fcn.1400a4a38
cmp dword [0x1401128e0], r12d
lea rdi, [0x1400e6704]
movsxd rcx, eax
xorps xmm8, xmm8
lea rax, [0x1400d756a]
cmove rdi, rax
test rcx, rcx
js 0x1400180dd
cvtsi2sd xmm8, rcx
jmp 0x1400180f3
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm8, rax
addsd xmm8, xmm8
mov rsi, qword [0x140111658]
mov eax, r12d
movsd xmm1, qword [0x1400f64b8]
movsd xmm0, qword [0x1400f6440]
nop dword [rax]
comisd xmm1, xmm8
ja 0x140018123
inc eax
mulsd xmm8, xmm0
cmp eax, 5
jl 0x140018110
test eax, eax
jne 0x140018167
mov rax, qword [rsi + 0xa0]
lea r9, str._s_d_s__s
mov qword [rsp + 0x38], rax
mov edx, 0x20
cvttsd2si ecx, xmm8
mov qword [rsp + 0x30], rdi
lea r8, [rdx - 0x21]
mov dword [rsp + 0x28], ecx
lea rcx, [0x140155350]
mov qword [rsp + 0x20], rdi
call fcn.1400034e0
jmp 0x1400181fc
movaps xmmword [rsp + 0x12c0], xmm6
movaps xmm0, xmm8
movaps xmmword [rsp + 0x12b0], xmm7
movaps xmm7, xmm8
mulsd xmm7, qword [0x1400f6498]
movsxd rbx, eax
call fcn.1400bf1f0
mulsd xmm0, qword [0x1400f6498]
lea rax, str._s_0.0f_s__s
mov edx, 0x20
lea r9, str._s_0.1f_s__s
lea rcx, [0x140155350]
subsd xmm7, xmm0
movsd xmm0, qword [0x1400f6468]
lea r8, [rdx - 0x21]
comisd xmm0, xmm7
cmova r9, rax
mov rax, qword [rsi + rbx*8 + 0xa0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
movsd qword [rsp + 0x28], xmm8
mov qword [rsp + 0x20], rdi
call fcn.1400034e0
movaps xmm7, xmmword [rsp + 0x12b0]
movaps xmm6, xmmword [rsp + 0x12c0]
mov r8, qword [0x1400d16a8]
lea r9, [0x140155350]
mov rdx, r15
mov byte [0x14015536f], r12b
lea rcx, str.Created:__s_s___s_
call fcn.140041aa0
mov rcx, qword [0x140143330]
call fcn.14009b928
movaps xmm8, xmmword [rsp + 0x12a0]
jmp 0x140018256
mov rcx, qword [0x1401432c8]
test rcx, rcx
je 0x140018256
call fcn.14009b5a0
mov qword [0x1401432c8], r12
mov dword [0x1401432b4], r12d
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x1310]
test rdi, rdi
je 0x1400182ae
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400182a2
cmp dword [rbx + 0x38], 0
je 0x140018291
lea rcx, str.closed_source...
call fcn.14005b2c0
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov dword [rbx + 0x38], r12d
mov qword [rbx + 0x40], r12
mov rcx, qword [rbx]
call qword [rbx + 0x30]
mov rcx, rbx
mov qword [rbx], r12
call fcn.14009b5a0
mov rcx, rdi
mov qword [rdi + 8], r12
call fcn.14009b5a0
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x1400182ff
cmp byte [rdi], 0
je 0x1400182f7
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1400182f7
cmp dword [rbx + 0x38], 0
je 0x1400182e6
lea rcx, str.closed_source...
call fcn.14005b2c0
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov dword [rbx + 0x38], r12d
mov qword [rbx + 0x40], r12
mov rcx, qword [rbx]
call qword [rbx + 0x30]
mov rcx, rbx
mov qword [rbx], r12
call fcn.14009b5a0
mov rcx, rdi
call fcn.14009b5a0
mov eax, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x1300]
test eax, eax
je 0x140018336
cmp dword [0x140111620], 0
jne 0x140018334
mov ecx, dword [0x1401431a4]
neg ecx
sbb edx, edx
add edx, 0x1208
or edx, 0xe0030000
mov dword [0x140111620], edx
test eax, eax
mov eax, 0
sete al
jmp 0x140018342
xor eax, eax
mov rcx, qword [rbp + 0x1190]
xor rcx, rsp
call fcn.140092060
mov rsi, qword [rsp + 0x1318]
add rsp, 0x12d0
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret