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

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xabc
mov dword [ebp - 0xa6c], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xa64], 0x49c02f
mov eax, dword [0x48eba0]
mov dword [ebp - 0xa60], 0x49c034
mov dword [ebp - 0xa5c], 0x49c03a
test eax, eax
je 0x422326
cmp dword [ebp + 8], 0
je 0x422324
cmp dword [ebp + 0xc], 0
je 0x422324
mov dword [0x510a20], edx
test edx, edx
mov eax, 0x49c01a
mov ebx, 0x49b4e3
mov dword [esp], 0x41c8b6
cmovne ebx, eax
call fcn.00482094
mov eax, dword [ebp + 0xc]
cmp dword [0x510a20], 0
mov dword [0x510a50], eax
je 0x42109d
mov dword [esp], str.ISO_analysis:
xor esi, esi
xor edi, edi
call fcn.0043d9e0
xor ecx, ecx
mov dword [esp + 8], 8
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x8002
mov eax, dword [0x5241b4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x510a40], esi
sub esp, 0x10
mov dword [0x510a44], esi
mov dword [0x510a38], esi
mov dword [0x510a3c], esi
mov dword [0x510200], esi
mov dword [esp + 4], 8
mov dword [esp], 0x510a10
call fcn.0043c01b
mov dword [esp + 4], 8
mov dword [esp], 0x510a04
call fcn.0043c01b
mov dword [esp + 0xc], 0xc82
mov dword [esp + 8], edi
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.00422f82
jmp 0x42123c
mov dword [esp], str.Extracting_files...
call fcn.0043d9e0
mov eax, 0x523a00
call fcn.0041dab1
mov esi, eax
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wchdir]
test esi, esi
je 0x4210ca
mov dword [esp], esi
call sub.msvcrt.dll_free
cmp dword [0x510a44], 0
jne 0x421105
cmp dword [0x510a40], 0
jne 0x421105
mov dword [esp], str.Error:_ISO_has_not_been_properly_scanned.
call fcn.0043d9e0
xor edx, edx
mov dword [0x4dfd80], 0xe0031207
mov dword [ebp - 0xa84], edx
mov dword [ebp - 0xa7c], edx
jmp 0x421374
xor eax, eax
mov byte [0x510900], 0
mov dword [0x510a30], eax
mov dword [0x510a34], eax
mov dword [0x510a28], eax
mov dword [0x510a2c], eax
mov dword [0x48eba8], eax
mov dword [0x48ebac], eax
mov dword [esp + 4], 8
mov dword [esp], 0x4dff00
call fcn.0043c01b
cmp dword [0x50ff40], 0
je 0x42123c
xor eax, eax
cmp byte [0x510776], 1
mov dword [0x4dff10], eax
mov dword [0x4dff14], eax
mov eax, dword [0x48eb8c]
je 0x421216
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
lea esi, [ebp - 0xa20]
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x49c08d
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
call dword [sym.imp.msvcrt.dll__snprintf_s]
xor eax, eax
mov byte [ebp - 0x91d], 0
mov dword [ebp - 0x818], eax
mov eax, esi
call fcn.0041dab1
mov edi, eax
mov eax, 0x49c093
call fcn.0041dab1
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov esi, eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wfopen_s]
test edi, edi
je 0x4211e4
mov dword [esp], edi
call sub.msvcrt.dll_free
test esi, esi
je 0x4211f0
mov dword [esp], esi
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x818]
mov dword [0x510a1c], eax
test eax, eax
jne 0x42123c
mov eax, dword [0x48eb8c]
mov dword [esp], str.WARNING:_Could_not_create__s
mov dword [esp + 4], eax
call fcn.0043d9e0
jmp 0x42123c
mov dword [esp + 8], 0x5108ec
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041ffd7
mov dword [0x510a48], eax
mov eax, dword [0x5108ec]
mov dword [0x5108e8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00480fd6
mov dword [ebp - 0xa84], eax
test eax, eax
je 0x4212f5
mov dword [esp + 4], ebx
mov dword [esp], str._sImage_is_a_UDF_image
call fcn.0043d9e0
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa84]
mov dword [esp], eax
call fcn.004812ac
mov esi, eax
test eax, eax
jne 0x421299
mov dword [esp + 4], ebx
mov dword [esp], str._sCould_not_locate_UDF_root_directory
call fcn.0043d9e0
jmp 0x4212f5
xor eax, eax
cmp dword [0x510a20], 0
mov dword [ebp - 0xa7c], eax
je 0x4212e4
mov dword [esp + 8], 0xc0
mov dword [esp + 4], 0x510220
mov eax, dword [ebp - 0xa84]
mov dword [esp], eax
call fcn.0048120a
test eax, eax
jg 0x4212d3
mov byte [0x510220], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0047f02e
mov dword [ebp - 0xa7c], eax
mov edx, 0x49b4e3
mov eax, esi
call fcn.0041dd03
jmp 0x421460
cmp dword [0x48eb9c], 0
mov eax, dword [0x48eb98]
je 0x42132c
test eax, eax
je 0x421337
cmp dword [0x510a20], 0
mov esi, 0xfffffff8
jne 0x42133f
cmp byte [0x51077a], 0
jne 0x42133f
cmp byte [0x510778], 1
mov al, 0xff
cmovne esi, eax
jmp 0x42133f
mov esi, 0xfffffff8
test eax, eax
jne 0x42133f
jmp 0x42133c
mov esi, 0xffffffff
and esi, 0xfffffff7
mov eax, esi
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0047f017
mov dword [ebp - 0xa7c], eax
test eax, eax
jne 0x421383
mov eax, dword [ebp + 8]
mov dword [esp + 4], ebx
mov dword [esp], str._s_s_doesnt_look_like_an_ISO_image
mov dword [esp + 8], eax
call fcn.0043d9e0
mov dword [ebp - 0xa80], 1
jmp 0x421466
mov dword [esp + 4], ebx
mov dword [esp], str._sImage_is_an_ISO9660_image
call fcn.0043d9e0
mov eax, dword [ebp - 0xa7c]
mov dword [esp], eax
call fcn.0047e09a
cmp dword [0x510a20], 0
mov byte [0x510a4c], al
je 0x421412
lea eax, [ebp - 0xa70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa7c]
mov dword [esp], eax
call fcn.0047e11d
test al, al
je 0x421409
mov ebx, dword [ebp - 0xa70]
mov eax, 1
test ebx, ebx
je 0x4213e3
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
inc eax
mov dword [esp], eax
mov ecx, ebx
mov edx, 0xc0
mov eax, 0x510220
xor edi, edi
call fcn.0041c8c6
mov dword [esp], ebx
call sub.msvcrt.dll_free
mov dword [ebp - 0xa70], edi
jmp 0x421450
mov byte [0x510220], 0
jmp 0x421450
test esi, 0xf
je 0x421440
and esi, 7
mov edx, str.Joliet
mov eax, str.Rock_Ridge
mov dword [esp + 4], ebx
cmovne eax, edx
mov dword [esp], str._sThis_image_will_be_extracted_using__s_extensions__if_present_
mov dword [esp + 8], eax
call fcn.0043d9e0
jmp 0x421450
mov dword [esp + 4], ebx
mov dword [esp], str._sThis_image_will_not_be_extracted_using_any_ISO_extensions
call fcn.0043d9e0
mov eax, dword [ebp - 0xa7c]
mov edx, 0x49b4e3
call fcn.0041e54c
mov dword [ebp - 0xa80], eax
cmp dword [0x510a20], 0
mov dword [0x48eba8], 0xffffffff
mov dword [0x48ebac], 0xffffffff
je 0x421d49
lea eax, [ebp - 0x818]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa7c]
mov dword [esp], eax
call fcn.0047e3c5
test al, al
je 0x4214ff
mov eax, dword [ebp + 8]
call fcn.0041dab1
mov esi, eax
lea eax, [ebp - 0xa58]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__wstat64]
mov ebx, eax
test esi, esi
je 0x4214ce
mov dword [esp], esi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x4214ff
lea eax, [ebp - 0x818]
mov dword [esp], eax
call fcn.0047d2ca
cdq
shld edx, eax, 0xb
shl eax, 0xb
sub eax, dword [ebp - 0xa40]
sbb edx, dword [ebp - 0xa3c]
mov dword [0x510760], eax
mov dword [0x510764], edx
mov dword [esp], 0x510220
call sub.msvcrt.dll_strlen
mov ebx, dword [sym.imp.msvcrt.dll_isspace]
lea esi, [eax - 1]
test esi, esi
jle 0x421532
movzx eax, byte [esi + 0x510220]
mov dword [esp], eax
call ebx
test eax, eax
je 0x421532
mov byte [esi + 0x510220], 0
dec esi
jmp 0x421514
mov eax, dword [0x510a40]
mov edx, dword [0x510a44]
shld edx, eax, 0xb
shl eax, 0xb
cmp dword [0x510a14], 0
mov dword [0x510758], eax
mov dword [0x51075c], edx
je 0x4219a9
mov edx, 0x5103a0
mov ecx, 0x7f
mov al, 0x5f
xor ebx, ebx
mov edi, edx
mov byte [0x51041f], 0
rep stosb byte es:[edi], al
cmp ebx, dword [0x510a14]
jae 0x421643
mov dword [esp + 4], str._boot_i386_loader_isolinux.cfg
mov eax, dword [0x510a10]
lea edi, [ebx*4]
mov esi, dword [sym.imp.msvcrt.dll__stricmp]
mov eax, dword [eax + ebx*4]
mov dword [esp], eax
call esi
test eax, eax
jne 0x4215c3
mov eax, dword [0x510a10]
mov ebx, dword [eax + edi]
mov eax, 1
test ebx, ebx
je 0x4215de
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
inc eax
jmp 0x4215de
mov dword [esp + 4], str._boot_x86_64_loader_isolinux.cfg
mov eax, dword [0x510a10]
mov eax, dword [eax + ebx*4]
mov dword [esp], eax
call esi
test eax, eax
jne 0x4215fb
jmp 0x4215a7
mov dword [esp], eax
mov ecx, ebx
mov edx, pe_nt_image_headers32
mov eax, 0x5103a0
call fcn.0041c8c6
mov byte [0x510788], 1
jmp 0x421643
mov dword [esp], 0x5103a0
call sub.msvcrt.dll_strlen
mov esi, eax
mov eax, dword [0x510a10]
mov edi, dword [eax + edi]
test edi, edi
je 0x421624
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp esi, eax
jb 0x42163d
inc eax
jmp 0x421629
mov eax, 1
mov dword [esp], eax
mov ecx, edi
mov edx, pe_nt_image_headers32
mov eax, 0x5103a0
call fcn.0041c8c6
inc ebx
jmp 0x421575
mov dword [esp + 4], 0x5103a0
xor esi, esi
xor ebx, ebx
mov dword [esp], str.__Will_use__s_for_Syslinux
call fcn.0043d9e0
cmp ebx, dword [0x510a08]
jae 0x4218a5
lea ecx, [ebp - 0x91c]
mov dword [esp + 0x10], 0x523c40
lea edi, [ebx*4]
mov dword [esp], ecx
mov dword [esp + 0xc], str._sisolinux.tmp
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
call dword [sym.imp.msvcrt.dll__snprintf_s]
lea ecx, [ebp - 0x91c]
mov byte [ebp - 0x819], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], pe_nt_image_headers32
mov eax, dword [0x510a04]
mov eax, dword [eax + ebx*4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041fb70
lea ecx, [ebp - 0x91c]
test eax, eax
jne 0x4216f4
mov eax, dword [0x510a04]
mov eax, dword [eax + edi]
mov dword [esp], str.__Could_not_access__s
mov dword [esp + 4], eax
call fcn.0043d9e0
jmp 0x421894
mov dword [ebp - 0xa88], eax
lea eax, [ebp - 0xa6c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043dbc7
mov edx, dword [ebp - 0xa88]
cmp eax, edx
jne 0x4216d7
lea edx, [ebp - 0xa68]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0xa6c]
mov dword [esp], eax
call fcn.004455fd
mov dx, word [0x510796]
mov ecx, dword [ebp - 0xa68]
mov word [ebp - 0xa88], ax
test dx, dx
jne 0x421771
mov eax, 1
test ecx, ecx
je 0x421769
mov dword [esp], ecx
mov dword [ebp - 0xa8c], ecx
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp - 0xa8c]
inc eax
mov dword [esp], eax
jmp 0x421869
cmp dx, word [ebp - 0xa88]
jne 0x4217b4
test ecx, ecx
mov eax, 0x49b29c
mov dword [ebp - 0xa90], edx
cmovne eax, ecx
mov dword [ebp - 0xa8c], ecx
mov dword [esp], 0x5107a4
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcmp
mov ecx, dword [ebp - 0xa8c]
mov edx, dword [ebp - 0xa90]
test eax, eax
je 0x421886
mov eax, dword [0x510a04]
mov dword [esp + 0x20], ecx
movzx ecx, byte [ebp - 0xa88]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp - 0xa88]
movzx ecx, ch
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + edi]
mov dword [esp + 0x10], 0x5107a4
mov dword [esp + 0x14], ecx
movzx ecx, dl
movzx edx, dh
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov eax, dword [eax + esi*4]
mov dword [esp], str.__Found_conflicting_isolinux_versions:_r_n___s___d._02d_s__vs__s___d._02d_s_
mov dword [esp + 4], eax
call fcn.0043d9e0
mov dword [esp], 0x5103a0
call sub.msvcrt.dll_strlen
test eax, eax
je 0x421821
cmp byte [eax + 0x5103a0], 0x2f
je 0x421821
dec eax
jmp 0x421811
mov edx, dword [0x510a04]
mov edx, dword [edx + edi]
test edx, edx
jne 0x421833
mov edx, 0x49b29c
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5103a0
call dword [sym.imp.msvcrt.dll__strnicmp]
test eax, eax
jne 0x421886
mov esi, dword [ebp - 0xa68]
mov eax, 1
test esi, esi
je 0x421864
mov dword [esp], esi
call sub.msvcrt.dll_strlen
inc eax
mov dword [esp], eax
mov ecx, esi
mov eax, 0x5107a4
mov edx, 0x20
mov esi, ebx
call fcn.0041c8c6
mov eax, dword [ebp - 0xa88]
mov word [0x510796], ax
mov eax, dword [ebp - 0xa6c]
mov dword [esp], eax
call sub.msvcrt.dll_free
lea eax, [ebp - 0x91c]
inc ebx
call fcn.0041f427
jmp 0x42165b
mov ax, word [0x510796]
test ax, ax
je 0x421941
movzx edx, al
movzx eax, ah
mov dword [esp + 0xc], 0x49c281
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xc
mov dword [esp], 0x510798
call dword [sym.imp.msvcrt.dll__snprintf_s]
mov eax, dword [0x510a04]
mov byte [0x5107a3], 0
mov eax, dword [eax + esi*4]
mov dword [esp + 8], 0x5107a4
mov dword [esp + 4], 0x510798
mov dword [esp + 0xc], eax
mov dword [esp], str.__Detected_Syslinux_version:__s_s__from__s_
call fcn.0043d9e0
cmp dword [0x510200], 0
mov ax, word [0x510796]
je 0x42192d
cmp ax, 0x4ff
jbe 0x421933
jmp 0x4219a9
cmp ax, 0x4ff
jbe 0x4219a9
mov dword [esp], str.__Warning:_Conflict_between_Isolinux_version_and_the_presence_of_ldlinux.c32...
call fcn.0043d9e0
jmp 0x4219a9
xor eax, eax
cmp dword [0x510200], 0
setne al
mov ax, word [eax + eax + 0x524190]
mov word [0x510796], ax
movzx edx, al
movzx eax, ah
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x49c281
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xc
mov dword [esp], 0x510798
call dword [sym.imp.msvcrt.dll__snprintf_s]
mov byte [0x5107a3], 0
mov dword [esp + 4], 0x510798
mov dword [esp], str.__Warning:_Could_not_detect_Isolinux_version___Forcing_to__s__embedded_
call fcn.0043d9e0
cmp word [0x510774], 0
jne 0x4219ce
cmp byte [0x5106cc], 0
je 0x4219ce
call fcn.0042055f
test eax, eax
je 0x4219ce
mov word [0x510774], 0x8000
mov ax, word [0x510772]
mov edx, eax
not edx
and dl, 7
je 0x4219f9
mov edx, eax
not edx
test dl, 0x23
je 0x4219fd
mov eax, edx
test ax, 0x1c0
jne 0x421af8
mov eax, 2
jmp 0x421a02
xor eax, eax
jmp 0x421a02
mov eax, 1
mov eax, dword [ebp + eax*4 - 0xa64]
lea ebx, [ebp - 0xa20]
mov dword [esp + 0xc], str.__s_txtsetup.sif
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
call dword [sym.imp.msvcrt.dll__snprintf_s]
mov byte [ebp - 0x91d], 0
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], str.._txtsetup.sif
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041fb70
mov dword [esp + 8], 1
mov dword [esp + 4], str.._txtsetup.sif
mov dword [esp], str.OsLoadOptions
call fcn.00426ea9
mov esi, dword [sym.imp.msvcrt.dll_tolower]
mov dword [ebp - 0xa70], eax
test eax, eax
je 0x421ad8
mov edi, dword [ebp - 0xa70]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp ebx, eax
jae 0x421aa9
add edi, ebx
inc ebx
movsx eax, byte [edi]
mov dword [esp], eax
call esi
mov byte [edi], al
jmp 0x421a88
mov dword [esp + 4], edi
mov dword [esp], str.__Checking_txtsetup.sif:_r_n__OsLoadOptions___s
call fcn.0043d9e0
mov dword [esp + 4], str._minint
mov eax, dword [ebp - 0xa70]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
setne byte [0x51078b]
mov eax, str.._txtsetup.sif
call fcn.0041f427
mov eax, dword [ebp - 0xa70]
mov dword [esp], eax
call sub.msvcrt.dll_free
xor ecx, ecx
mov dword [ebp - 0xa70], ecx
cmp byte [0x510777], 0
je 0x421b11
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004202df
mov dword [0x510768], eax
movzx eax, byte [0x510784]
test al, al
je 0x421d09
mov eax, dword [eax*4 + 0x49c7b4]
mov dword [esp + 0xc], str._s_normal.mod
mov dword [esp + 8], 0xffffffff
inc eax
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x91c]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__snprintf_s]
mov eax, 0x523c40
mov byte [ebp - 0x89d], 0
mov byte [0x5107c4], 0
call fcn.0041dab1
mov edi, eax
mov eax, 0x49b715
call fcn.0041dab1
mov dword [ebp - 0xa88], eax
mov dword [esp + 4], 2
mov dword [esp], 0x104
call sub.msvcrt.dll_calloc
xor edx, edx
mov dword [esp + 8], edx
mov esi, eax
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xa88]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.DLL_GetTempFileNameW]
mov ebx, eax
mov eax, dword [sym.imp.KERNEL32.DLL_GetLastError]
sub esp, 0x10
mov dword [ebp - 0xa90], eax
call eax
mov dword [ebp - 0xa8c], eax
test ebx, ebx
je 0x421c1e
xor eax, eax
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
lea eax, [ebp - 0xa20]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
sub esp, 0x20
mov ebx, eax
test eax, eax
jne 0x421c1e
mov eax, dword [ebp - 0xa90]
call eax
mov dword [ebp - 0xa8c], eax
test esi, esi
je 0x421c2a
mov dword [esp], esi
call sub.msvcrt.dll_free
cmp dword [ebp - 0xa88], 0
je 0x421c41
mov eax, dword [ebp - 0xa88]
mov dword [esp], eax
call sub.msvcrt.dll_free
test edi, edi
je 0x421c4d
mov dword [esp], edi
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0xa8c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push eax
test ebx, ebx
je 0x421ced
lea esi, [ebp - 0xa20]
lea ebx, [ebp - 0x91c]
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041fb70
mov edi, eax
test eax, eax
jne 0x421ca4
mov dword [esp + 4], ebx
mov dword [esp], str.__Could_not_read_Grub_version_from__s
call fcn.0043d9e0
jmp 0x421ccc
lea eax, [ebp - 0xa6c]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0043dbc7
cmp eax, edi
jne 0x421c92
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa6c]
mov dword [esp], eax
call fcn.0041f987
mov eax, dword [ebp - 0xa6c]
mov dword [esp], eax
call sub.msvcrt.dll_free
xor eax, eax
mov dword [ebp - 0xa6c], eax
lea eax, [ebp - 0xa20]
call fcn.0041f427
cmp byte [0x5107c4], 0
jne 0x421d09
mov dword [esp], str.__Could_not_detect_Grub_version
call fcn.0043d9e0
mov byte [0x510784], 0
mov dword [esp], 0x510a10
call fcn.0043c17c
mov dword [esp], 0x510a04
call fcn.0043c17c
xor eax, eax
mov dword [esp + 4], 0x8003
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [0x5241b4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub esp, 0x10
jmp 0x4222d5
mov eax, dword [0x510774]
cmp ax, 0x3fff
jbe 0x421db2
test ah, 0x40
je 0x421da1
mov dword [esp], str.Broken_UEFI_bootloader_detected___Applying_workaround:
lea ebx, [ebp - 0xa20]
call fcn.0043d9e0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], str._sEFI_boot_bootx64.efi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__snprintf_s]
mov eax, ebx
mov byte [ebp - 0x91d], 0
call fcn.0041f427
xor edi, edi
mov dword [esp + 4], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00420821
cmp word [0x510796], 0
je 0x422153
mov eax, dword [ebp + 0xc]
lea ebx, [ebp - 0xa20]
mov dword [esp + 0xc], str._s_syslinux.cfg
mov dword [esp + 8], 0xffffffff
mov esi, dword [sym.imp.msvcrt.dll__snprintf_s]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call esi
mov byte [ebp - 0x91d], 0
mov dword [esp + 4], 0x49c46a
mov dword [esp], ebx
call sub.msvcrt.dll_fopen
mov edi, eax
test eax, eax
je 0x421e73
cmp byte [0x510788], 0
je 0x421f28
mov dword [esp], eax
lea edi, [ebp - 0x91c]
call sub.msvcrt.dll_fclose
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], str._s_syslinux.org
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x10
mov dword [esp], edi
call esi
mov byte [ebp - 0x90d], 0
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], str.Renaming:__s___s
call fcn.0043d9e0
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.msvcrt.dll_rename
lea ebx, [ebp - 0xa20]
mov dword [esp + 4], 0x49c490
mov dword [esp], ebx
call sub.msvcrt.dll_fopen
mov edi, eax
test eax, eax
jne 0x421eae
mov dword [esp + 4], ebx
mov dword [esp], str.Unable_to_create__s___booting_from_USB_will_not_work
call fcn.0043d9e0
mov dword [ebp - 0xa80], 1
jmp 0x421f30
mov dword [esp + 8], 0x5103a0
mov dword [esp + 4], str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 0x5103a0
call sub.msvcrt.dll_strlen
mov ebx, eax
test ebx, ebx
je 0x421f0a
cmp byte [ebx + 0x5103a0], 0x2f
je 0x421ee4
dec ebx
jmp 0x421ed4
mov byte [ebx + 0x5103a0], 0
mov dword [esp + 8], 0x5103a0
mov dword [esp + 4], str.__APPEND__s__n
mov dword [esp], edi
call sub.msvcrt.dll_fprintf
mov byte [ebx + 0x5103a0], 0x2f
lea eax, [ebp - 0xa20]
mov dword [esp + 8], 0x5103a0
mov dword [esp + 4], eax
mov dword [esp], str.Created:__s___s
call fcn.0043d9e0
mov dword [esp], edi
call sub.msvcrt.dll_fclose
cmp byte [0x510900], 0
je 0x422187
mov dword [esp], 0x510900
call sub.msvcrt.dll_strlen
mov ecx, 0x510900
mov edx, 0x104
mov ebx, eax
lea eax, [eax + 1]
mov dword [esp], eax
lea eax, [ebp - 0x818]
call fcn.0041c8c6
cmp ebx, 8
ja 0x421f88
mov dword [esp + 8], 0x56a
mov dword [esp + 4], str.iso.c
mov dword [esp], str.len___8
call dword [0x491228]
mov byte [ebp + ebx - 0x820], 0x69
xor edi, edi
mov byte [ebp + ebx - 0x81f], 0x73
mov byte [ebp + ebx - 0x81e], 0x6f
xor ebx, ebx
mov dword [esp], 0x510900
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
push ecx
mov dword [esp + 4], ebx
mov dword [esp], 0x510900
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
push esi
push esi
mov ecx, dword [sym.imp.msvcrt.dll__snprintf_s]
mov esi, dword [edi*4 + 0x49c708]
lea eax, [ebp - 0x818]
lea ebx, [ebp - 0xa20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], 0x49b99b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov dword [ebp - 0xa88], ecx
call ecx
mov byte [ebp - 0x91d], 0
mov dword [esp], ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push edx
test eax, eax
je 0x422145
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0x510900
mov dword [esp + 0xc], 0x49b99b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov ecx, dword [ebp - 0xa88]
call ecx
mov byte [ebp - 0x91d], 0
mov dword [esp + 4], 0x49c490
mov dword [esp], ebx
call sub.msvcrt.dll_fopen
mov ecx, dword [ebp - 0xa88]
test eax, eax
jne 0x422091
mov dword [esp + 4], ebx
mov dword [esp], str.Unable_to_create__s___booting_from_USB_may_not_work
call fcn.0043d9e0
mov dword [ebp - 0xa80], 1
jmp 0x422145
mov dword [ebp - 0xa88], eax
lea eax, [ebp - 0x818]
mov dword [esp], ebx
lea ebx, [ebp - 0xa1e]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x49b99b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x104
call ecx
lea eax, [ebp - 0x816]
mov byte [ebp - 0x91d], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n__APPEND__s_n
mov edx, dword [ebp - 0xa88]
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
mov edx, dword [ebp - 0xa88]
mov dword [esp], edx
call sub.msvcrt.dll_fclose
mov ecx, 0x5c
mov edx, 0x2f
mov eax, 0x510900
call fcn.0041d2f8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x510900
mov dword [esp], str.Created:__s_s___s
call fcn.0043d9e0
mov ecx, 0x2f
mov edx, 0x5c
mov eax, 0x510900
call fcn.0041d2f8
test edi, edi
jne 0x422187
mov edi, 1
jmp 0x421fc5
cmp word [0x51077c], 0
je 0x422187
cmp dword [0x524124], 0
je 0x422187
xor ecx, ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], str.compact__u_bootmgr_efi_boot_.efi
mov dword [esp + 4], eax
call fcn.0043c721
mov eax, dword [ebp + 0xc]
mov edx, dword [sym.imp.msvcrt.dll__snprintf_s]
lea ebx, [ebp - 0xa20]
mov dword [esp + 0xc], str._s_slax_bootEFI
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov dword [ebp - 0xa88], edx
call edx
mov byte [ebp - 0x91d], 0
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov dword [esp], ebx
call edi
test eax, eax
push edx
mov edx, dword [ebp - 0xa88]
je 0x42225f
mov eax, dword [ebp + 0xc]
lea esi, [ebp - 0x818]
mov dword [esp + 0xc], str._sEFI
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x10
mov dword [esp], esi
call edx
mov byte [ebp - 0x809], 0
mov dword [esp], esi
call edi
push edi
test eax, eax
jne 0x42225f
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.DLL_MoveFileA]
push ecx
push ecx
test eax, eax
je 0x422242
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], str.Moved:__s___s
call fcn.0043d9e0
jmp 0x42225f
call fcn.0043df77
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebx
mov dword [esp], str.Could_not_move__s___s
call fcn.0043d9e0
mov eax, dword [0x510a1c]
test eax, eax
je 0x4222b8
mov dword [esp], eax
call sub.msvcrt.dll_ftell
xor edx, edx
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.0043e475
mov dword [esp + 0xc], eax
mov eax, dword [0x48eb8c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], str.Created:__s_s___s_
mov dword [esp + 4], eax
call fcn.0043d9e0
mov eax, dword [0x510a1c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
jmp 0x4222d5
mov eax, dword [0x5108ec]
test eax, eax
je 0x4222d5
mov dword [esp], eax
call sub.msvcrt.dll_free
xor eax, eax
mov dword [0x5108ec], eax
mov dword [0x510a48], eax
mov eax, dword [ebp - 0xa7c]
mov dword [esp], eax
call fcn.0047e04a
mov eax, dword [ebp - 0xa84]
mov dword [esp], eax
call fcn.00481457
cmp dword [ebp - 0xa80], 0
je 0x422316
cmp dword [0x4dfd80], 0
jne 0x422316
mov eax, dword [0x510a20]
neg eax
sbb eax, eax
sub eax, 0x1ffcedf8
mov dword [0x4dfd80], eax
xor eax, eax
cmp dword [ebp - 0xa80], 0
sete al
jmp 0x422326
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret