Function at 0x416e70
Capabilities:
Check if file exists
Create directory
Delete file
Move file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1218
call fcn.00492020
mov eax, dword [0x4f22ec]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x4fad9c]
mov ecx, edx
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x11f8], ecx
or bl, 0xff
mov dword [ebp - 0x11f0], eax
mov dword [ebp - 0x1214], 0
mov dword [ebp - 0x1200], 1
mov dword [ebp - 0x1208], edi
mov dword [ebp - 0x120c], edi
mov dword [ebp - 0x14], str.i386
mov dword [ebp - 0x10], str.amd64
mov dword [ebp - 0xc], str.minint
cmp dword [0x4f2f8c], edi
je 0x418630
test eax, eax
je 0x418630
test ecx, ecx
je 0x418630
mov eax, dword [ebp + 8]
mov edi, 0x4d34b4
test eax, eax
mov dword [0x52c124], eax
mov edx, 0x4ce59a
mov dword [0x4f4354], 0x413a90
cmove edi, edx
mov dword [0x52c118], ecx
je 0x416ff8
push str.ISO_analysis:
call fcn.004407e0
add esp, 4
push 0
push 8
push 0x8002
push dword [0x5430c4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 4
push 8
mov dword [0x52c148], 0
mov dword [0x52c14c], 0
mov dword [0x52c128], 0
mov dword [0x52c12c], 0
mov dword [0x5430d4], 0
mov dword [0x52c160], 8
mov dword [0x52c15c], 0
call fcn.0049570f
add esp, 8
mov dword [0x52c158], eax
test eax, eax
jne 0x416faa
push str.Could_not_allocate_string_array
call fcn.004407e0
add esp, 4
push 4
push 8
mov dword [0x52c114], 8
mov dword [0x52c110], 0
call fcn.0049570f
add esp, 8
mov dword [0x52c10c], eax
test eax, eax
jne 0x416fe0
push str.Could_not_allocate_string_array
call fcn.004407e0
add esp, 4
push 0xc82
push 0
push 0
push 1
call fcn.0041b3e0
add esp, 0x10
jmp 0x417138
push str.Extracting_files..._n
call fcn.004407e0
add esp, 4
cmp byte [0x542ea0], 0
jne 0x41702e
push 2
push 1
call fcn.0049570f
mov esi, eax
push esi
call fcn.004a14c4
add esp, 0xc
test esi, esi
je 0x417098
push esi
call fcn.004998ec
jmp 0x417095
push 0
push 0
push 0xffffffffffffffff
push 0x542ea0
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x11f4], eax
cmp eax, 1
jle 0x41708e
push 2
push eax
call fcn.0049570f
mov esi, eax
add esp, 8
test esi, esi
je 0x41708e
push dword [ebp - 0x11f4]
push esi
push 0xffffffffffffffff
push 0x542ea0
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
cmp eax, dword [ebp - 0x11f4]
je 0x4170c3
call fcn.004998ec
add esp, 4
push 0
call fcn.004a14c4
add esp, 4
mov eax, dword [0x52c148]
or eax, dword [0x52c14c]
jne 0x4170d3
push str.Error:_ISO_has_not_been_properly_scanned._n
call fcn.004407e0
add esp, 4
mov dword [0x4fa958], 0xe0031207
xor esi, esi
jmp 0x4174a2
call fcn.004a14c4
add esp, 4
push esi
call fcn.004998ec
jmp 0x417095
push 4
push 8
mov dword [0x52c150], 0
mov dword [0x52c154], 0
mov dword [0x4f3750], 0
mov dword [0x4f3754], 0
mov byte [0x52c008], 0
mov dword [0x52c004], 8
mov dword [0x52c000], 0
call fcn.0049570f
add esp, 8
mov dword [0x52bffc], eax
test eax, eax
jne 0x417138
push str.Could_not_allocate_string_array
call fcn.004407e0
add esp, 4
mov esi, dword [ebp - 0x11f0]
mov ecx, esi
call fcn.0045ccd0
mov dword [ebp - 0x120c], eax
test eax, eax
je 0x417187
push edi
push str._sImage_is_a_UDF_image
call fcn.004407e0
mov ecx, dword [ebp - 0x120c]
add esp, 4
call fcn.0045d000
add esp, 4
mov dword [ebp - 0x11fc], eax
test eax, eax
jne 0x417200
push edi
push str._sCould_not_locate_UDF_root_directory
call fcn.004407e0
add esp, 8
cmp dword [0x4f2e6c], 0
mov eax, dword [0x4f2f34]
je 0x4171b4
test eax, eax
je 0x4171ba
cmp dword [0x52c124], 0
jne 0x4171b4
cmp byte [0x543642], 0
jne 0x4171b4
cmp byte [0x543640], 1
jne 0x4171b6
mov bl, 0xf8
test eax, eax
jne 0x4171bd
and bl, 0xf7
sub esp, 8
mov dl, bl
mov ecx, esi
call fcn.004592c0
mov esi, eax
add esp, 8
mov dword [ebp - 0x1208], esi
test esi, esi
jne 0x417344
mov ebx, dword [ebp - 0x11f0]
push ebx
push edi
push str._s_s_doesnt_look_like_an_ISO_image
call fcn.004407e0
add esp, 0xc
mov dword [ebp - 0x1200], 1
jmp 0x4174a8
cmp dword [0x52c124], 0
je 0x417324
mov eax, dword [ebp - 0x120c]
lea edx, [ebp - 0x9b4]
mov byte [0x5430e0], 0
mov ecx, eax
push 1
push dword [eax + 0x224]
call fcn.0045cbe0
add esp, 8
test eax, eax
jne 0x4172fe
movsx esi, byte [ebp - 0x8e1]
mov dword [ebp - 0x11f4], eax
mov eax, dword [ebp - 0x960]
cmp al, 8
je 0x417286
cmp al, 0x10
je 0x417265
push 1
push 1
call fcn.0049570f
add esp, 8
mov edi, eax
jmp 0x4172be
push ecx
lea eax, [ebp - 0x11f4]
push eax
lea edx, [esi - 1]
lea ecx, [ebp - 0x95f]
call fcn.0046bad0
mov edi, dword [ebp - 0x11f4]
add esp, 8
jmp 0x4172be
push 1
push esi
call fcn.0049570f
mov edi, eax
add esp, 8
test edi, edi
je 0x4172fe
lea edx, [esi - 1]
test edx, edx
jle 0x4172be
mov ecx, edi
lea esi, [ebp - 0x95f]
sub esi, ecx
jmp 0x4172b0
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x4172b0
test edi, edi
je 0x4172fe
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4172c7
sub esi, ecx
mov eax, 0xc0
inc esi
cmp esi, eax
cmovb eax, esi
push eax
push edi
push 0x5430e0
call fcn.004a14d0
add esp, 0xc
mov byte [0x54319f], 0
push edi
call fcn.004998ec
add esp, 4
test esi, esi
jg 0x417305
mov byte [0x5430e0], 0
mov ecx, dword [ebp - 0x11f0]
sub esp, 8
xor dl, dl
call fcn.004592c0
mov dword [ebp - 0x1208], eax
add esp, 8
mov eax, dword [ebp - 0x11fc]
mov ecx, dword [ebp - 0x120c]
mov edx, eax
push 0x4ce59a
call fcn.00415230
mov esi, dword [ebp - 0x1208]
add esp, 4
jmp 0x41749c
push edi
push str._sImage_is_an_ISO9660_image
call fcn.004407e0
mov al, byte [esi + 0x10]
add esp, 8
cmp dword [0x52c124], 0
mov byte [0x52ba8d], al
je 0x41745c
push ecx
lea eax, [esi + 0x839]
mov ecx, esi
push eax
lea eax, [esi + 0x39]
push eax
lea edx, [ebp - 0x11fc]
call fcn.00459530
add esp, 0xc
test al, al
je 0x417453
mov esi, dword [ebp - 0x11fc]
test esi, esi
je 0x4173be
mov ecx, esi
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4173a0
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0xc0
jb 0x4173ba
mov ecx, 0xc0
jmp 0x4173d1
test esi, esi
jne 0x4173c2
xor ecx, ecx
jmp 0x4173d0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4173c7
sub ecx, edx
inc ecx
push ecx
push esi
push 0x5430e0
call fcn.00493080
add esp, 0xc
test esi, esi
je 0x417420
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4173f0
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0xc0
jb 0x41741c
mov eax, 0x54319f
push esi
mov byte [eax], 0
call fcn.004998ec
mov esi, dword [ebp - 0x1208]
add esp, 4
jmp 0x417490
test esi, esi
jne 0x417424
xor ecx, ecx
jmp 0x417439
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417430
sub ecx, edx
lea eax, [ecx + 0x5430e0]
mov byte [eax], 0
push esi
call fcn.004998ec
mov esi, dword [ebp - 0x1208]
add esp, 4
jmp 0x417490
mov byte [0x5430e0], 0
jmp 0x417490
test bl, 0xf
je 0x417482
test bl, 7
mov ecx, str.Rock_Ridge
mov eax, str.Joliet
cmove eax, ecx
push eax
push edi
push str._sThis_image_will_be_extracted_using__s_extensions__if_present_
call fcn.004407e0
add esp, 0xc
jmp 0x417490
push edi
push str._sThis_image_will_not_be_extracted_using_any_ISO_extensions
call fcn.004407e0
add esp, 8
mov edx, 0x4ce59a
mov ecx, esi
call fcn.00415c00
mov dword [ebp - 0x1200], eax
mov ebx, dword [ebp - 0x11f0]
cmp dword [0x52c124], 0
mov dword [0x4f3750], 0xffffffff
mov dword [0x4f3754], 0xffffffff
je 0x418084
push 0x800
push 1
push 0x10
lea edx, [ebp - 0x11ec]
mov ecx, esi
call fcn.00459ad0
add esp, 0xc
test eax, eax
je 0x417630
cmp byte [ebp - 0x11ec], 1
jne 0x417630
push 5
lea eax, [ebp - 0x11eb]
push str.CD001
push eax
call fcn.0049f5e0
add esp, 0xc
test eax, eax
je 0x41752c
lea eax, [ebp - 0x11eb]
push eax
push str.unexpected_ID_encountered__expected_CD001__got__.5s_
push 3
call fcn.004591e0
add esp, 0xc
jmp 0x417630
cmp byte [ebx], 0
jne 0x417554
push 2
push 1
call fcn.0049570f
mov esi, eax
lea eax, [ebp - 0x9ec]
push eax
push esi
call fcn.004a21d6
add esp, 0x10
mov edi, eax
test esi, esi
je 0x4175d1
jmp 0x4175c8
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
cmp edi, 1
jg 0x417584
lea eax, [ebp - 0x9ec]
push eax
push 0
call fcn.004a21d6
add esp, 8
mov edi, eax
jmp 0x4175d1
push 2
push edi
call fcn.0049570f
mov esi, eax
add esp, 8
test esi, esi
je 0x41756f
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x4175b6
push esi
call fcn.004998ec
add esp, 4
jmp 0x41756f
lea eax, [ebp - 0x9ec]
push eax
push esi
call fcn.004a21d6
add esp, 8
mov edi, eax
push esi
call fcn.004998ec
add esp, 4
test edi, edi
jne 0x417630
mov ebx, dword [ebp - 0x119c]
mov ecx, ebx
mov edx, dword [ebp - 0x1198]
mov eax, edx
shrd ecx, eax, 0x18
mov eax, edx
movzx esi, cl
mov ecx, ebx
shrd ecx, eax, 0x10
shl esi, 8
movzx eax, cl
mov ecx, ebx
or eax, esi
shrd ecx, edx, 8
shl eax, 8
movzx ecx, cl
or eax, ecx
movzx ecx, bl
shl eax, 8
or eax, ecx
mov ecx, 0x800
imul ecx
sub eax, dword [ebp - 0x9d4]
mov dword [0x543628], eax
sbb edx, dword [ebp - 0x9d0]
mov dword [0x54362c], edx
mov esi, 0x5430e0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x417638
sub esi, ecx
dec esi
test esi, esi
jle 0x417670
jmp 0x417650
movzx eax, byte [esi + 0x5430e0]
push eax
call fcn.0049f350
add esp, 4
test eax, eax
je 0x417670
mov byte [esi + 0x5430e0], 0
dec esi
test esi, esi
jg 0x417650
mov eax, dword [0x52c148]
mov ecx, dword [0x52c14c]
mov esi, dword [0x52c15c]
shld ecx, eax, 0xb
shl eax, 0xb
mov dword [0x543620], eax
mov dword [0x543624], ecx
test esi, esi
je 0x417cfa
push 0x7f
push 0x5f
push 0x543260
call fcn.00493600
add esp, 0xc
mov byte [0x5432df], 0
xor ebx, ebx
test esi, esi
je 0x417876
lea ecx, [ecx]
mov eax, dword [0x52c158]
push str._boot_i386_loader_isolinux.cfg
push dword [eax + ebx*4]
call fcn.004a2750
add esp, 8
test eax, eax
je 0x4177d1
mov eax, dword [0x52c158]
push str._boot_x86_64_loader_isolinux.cfg
push dword [eax + ebx*4]
call fcn.004a2750
add esp, 8
test eax, eax
je 0x4177d1
mov ecx, 0x543260
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417702
mov eax, dword [0x52c158]
sub ecx, edx
mov esi, dword [eax + ebx*4]
test esi, esi
jne 0x41771c
xor ecx, ecx
inc ecx
jmp 0x417761
mov edx, esi
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x417721
sub edx, edi
cmp ecx, edx
jb 0x4177bf
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417737
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x80
jae 0x41775c
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417750
sub ecx, edx
inc ecx
jmp 0x417761
mov ecx, 0x80
push ecx
push esi
push 0x543260
call fcn.00493080
mov eax, dword [0x52c158]
add esp, 0xc
mov ecx, dword [eax + ebx*4]
test ecx, ecx
jne 0x417784
lea eax, [ecx + 0x543260]
jmp 0x4177bc
mov edx, ecx
lea esi, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x417790
sub edx, esi
lea eax, [edx + 1]
cmp eax, 0x80
jae 0x4177b7
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4177a6
sub ecx, edx
lea eax, [ecx + 0x543260]
jmp 0x4177bc
mov eax, 0x5432df
mov byte [eax], 0
inc ebx
cmp ebx, dword [0x52c15c]
jb 0x4176c0
jmp 0x417876
mov eax, dword [0x52c158]
mov edx, dword [eax + ebx*4]
lea esi, [eax + ebx*4]
test edx, edx
jne 0x4177e5
xor ecx, ecx
inc ecx
jmp 0x417819
mov ecx, edx
lea edi, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4177f0
sub ecx, edi
lea eax, [ecx + 1]
cmp eax, 0x80
jae 0x417814
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417808
sub ecx, edi
inc ecx
jmp 0x417819
mov ecx, 0x80
push ecx
push edx
push 0x543260
call fcn.00493080
mov ecx, dword [esi]
add esp, 0xc
test ecx, ecx
jne 0x417836
lea eax, [ecx + 0x543260]
jmp 0x41786c
mov edx, ecx
lea esi, [edx + 1]
jmp 0x417840
mov al, byte [edx]
inc edx
test al, al
jne 0x417840
sub edx, esi
lea eax, [edx + 1]
cmp eax, 0x80
jae 0x417867
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417856
sub ecx, edx
lea eax, [ecx + 0x543260]
jmp 0x41786c
mov eax, 0x5432df
mov byte [eax], 0
mov byte [0x54364f], 1
push 0x543260
push str.__Will_use__s_for_Syslinux
call fcn.004407e0
add esp, 8
mov dword [ebp - 0x11f4], 0
cmp dword [0x52c110], 0
jbe 0x417c1f
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x1204], edi
lea esp, [esp]
push 0x542c40
push str._sisolinux.tmp
lea eax, [ebp - 0x2bc]
push 0x104
push eax
call fcn.00403820
mov edx, dword [0x52c10c]
lea eax, [ebp - 0x2bc]
mov ecx, dword [ebp - 0x11f0]
mov byte [ebp - 0x1b9], 0
push 0x80
mov edx, dword [edi + edx]
push eax
call fcn.00418650
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x417915
mov eax, dword [0x52c10c]
push dword [edi + eax]
push str.__Could_not_access__s
call fcn.004407e0
add esp, 8
jmp 0x417bf2
push 1
push esi
call fcn.0049570f
add esp, 8
mov dword [ebp - 0x1210], eax
test eax, eax
je 0x417c1f
lea eax, [ebp - 0x2bc]
push 0x4d36b0
push eax
call fcn.00499add
mov edi, eax
add esp, 8
test edi, edi
jne 0x417961
push dword [ebp - 0x1210]
call fcn.004998ec
mov edi, dword [ebp - 0x1204]
add esp, 4
jmp 0x417bfd
push edi
push esi
push 1
push dword [ebp - 0x1210]
call fcn.004a2a0d
push edi
call fcn.00499b6b
mov ecx, dword [ebp - 0x1210]
lea eax, [ebp - 0x11fc]
add esp, 0x14
mov edx, esi
push eax
call fcn.00448da0
mov esi, dword [ebp - 0x11fc]
add esp, 4
movzx ecx, ax
mov ax, word [0x54365c]
mov dword [ebp - 0x11f8], ecx
test ax, ax
jne 0x417a5c
test esi, esi
je 0x4179d3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4179b7
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x4179cf
mov ecx, 0x20
jmp 0x4179ea
test esi, esi
jne 0x4179d7
xor ecx, ecx
jmp 0x4179e9
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4179e0
sub ecx, edx
inc ecx
push ecx
push esi
push 0x54366a
call fcn.00493080
add esp, 0xc
test esi, esi
je 0x417a1e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417a02
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x417a1a
mov eax, 0x543689
jmp 0x417a34
test esi, esi
jne 0x417a22
xor esi, esi
jmp 0x417a2e
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x417a25
sub esi, ecx
lea eax, [esi + 0x54366a]
mov esi, dword [ebp - 0x11f4]
mov edi, dword [ebp - 0x1204]
mov ebx, edi
mov byte [eax], 0
mov eax, dword [ebp - 0x11f8]
mov word [0x54365c], ax
mov dword [ebp - 0x1214], esi
jmp 0x417be4
cmp ax, cx
jne 0x417aa3
test esi, esi
mov eax, str._NULL_
mov ecx, 0x54366a
cmovne eax, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x417a90
test dl, dl
je 0x417a8c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x417a90
add ecx, 2
add eax, 2
test dl, dl
jne 0x417a70
xor eax, eax
jmp 0x417a95
sbb eax, eax
or eax, 1
test eax, eax
je 0x417bde
mov ecx, dword [ebp - 0x11f8]
mov edi, dword [ebp - 0x1204]
push esi
movzx eax, cl
push eax
movzx eax, cx
mov ecx, dword [0x52c10c]
shr eax, 8
push eax
movzx eax, byte [0x54365c]
push dword [edi + ecx]
push 0x54366a
push eax
movzx eax, byte [0x54365d]
push eax
push dword [ebx + ecx]
push str.__Found_conflicting_isolinux_versions:_n___s___d._02d_s__vs__s___d._02d_s_
call fcn.004407e0
mov edx, 0x543260
add esp, 0x24
lea ecx, [edx + 1]
jmp 0x417af0
mov al, byte [edx]
inc edx
test al, al
jne 0x417af0
sub edx, ecx
je 0x417b0e
jmp 0x417b00
cmp byte [edx + 0x543260], 0x2f
je 0x417b0e
sub edx, 1
jne 0x417b00
mov eax, dword [0x52c10c]
mov ecx, str._NULL_
push edx
mov eax, dword [edi + eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x543260
call fcn.0049f4a7
add esp, 0xc
test eax, eax
jne 0x417be4
test esi, esi
je 0x417b5c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417b40
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x417b58
mov ecx, 0x20
jmp 0x417b6f
test esi, esi
jne 0x417b60
xor ecx, ecx
jmp 0x417b6e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417b65
sub ecx, edx
inc ecx
push ecx
push esi
push 0x54366a
call fcn.00493080
add esp, 0xc
test esi, esi
je 0x417ba3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417b87
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x417b9f
mov eax, 0x543689
jmp 0x417bbf
test esi, esi
jne 0x417ba7
xor esi, esi
jmp 0x417bb9
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x417bb0
sub esi, ecx
lea eax, [esi + 0x54366a]
mov byte [eax], 0
mov ebx, edi
mov eax, dword [ebp - 0x11f8]
mov word [0x54365c], ax
mov eax, dword [ebp - 0x11f4]
mov dword [ebp - 0x1214], eax
jmp 0x417be4
mov edi, dword [ebp - 0x1204]
push dword [ebp - 0x1210]
call fcn.004998ec
add esp, 4
lea ecx, [ebp - 0x2bc]
call fcn.00409dc0
mov eax, dword [ebp - 0x11f4]
add edi, 4
inc eax
mov dword [ebp - 0x1204], edi
mov dword [ebp - 0x11f4], eax
cmp eax, dword [0x52c110]
jb 0x4178b0
cmp word [0x54365c], 0
je 0x417ca9
movzx eax, byte [0x54365c]
push eax
movzx eax, byte [0x54365d]
push eax
push str._d._02d
push 0xc
push 0x54365e
call fcn.00403820
mov eax, dword [0x52c10c]
add esp, 0x14
mov ecx, dword [ebp - 0x1214]
mov byte [0x543669], 0
push dword [eax + ecx*4]
push 0x54366a
push 0x54365e
push str.__Detected_Syslinux_version:__s_s__from__s_
call fcn.004407e0
add esp, 0x10
cmp dword [0x5430d4], 0
je 0x417c91
cmp byte [0x54365d], 5
jb 0x417c9a
jmp 0x417cfa
cmp byte [0x54365d], 5
jb 0x417cfa
push str.__Warning:_Conflict_between_Isolinux_version_and_the_presence_of_ldlinux.c32...
call fcn.004407e0
add esp, 4
jmp 0x417cfa
mov eax, dword [0x5430d4]
neg eax
sbb eax, eax
and eax, 2
movzx ecx, word [eax + 0x542c28]
movzx eax, cl
push eax
mov eax, ecx
mov word [0x54365c], cx
shr eax, 8
push eax
push str._d._02d
push 0xc
push 0x54365e
call fcn.00403820
add esp, 0x14
mov byte [0x543669], 0
push 0x54365e
push str.__Warning:_Could_not_detect_Isolinux_version___Forcing_to__s__embedded_
call fcn.004407e0
add esp, 8
cmp word [0x54363c], 0
jne 0x417d21
cmp byte [0x54358c], 0
je 0x417d21
call fcn.00419090
test eax, eax
je 0x417d21
mov eax, 0x8000
mov word [0x54363c], ax
mov al, byte [0x54363a]
and al, 7
cmp al, 7
je 0x417d5f
mov cx, word [0x54363a]
mov ax, cx
and ax, 0x23
movzx edx, ax
cmp ax, 0x23
je 0x417d54
mov eax, 0x1c0
and cx, ax
cmp cx, ax
jne 0x417ea3
xor eax, eax
cmp edx, 0x23
setne al
inc eax
jmp 0x417d61
xor eax, eax
push dword [ebp + eax*4 - 0x14]
lea eax, [ebp - 0x134]
push str.__s_txtsetup.sif
push 0x104
push eax
call fcn.00403820
mov ecx, dword [ebp - 0x11f0]
lea edx, [ebp - 0x134]
push 0x80
push str.._txtsetup.sif
mov byte [ebp - 0x31], 0
call fcn.00418650
push 1
mov edx, str.._txtsetup.sif
mov ecx, str.OsLoadOptions
call fcn.00420240
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x417e15
mov ecx, edi
xor esi, esi
lea edx, [ecx + 1]
jmp 0x417dc0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417dc0
sub ecx, edx
je 0x417df3
jmp 0x417dd0
movsx eax, byte [esi + edi]
push eax
call fcn.0049eff5
mov ecx, edi
mov byte [esi + edi], al
add esp, 4
inc esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417de6
sub ecx, edx
cmp esi, ecx
jb 0x417dd0
push edi
push str.__Checking_txtsetup.sif:_n__OsLoadOptions___s
call fcn.004407e0
push str._minint
push edi
call fcn.00492960
add esp, 0x10
test eax, eax
setne byte [0x543652]
push 0
push 0
push 0xffffffffffffffff
push str.._txtsetup.sif
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
cmp ebx, 1
jg 0x417e46
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x417e93
push 2
push ebx
call fcn.0049570f
mov esi, eax
add esp, 8
test esi, esi
je 0x417e34
push ebx
push esi
push 0xffffffffffffffff
push str.._txtsetup.sif
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
cmp eax, ebx
je 0x417e7c
call fcn.004998ec
add esp, 4
jmp 0x417e34
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov ebx, eax
call fcn.004998ec
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
call fcn.004998ec
add esp, 4
cmp byte [0x54363f], 0
mov ebx, dword [ebp - 0x11f0]
je 0x417ebe
mov ecx, ebx
call fcn.00418c00
mov dword [0x543630], eax
mov al, byte [0x54364c]
test al, al
je 0x417fc0
movzx eax, al
mov eax, dword [eax*4 + 0x4c9fd8]
inc eax
push eax
push str._s_normal.mod
lea eax, [ebp - 0x1b4]
push 0x80
push eax
call fcn.00403820
add esp, 0x10
mov byte [ebp - 0x135], 0
lea eax, [ebp - 0x134]
mov byte [0x54368a], 0
push eax
push ecx
call fcn.00413620
add esp, 8
test eax, eax
je 0x417fa3
lea eax, [ebp - 0x134]
mov ecx, ebx
push 0x80
push eax
lea edx, [ebp - 0x1b4]
call fcn.00418650
mov edi, eax
push 1
push edi
call fcn.0049570f
mov esi, eax
lea eax, [ebp - 0x134]
push 0x4d36b0
push eax
call fcn.00499add
add esp, 0x18
mov ebx, eax
test edi, edi
je 0x417f7b
test esi, esi
je 0x417f7b
test ebx, ebx
je 0x417f7b
push ebx
push edi
push 1
push esi
call fcn.004a2a0d
push ebx
call fcn.00499b6b
add esp, 0x14
mov edx, edi
mov ecx, esi
call fcn.00416a90
jmp 0x417f8f
lea eax, [ebp - 0x1b4]
push eax
push str.__Could_not_read_Grub_version_from__s
call fcn.004407e0
add esp, 8
push esi
call fcn.004998ec
add esp, 4
lea ecx, [ebp - 0x134]
call fcn.00409dc0
cmp byte [0x54368a], 0
jne 0x417fc0
push str.__Could_not_detect_Grub_version
call fcn.004407e0
add esp, 4
mov byte [0x54364c], 0
mov eax, dword [0x52c158]
test eax, eax
je 0x418002
xor esi, esi
cmp dword [0x52c15c], esi
jbe 0x417ff8
push dword [eax + esi*4]
call fcn.004998ec
mov eax, dword [0x52c158]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
mov eax, dword [0x52c158]
cmp esi, dword [0x52c15c]
jb 0x417fd3
mov dword [0x52c15c], 0
push eax
call fcn.004998ec
mov eax, dword [0x52c10c]
add esp, 4
mov dword [0x52c158], 0
test eax, eax
je 0x418057
xor esi, esi
cmp dword [0x52c110], esi
jbe 0x41804d
push dword [eax + esi*4]
call fcn.004998ec
mov eax, dword [0x52c10c]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
mov eax, dword [0x52c10c]
cmp esi, dword [0x52c110]
jb 0x418028
mov dword [0x52c110], 0
push eax
call fcn.004998ec
add esp, 4
mov dword [0x52c10c], 0
push 0
push 0
push 0x8003
push dword [0x5430c4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x418517
mov esi, dword [ebp - 0x11f8]
mov eax, 0x8000
cmp word [0x54363c], ax
jne 0x4180a1
xor edx, edx
mov ecx, esi
call fcn.00419410
cmp word [0x54365c], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
je 0x4183fe
push esi
push str._s_syslinux.cfg
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.00403820
lea eax, [ebp - 0x134]
mov byte [ebp - 0x31], 0
push 0x4d27dc
push eax
call fcn.00499add
mov edi, eax
add esp, 0x18
test edi, edi
je 0x418140
cmp byte [0x54364f], 0
je 0x4181ed
push edi
call fcn.00499b6b
add esp, 4
lea eax, [ebp - 0x28]
push esi
push str._s_syslinux.org
push 0x10
push eax
call fcn.00403820
lea eax, [ebp - 0x28]
mov byte [ebp - 0x19], 0
push eax
lea eax, [ebp - 0x134]
push eax
push str.Renaming:__s___s
call fcn.004407e0
add esp, 0x1c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.004a2669
add esp, 8
lea eax, [ebp - 0x134]
push 0x4c9bcc
push eax
call fcn.00499add
mov edi, eax
add esp, 8
test edi, edi
jne 0x41817d
lea eax, [ebp - 0x134]
push eax
push str.Unable_to_create__s___booting_from_USB_will_not_work
call fcn.004407e0
add esp, 8
mov dword [ebp - 0x1200], 1
jmp 0x4181f6
push 0x543260
push str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n
push edi
call fcn.00401010
mov esi, 0x543260
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x418198
sub esi, ecx
je 0x4181d4
cmp byte [esi + 0x543260], 0x2f
je 0x4181b3
sub esi, 1
jne 0x4181a3
jmp 0x4181d4
push 0x543260
push str.__APPEND__s__n
push edi
mov byte [esi + 0x543260], 0
call fcn.00401010
add esp, 0xc
mov byte [esi + 0x543260], 0x2f
push 0x543260
lea eax, [ebp - 0x134]
push eax
push str.Created:__s___s
call fcn.004407e0
add esp, 0xc
push edi
call fcn.00499b6b
add esp, 4
cmp byte [0x52c008], 0
je 0x41842c
mov ebx, 0x52c008
lea ecx, [ebx + 1]
jmp 0x418210
mov al, byte [ebx]
inc ebx
test al, al
jne 0x418210
sub ebx, ecx
mov edi, 0x104
mov eax, edi
lea esi, [ebx + 1]
cmp esi, eax
cmovb eax, esi
push eax
lea eax, [ebp - 0x2bc]
push 0x52c008
push eax
call fcn.00493080
add esp, 0xc
cmp esi, edi
cmovb edi, esi
mov byte [ebp + edi - 0x2bd], 0
cmp ebx, 8
ja 0x418266
push 0x525
push 0x4d2fa0
push str.len___8
call fcn.0049ed6b
add esp, 0xc
push 0x52c008
mov word [ebp + ebx - 0x2c4], 0x7369
mov byte [ebp + ebx - 0x2c2], 0x6f
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0x52c008
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
xor esi, esi
jmp 0x4182a0
push dword [esi + 0x4c9f10]
lea eax, [ebp - 0x2bc]
push eax
push 0x4d32b8
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.00403820
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push eax
call ebx
test eax, eax
je 0x4183f0
push dword [esi + 0x4c9f10]
lea eax, [ebp - 0x134]
push 0x52c008
push 0x4d32b8
push 0x104
push eax
call fcn.00403820
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push 0x4c9bcc
push eax
call fcn.00499add
mov edi, eax
add esp, 8
test edi, edi
jne 0x418340
lea eax, [ebp - 0x134]
push eax
push str.Unable_to_create__s___booting_from_USB_may_not_work
call fcn.004407e0
add esp, 8
mov dword [ebp - 0x1200], 1
jmp 0x4183f0
push dword [esi + 0x4c9f10]
lea eax, [ebp - 0x2bc]
push eax
push 0x4d32b8
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.00403820
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x2ba]
push eax
lea eax, [ebp - 0x132]
push eax
push str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n__APPEND__s_n
push edi
call fcn.00401010
push edi
call fcn.00499b6b
mov cl, byte [0x52c008]
add esp, 0x14
mov eax, 0x52c008
test cl, cl
je 0x4183b0
jmp 0x4183a0
cmp cl, 0x2f
jne 0x4183a8
mov byte [eax], 0x5c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4183a0
lea eax, [ebp - 0x132]
push eax
push dword [esi + 0x4c9f10]
push 0x52c008
push str.Created:__s_s___s
call fcn.004407e0
mov cl, byte [0x52c008]
add esp, 0x10
mov eax, 0x52c008
test cl, cl
je 0x4183f0
mov edi, edi
cmp cl, 0x5c
jne 0x4183e8
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4183e0
add esi, 4
cmp esi, 8
jb 0x4182a0
jmp 0x41842c
cmp byte [0x543644], 0
jne 0x418410
cmp byte [0x543645], 0
je 0x41842c
cmp dword [0x4fadb8], 0
je 0x41842c
push 0
push 1
mov edx, esi
mov ecx, str.compact__u_bootmgr_efi_boot_.efi
call fcn.0043f6d0
add esp, 8
mov esi, dword [ebp - 0x11f8]
lea eax, [ebp - 0x134]
push esi
push str._s_slax_bootEFI
push 0x104
push eax
call fcn.00403820
add esp, 0x10
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push eax
call ebx
test eax, eax
je 0x4184cc
push esi
push str._sEFI
lea eax, [ebp - 0x18]
push 0x10
push eax
call fcn.00403820
add esp, 0x10
mov byte [ebp - 9], 0
lea eax, [ebp - 0x18]
push eax
call ebx
test eax, eax
jne 0x4184cc
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x4184ae
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
push str.Moved:__s___s
call fcn.004407e0
add esp, 0xc
jmp 0x4184cc
call fcn.00440bb0
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
push str.Could_not_move__s___s
call fcn.004407e0
add esp, 0x10
call fcn.00414bf0
mov eax, dword [0x4fadd0]
test eax, eax
je 0x418517
push eax
push str._Adding_files_from__s
call fcn.004407e0
push 0
push 0x4150f0
push 0
push 0
push 0
push 0
push 0x40000
call fcn.0046c9f0
add esp, 0x24
push 1
push esi
push dword [0x4fadd0]
call fcn.0046cd40
add esp, 0xc
call fcn.0046c9a0
mov edi, dword [ebp - 0x1208]
test edi, edi
je 0x418583
mov esi, dword [edi + 4]
test esi, esi
je 0x418573
cmp dword [esi + 0x1c], 0
je 0x41855a
push str.closed_source...
call fcn.00459200
mov eax, dword [esi + 0x14]
add esp, 4
push dword [esi]
call eax
add esp, 4
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
push dword [esi]
mov eax, dword [esi + 0x18]
call eax
add esp, 4
mov dword [esi], 0
push esi
call fcn.004998ec
add esp, 4
push edi
mov dword [edi + 4], 0
call fcn.004998ec
add esp, 4
mov ebx, dword [ebp - 0x120c]
test ebx, ebx
je 0x4185ed
cmp byte [ebx], 0
je 0x4185e4
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x4185e4
cmp dword [esi + 0x1c], 0
je 0x4185cb
push str.closed_source...
call fcn.00459200
mov eax, dword [esi + 0x14]
add esp, 4
push dword [esi]
call eax
add esp, 4
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
push dword [esi]
mov eax, dword [esi + 0x18]
call eax
add esp, 4
mov dword [esi], 0
push esi
call fcn.004998ec
add esp, 4
push ebx
call fcn.004998ec
add esp, 4
mov ecx, dword [ebp - 0x1200]
test ecx, ecx
je 0x418618
cmp dword [0x4fa958], 0
jne 0x418618
mov eax, dword [0x52c124]
neg eax
sbb eax, eax
add eax, 0x1208
or eax, 0xe0030000
mov dword [0x4fa958], eax
xor eax, eax
test ecx, ecx
sete al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00491940
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00491940
mov esp, ebp
pop ebp
ret