Function at 0x41a1e0
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.004a99b0
mov eax, dword [0x5512ec]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x55a75c]
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 [0x552754], edi
je 0x41b940
test eax, eax
je 0x41b940
test ecx, ecx
je 0x41b940
mov eax, dword [ebp + 8]
mov edi, 0x52fe74
test eax, eax
mov dword [0x58badc], eax
mov edx, 0x52ad5a
mov dword [0x55335c], 0x416d00
cmove edi, edx
mov dword [0x58bad0], ecx
je 0x41a353
push str.ISO_analysis:
call fcn.0044b0b0
add esp, 4
push 0
push 8
push 0x8002
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_SendMessageW]
xorps xmm0, xmm0
mov dword [0x5a2af4], 0
push 4
push 8
movlpd qword [0x58bb00], xmm0
movlpd qword [0x58bae0], xmm0
mov dword [0x58bb18], 8
mov dword [0x58bb14], 0
call fcn.004b6706
add esp, 8
mov dword [0x58bb10], eax
test eax, eax
jne 0x41a305
push str.Could_not_allocate_string_array
call fcn.0044b0b0
add esp, 4
push 4
push 8
mov dword [0x58bacc], 8
mov dword [0x58bac8], 0
call fcn.004b6706
add esp, 8
mov dword [0x58bac4], eax
test eax, eax
jne 0x41a33b
push str.Could_not_allocate_string_array
call fcn.0044b0b0
add esp, 4
push 0xc82
push 0
push 0
push 1
call fcn.0041ed70
add esp, 0x10
jmp 0x41a47e
push str.Extracting_files..._n
call fcn.0044b0b0
add esp, 4
cmp byte [0x5a28c0], 0
jne 0x41a389
push 2
push 1
call fcn.004b6706
mov esi, eax
push esi
call fcn.004e4dcd
add esp, 0xc
test esi, esi
je 0x41a3f3
push esi
call fcn.004d1211
jmp 0x41a3f0
push 0
push 0
push 0xffffffffffffffff
push 0x5a28c0
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x11f4], eax
cmp eax, 1
jle 0x41a3e9
push 2
push eax
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x41a3e9
push dword [ebp - 0x11f4]
push esi
push 0xffffffffffffffff
push 0x5a28c0
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
cmp eax, dword [ebp - 0x11f4]
je 0x41a41e
call fcn.004d1211
add esp, 4
push 0
call fcn.004e4dcd
add esp, 4
mov eax, dword [0x58bb00]
or eax, dword [0x58bb04]
jne 0x41a42e
push str.Error:_ISO_has_not_been_properly_scanned._n
call fcn.0044b0b0
add esp, 4
mov dword [0x55a318], 0xe0031207
xor esi, esi
jmp 0x41a7c8
call fcn.004e4dcd
add esp, 4
push esi
call fcn.004d1211
jmp 0x41a3f0
xorps xmm0, xmm0
mov byte [0x58b9c0], 0
push 4
push 8
movlpd qword [0x58bb08], xmm0
movlpd qword [0x552758], xmm0
mov dword [0x58b9bc], 8
mov dword [0x58b9b8], 0
call fcn.004b6706
add esp, 8
mov dword [0x58b9b4], eax
test eax, eax
jne 0x41a47e
push str.Could_not_allocate_string_array
call fcn.0044b0b0
add esp, 4
mov esi, dword [ebp - 0x11f0]
mov ecx, esi
call fcn.0046ca90
mov dword [ebp - 0x120c], eax
test eax, eax
je 0x41a4cd
push edi
push str._sImage_is_a_UDF_image
call fcn.0044b0b0
mov ecx, dword [ebp - 0x120c]
add esp, 4
call fcn.0046ce80
add esp, 4
mov dword [ebp - 0x11fc], eax
test eax, eax
jne 0x41a546
push edi
push str._sCould_not_locate_UDF_root_directory
call fcn.0044b0b0
add esp, 8
cmp dword [0x551f8c], 0
mov eax, dword [0x552750]
je 0x41a4fa
test eax, eax
je 0x41a500
cmp dword [0x58badc], 0
jne 0x41a4fa
cmp byte [0x5a3062], 0
jne 0x41a4fa
cmp byte [0x5a3060], 1
jne 0x41a4fc
mov bl, 0xf8
test eax, eax
jne 0x41a503
and bl, 0xf7
sub esp, 8
mov dl, bl
mov ecx, esi
call fcn.00468040
mov esi, eax
add esp, 8
mov dword [ebp - 0x1208], esi
test esi, esi
jne 0x41a684
mov ebx, dword [ebp - 0x11f0]
push ebx
push edi
push str._s_s_doesnt_look_like_an_ISO_image
call fcn.0044b0b0
add esp, 0xc
mov dword [ebp - 0x1200], 1
jmp 0x41a7ce
cmp dword [0x58badc], 0
je 0x41a664
mov eax, dword [ebp - 0x120c]
lea edx, [ebp - 0x9b4]
mov byte [0x5a2b00], 0
mov ecx, eax
push 1
push dword [eax + 0x224]
call fcn.0046c9a0
add esp, 8
test eax, eax
jne 0x41a63e
movsx esi, byte [ebp - 0x8e1]
mov dword [ebp - 0x11f4], eax
mov eax, dword [ebp - 0x960]
cmp al, 8
je 0x41a5cc
cmp al, 0x10
je 0x41a5ab
push 1
push 1
call fcn.004b6706
add esp, 8
mov edi, eax
jmp 0x41a5fe
push ecx
lea eax, [ebp - 0x11f4]
push eax
lea edx, [esi - 1]
lea ecx, [ebp - 0x95f]
call fcn.0047c9f0
mov edi, dword [ebp - 0x11f4]
add esp, 8
jmp 0x41a5fe
push 1
push esi
call fcn.004b6706
mov edi, eax
add esp, 8
test edi, edi
je 0x41a63e
lea edx, [esi - 1]
test edx, edx
jle 0x41a5fe
lea esi, [ebp - 0x95f]
mov ecx, edi
sub esi, edi
nop
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x41a5f0
test edi, edi
je 0x41a63e
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41a607
sub esi, ecx
mov eax, 0xc0
inc esi
cmp esi, eax
cmovb eax, esi
push eax
push edi
push 0x5a2b00
call fcn.004e4de0
add esp, 0xc
mov byte [0x5a2bbf], 0
push edi
call fcn.004d1211
add esp, 4
test esi, esi
jg 0x41a645
mov byte [0x5a2b00], 0
mov ecx, dword [ebp - 0x11f0]
sub esp, 8
xor dl, dl
call fcn.00468040
mov dword [ebp - 0x1208], eax
add esp, 8
mov eax, dword [ebp - 0x11fc]
mov ecx, dword [ebp - 0x120c]
mov edx, eax
push 0x52ad5a
call fcn.00418580
mov esi, dword [ebp - 0x1208]
add esp, 4
jmp 0x41a7c2
push edi
push str._sImage_is_an_ISO9660_image
call fcn.0044b0b0
mov al, byte [esi + 0x10]
add esp, 8
cmp dword [0x58badc], 0
mov byte [0x58b32c], al
je 0x41a782
push ecx
lea eax, [esi + 0x839]
mov ecx, esi
push eax
lea eax, [esi + 0x39]
push eax
lea edx, [ebp - 0x11fc]
call fcn.00468380
add esp, 0xc
test al, al
je 0x41a779
mov esi, dword [ebp - 0x11fc]
test esi, esi
je 0x41a6fe
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a6e0
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0xc0
jb 0x41a6fa
mov ecx, 0xc0
jmp 0x41a711
test esi, esi
jne 0x41a702
xor ecx, ecx
jmp 0x41a710
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a707
sub ecx, edx
inc ecx
push ecx
push esi
push 0x5a2b00
call fcn.004aab70
add esp, 0xc
test esi, esi
je 0x41a74e
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a730
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0xc0
jb 0x41a74a
mov ecx, 0xc0
jmp 0x41a761
test esi, esi
jne 0x41a752
xor ecx, ecx
jmp 0x41a760
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a757
sub ecx, edx
inc ecx
push esi
mov byte [ecx + 0x5a2aff], 0
call fcn.004d1211
mov esi, dword [ebp - 0x1208]
add esp, 4
jmp 0x41a7b6
mov byte [0x5a2b00], 0
jmp 0x41a7b6
test bl, 0xf
je 0x41a7a8
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.0044b0b0
add esp, 0xc
jmp 0x41a7b6
push edi
push str._sThis_image_will_not_be_extracted_using_any_ISO_extensions
call fcn.0044b0b0
add esp, 8
mov edx, 0x52ad5a
mov ecx, esi
call fcn.00418f40
mov dword [ebp - 0x1200], eax
mov ebx, dword [ebp - 0x11f0]
cmp dword [0x58badc], 0
mov dword [0x552758], 0xffffffff
mov dword [0x55275c], 0xffffffff
je 0x41b394
push 0x800
push 1
push 0x10
lea edx, [ebp - 0x11ec]
mov ecx, esi
call fcn.00468ba0
add esp, 0xc
test eax, eax
je 0x41a956
cmp byte [ebp - 0x11ec], 1
jne 0x41a956
push 5
lea eax, [ebp - 0x11eb]
push str.CD001
push eax
call fcn.004e1a20
add esp, 0xc
test eax, eax
je 0x41a852
lea eax, [ebp - 0x11eb]
push eax
push str.unexpected_ID_encountered__expected_CD001__got__.5s_
push 3
call fcn.00467d30
add esp, 0xc
jmp 0x41a956
cmp byte [ebx], 0
jne 0x41a87a
push 2
push 1
call fcn.004b6706
mov esi, eax
lea eax, [ebp - 0x9ec]
push eax
push esi
call fcn.004e71c7
add esp, 0x10
mov edi, eax
test esi, esi
je 0x41a8f7
jmp 0x41a8ee
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 0x41a8aa
lea eax, [ebp - 0x9ec]
push eax
push 0
call fcn.004e71c7
add esp, 8
mov edi, eax
jmp 0x41a8f7
push 2
push edi
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x41a895
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x41a8dc
push esi
call fcn.004d1211
add esp, 4
jmp 0x41a895
lea eax, [ebp - 0x9ec]
push eax
push esi
call fcn.004e71c7
add esp, 8
mov edi, eax
push esi
call fcn.004d1211
add esp, 4
test edi, edi
jne 0x41a956
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 [0x5a3048], eax
sbb edx, dword [ebp - 0x9d0]
mov dword [0x5a304c], edx
mov esi, 0x5a2b00
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x41a960
sub esi, ecx
dec esi
test esi, esi
jle 0x41a990
nop
movzx eax, byte [esi + 0x5a2b00]
push eax
call fcn.004e16f0
add esp, 4
test eax, eax
je 0x41a990
mov byte [esi + 0x5a2b00], 0
dec esi
test esi, esi
jg 0x41a970
mov eax, dword [0x58bb00]
mov ecx, dword [0x58bb04]
mov esi, dword [0x58bb14]
shld ecx, eax, 0xb
shl eax, 0xb
mov dword [0x5a3040], eax
mov dword [0x5a3044], ecx
test esi, esi
je 0x41b00c
push 0x7f
push 0x5f
push 0x5a2c80
call fcn.004ab0f0
add esp, 0xc
mov byte [0x5a2cff], 0
xor ebx, ebx
test esi, esi
je 0x41ab85
nop dword [eax]
mov eax, dword [0x58bb10]
push str._boot_i386_loader_isolinux.cfg
push dword [eax + ebx*4]
call fcn.004e7afe
add esp, 8
test eax, eax
je 0x41aaea
mov eax, dword [0x58bb10]
push str._boot_x86_64_loader_isolinux.cfg
push dword [eax + ebx*4]
call fcn.004e7afe
add esp, 8
test eax, eax
je 0x41aaea
mov ecx, 0x5a2c80
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aa22
mov eax, dword [0x58bb10]
sub ecx, edx
mov esi, dword [eax + ebx*4]
test esi, esi
jne 0x41aa3c
xor ecx, ecx
inc ecx
jmp 0x41aa81
mov edx, esi
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x41aa41
sub edx, edi
cmp ecx, edx
jb 0x41aad8
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aa57
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x80
jae 0x41aa7c
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aa70
sub ecx, edx
inc ecx
jmp 0x41aa81
mov ecx, 0x80
push ecx
push esi
push 0x5a2c80
call fcn.004aab70
mov eax, dword [0x58bb10]
add esp, 0xc
mov ecx, dword [eax + ebx*4]
test ecx, ecx
jne 0x41aa9f
inc ecx
jmp 0x41aad1
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x41aaa4
sub edx, esi
lea eax, [edx + 1]
cmp eax, 0x80
jae 0x41aacc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aac0
sub ecx, edx
inc ecx
jmp 0x41aad1
mov ecx, 0x80
mov byte [ecx + 0x5a2c7f], 0
inc ebx
cmp ebx, dword [0x58bb14]
jb 0x41a9e0
jmp 0x41ab85
mov eax, dword [0x58bb10]
mov edx, dword [eax + ebx*4]
lea esi, [eax + ebx*4]
test edx, edx
jne 0x41aafe
xor ecx, ecx
inc ecx
jmp 0x41ab31
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ab03
sub ecx, edi
lea eax, [ecx + 1]
cmp eax, 0x80
jae 0x41ab2c
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ab20
sub ecx, edi
inc ecx
jmp 0x41ab31
mov ecx, 0x80
push ecx
push edx
push 0x5a2c80
call fcn.004aab70
mov ecx, dword [esi]
add esp, 0xc
test ecx, ecx
jne 0x41ab49
inc ecx
jmp 0x41ab77
mov edx, ecx
lea esi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x41ab50
sub edx, esi
lea eax, [edx + 1]
cmp eax, 0x80
jae 0x41ab72
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ab66
sub ecx, edx
inc ecx
jmp 0x41ab77
mov ecx, 0x80
mov byte [ecx + 0x5a2c7f], 0
mov byte [0x5a306f], 1
push 0x5a2c80
push str.__Will_use__s_for_Syslinux
call fcn.0044b0b0
add esp, 8
mov dword [ebp - 0x11f4], 0
cmp dword [0x58bac8], 0
jbe 0x41af2e
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x1204], edi
nop dword [eax + eax]
push 0x5a2660
push str._sisolinux.tmp
lea eax, [ebp - 0x2bc]
push 0x104
push eax
call fcn.004050d0
mov edx, dword [0x58bac4]
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.0041b960
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x41ac25
mov eax, dword [0x58bac4]
push dword [edi + eax]
push str.__Could_not_access__s
call fcn.0044b0b0
add esp, 8
jmp 0x41af01
push 1
push esi
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x1210], eax
test eax, eax
je 0x41af2e
lea eax, [ebp - 0x2bc]
push 0x530070
push eax
call fcn.004d14af
mov edi, eax
add esp, 8
test edi, edi
jne 0x41ac71
push dword [ebp - 0x1210]
call fcn.004d1211
mov edi, dword [ebp - 0x1204]
add esp, 4
jmp 0x41af0c
push edi
push esi
push 1
push dword [ebp - 0x1210]
call fcn.004e7dcd
push edi
call fcn.004d1662
mov ecx, dword [ebp - 0x1210]
lea eax, [ebp - 0x11fc]
add esp, 0x14
mov edx, esi
push eax
call fcn.00454f30
mov esi, dword [ebp - 0x11fc]
add esp, 4
movzx ecx, ax
mov ax, word [0x5a307c]
mov dword [ebp - 0x11f8], ecx
test ax, ax
jne 0x41ad6b
test esi, esi
je 0x41ace3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41acc7
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x41acdf
mov ecx, 0x20
jmp 0x41acfa
test esi, esi
jne 0x41ace7
xor ecx, ecx
jmp 0x41acf9
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41acf0
sub ecx, edx
inc ecx
push ecx
push esi
push 0x5a308a
call fcn.004aab70
add esp, 0xc
test esi, esi
je 0x41ad2e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ad12
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x41ad2a
mov esi, 0x20
jmp 0x41ad3f
test esi, esi
jne 0x41ad32
xor esi, esi
jmp 0x41ad3e
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41ad35
sub esi, ecx
inc esi
mov eax, dword [ebp - 0x11f8]
mov edi, dword [ebp - 0x1204]
mov ebx, edi
mov byte [esi + 0x5a3089], 0
mov esi, dword [ebp - 0x11f4]
mov word [0x5a307c], ax
mov dword [ebp - 0x1214], esi
jmp 0x41aef3
cmp ax, cx
jne 0x41adb3
test esi, esi
mov eax, str._NULL_
mov ecx, 0x5a308a
cmovne eax, esi
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x41ada0
test dl, dl
je 0x41ad9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x41ada0
add ecx, 2
add eax, 2
test dl, dl
jne 0x41ad80
xor eax, eax
jmp 0x41ada5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41aeed
mov ecx, dword [ebp - 0x11f8]
mov edi, dword [ebp - 0x1204]
push esi
movzx eax, cl
push eax
movzx eax, cx
mov ecx, dword [0x58bac4]
shr eax, 8
push eax
movzx eax, byte [0x5a307c]
push dword [edi + ecx]
push 0x5a308a
push eax
movzx eax, byte [0x5a307d]
push eax
push dword [ebx + ecx]
push str.__Found_conflicting_isolinux_versions:_n___s___d._02d_s__vs__s___d._02d_s_
call fcn.0044b0b0
mov edx, 0x5a2c80
add esp, 0x24
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x41ae00
sub edx, ecx
je 0x41ae1e
nop dword [eax + eax]
cmp byte [edx + 0x5a2c80], 0x2f
je 0x41ae1e
sub edx, 1
jne 0x41ae10
mov eax, dword [0x58bac4]
mov ecx, str._NULL_
push edx
mov eax, dword [edi + eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x5a2c80
call fcn.004e18db
add esp, 0xc
test eax, eax
jne 0x41aef3
test esi, esi
je 0x41ae6c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ae50
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x41ae68
mov ecx, 0x20
jmp 0x41ae7f
test esi, esi
jne 0x41ae70
xor ecx, ecx
jmp 0x41ae7e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ae75
sub ecx, edx
inc ecx
push ecx
push esi
push 0x5a308a
call fcn.004aab70
add esp, 0xc
test esi, esi
je 0x41aeb3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ae97
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jb 0x41aeaf
mov esi, 0x20
jmp 0x41aeca
test esi, esi
jne 0x41aeb7
xor esi, esi
jmp 0x41aec9
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x41aec0
sub esi, ecx
inc esi
mov eax, dword [ebp - 0x11f8]
mov ebx, edi
mov byte [esi + 0x5a3089], 0
mov word [0x5a307c], ax
mov eax, dword [ebp - 0x11f4]
mov dword [ebp - 0x1214], eax
jmp 0x41aef3
mov edi, dword [ebp - 0x1204]
push dword [ebp - 0x1210]
call fcn.004d1211
add esp, 4
lea ecx, [ebp - 0x2bc]
call fcn.004165f0
mov eax, dword [ebp - 0x11f4]
add edi, 4
inc eax
mov dword [ebp - 0x1204], edi
mov dword [ebp - 0x11f4], eax
cmp eax, dword [0x58bac8]
jb 0x41abc0
cmp word [0x5a307c], 0
je 0x41afbb
movzx eax, byte [0x5a307c]
push eax
movzx eax, byte [0x5a307d]
push eax
push str._d._02d
push 0xc
push 0x5a307e
call fcn.004050d0
mov eax, dword [0x58bac4]
add esp, 0x14
mov ecx, dword [ebp - 0x1214]
mov byte [0x5a3089], 0
push dword [eax + ecx*4]
push 0x5a308a
push 0x5a307e
push str.__Detected_Syslinux_version:__s_s__from__s_
call fcn.0044b0b0
add esp, 0x10
cmp dword [0x5a2af4], 0
je 0x41afa3
cmp byte [0x5a307d], 5
jb 0x41afac
jmp 0x41b00c
cmp byte [0x5a307d], 5
jb 0x41b00c
push str.__Warning:_Conflict_between_Isolinux_version_and_the_presence_of_ldlinux.c32...
call fcn.0044b0b0
add esp, 4
jmp 0x41b00c
mov eax, dword [0x5a2af4]
neg eax
sbb eax, eax
and eax, 2
movzx ecx, word [eax + 0x5a2648]
movzx eax, cl
push eax
mov eax, ecx
mov word [0x5a307c], cx
shr eax, 8
push eax
push str._d._02d
push 0xc
push 0x5a307e
call fcn.004050d0
add esp, 0x14
mov byte [0x5a3089], 0
push 0x5a307e
push str.__Warning:_Could_not_detect_Isolinux_version___Forcing_to__s__embedded_
call fcn.0044b0b0
add esp, 8
cmp word [0x5a305c], 0
jne 0x41b033
cmp byte [0x5a2fac], 0
je 0x41b033
call fcn.0041c3f0
test eax, eax
je 0x41b033
mov eax, 0x8000
mov word [0x5a305c], ax
mov al, byte [0x5a305a]
and al, 7
cmp al, 7
je 0x41b071
mov cx, word [0x5a305a]
mov ax, cx
and ax, 0x23
movzx edx, ax
cmp ax, 0x23
je 0x41b066
mov eax, 0x1c0
and cx, ax
cmp cx, ax
jne 0x41b1b3
xor eax, eax
cmp edx, 0x23
setne al
inc eax
jmp 0x41b073
xor eax, eax
push dword [ebp + eax*4 - 0x14]
lea eax, [ebp - 0x134]
push str.__s_txtsetup.sif
push 0x104
push eax
call fcn.004050d0
mov ecx, dword [ebp - 0x11f0]
lea edx, [ebp - 0x134]
push 0x80
push str.._txtsetup.sif
mov byte [ebp - 0x31], 0
call fcn.0041b960
push 1
mov edx, str.._txtsetup.sif
mov ecx, str.OsLoadOptions
call fcn.004249f0
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x41b125
mov ecx, edi
xor esi, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b0d0
sub ecx, edx
je 0x41b103
nop dword [eax + eax]
movsx eax, byte [esi + edi]
push eax
call fcn.004e01b0
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 0x41b0f6
sub ecx, edx
cmp esi, ecx
jb 0x41b0e0
push edi
push str.__Checking_txtsetup.sif:_n__OsLoadOptions___s
call fcn.0044b0b0
push str._minint
push edi
call fcn.004aa450
add esp, 0x10
test eax, eax
setne byte [0x5a3072]
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 0x41b156
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x41b1a3
push 2
push ebx
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x41b144
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 0x41b18c
call fcn.004d1211
add esp, 4
jmp 0x41b144
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov ebx, eax
call fcn.004d1211
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
call fcn.004d1211
add esp, 4
cmp byte [0x5a305f], 0
mov ebx, dword [ebp - 0x11f0]
je 0x41b1ce
mov ecx, ebx
call fcn.0041bf60
mov dword [0x5a3050], eax
mov al, byte [0x5a306c]
test al, al
je 0x41b2d0
movzx eax, al
mov eax, dword [eax*4 + 0x52637c]
inc eax
push eax
push str._s_normal.mod
lea eax, [ebp - 0x1b4]
push 0x80
push eax
call fcn.004050d0
add esp, 0x10
mov byte [ebp - 0x135], 0
lea eax, [ebp - 0x134]
mov byte [0x5a30aa], 0
push eax
push ecx
call fcn.004166e0
add esp, 8
test eax, eax
je 0x41b2b3
lea eax, [ebp - 0x134]
mov ecx, ebx
push 0x80
push eax
lea edx, [ebp - 0x1b4]
call fcn.0041b960
mov edi, eax
push 1
push edi
call fcn.004b6706
mov esi, eax
lea eax, [ebp - 0x134]
push 0x530070
push eax
call fcn.004d14af
add esp, 0x18
mov ebx, eax
test edi, edi
je 0x41b28b
test esi, esi
je 0x41b28b
test ebx, ebx
je 0x41b28b
push ebx
push edi
push 1
push esi
call fcn.004e7dcd
push ebx
call fcn.004d1662
add esp, 0x14
mov edx, edi
mov ecx, esi
call fcn.00419e00
jmp 0x41b29f
lea eax, [ebp - 0x1b4]
push eax
push str.__Could_not_read_Grub_version_from__s
call fcn.0044b0b0
add esp, 8
push esi
call fcn.004d1211
add esp, 4
lea ecx, [ebp - 0x134]
call fcn.004165f0
cmp byte [0x5a30aa], 0
jne 0x41b2d0
push str.__Could_not_detect_Grub_version
call fcn.0044b0b0
add esp, 4
mov byte [0x5a306c], 0
mov eax, dword [0x58bb10]
test eax, eax
je 0x41b312
xor esi, esi
cmp dword [0x58bb14], esi
jbe 0x41b308
push dword [eax + esi*4]
call fcn.004d1211
mov eax, dword [0x58bb10]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
mov eax, dword [0x58bb10]
cmp esi, dword [0x58bb14]
jb 0x41b2e3
mov dword [0x58bb14], 0
push eax
call fcn.004d1211
mov eax, dword [0x58bac4]
add esp, 4
mov dword [0x58bb10], 0
test eax, eax
je 0x41b367
xor esi, esi
cmp dword [0x58bac8], esi
jbe 0x41b35d
push dword [eax + esi*4]
call fcn.004d1211
mov eax, dword [0x58bac4]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
mov eax, dword [0x58bac4]
cmp esi, dword [0x58bac8]
jb 0x41b338
mov dword [0x58bac8], 0
push eax
call fcn.004d1211
add esp, 4
mov dword [0x58bac4], 0
push 0
push 0
push 0x8003
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x41b827
mov esi, dword [ebp - 0x11f8]
mov eax, 0x8000
cmp word [0x5a305c], ax
jne 0x41b3b1
xor edx, edx
mov ecx, esi
call fcn.0041c770
cmp word [0x5a307c], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
je 0x41b70e
push esi
push str._s_syslinux.cfg
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.004050d0
lea eax, [ebp - 0x134]
mov byte [ebp - 0x31], 0
push 0x52f1f4
push eax
call fcn.004d14af
mov edi, eax
add esp, 0x18
test edi, edi
je 0x41b450
cmp byte [0x5a306f], 0
je 0x41b4fd
push edi
call fcn.004d1662
add esp, 4
lea eax, [ebp - 0x28]
push esi
push str._s_syslinux.org
push 0x10
push eax
call fcn.004050d0
lea eax, [ebp - 0x28]
mov byte [ebp - 0x19], 0
push eax
lea eax, [ebp - 0x134]
push eax
push str.Renaming:__s___s
call fcn.0044b0b0
add esp, 0x1c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.004e7a17
add esp, 8
lea eax, [ebp - 0x134]
push 0x525f6c
push eax
call fcn.004d14af
mov edi, eax
add esp, 8
test edi, edi
jne 0x41b48d
lea eax, [ebp - 0x134]
push eax
push str.Unable_to_create__s___booting_from_USB_will_not_work
call fcn.0044b0b0
add esp, 8
mov dword [ebp - 0x1200], 1
jmp 0x41b506
push 0x5a2c80
push str.DEFAULT_loadconfig_n_nLABEL_loadconfig_n__CONFIG__s_n
push edi
call fcn.00401040
mov esi, 0x5a2c80
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41b4a8
sub esi, ecx
je 0x41b4e4
cmp byte [esi + 0x5a2c80], 0x2f
je 0x41b4c3
sub esi, 1
jne 0x41b4b3
jmp 0x41b4e4
push 0x5a2c80
push str.__APPEND__s__n
push edi
mov byte [esi + 0x5a2c80], 0
call fcn.00401040
add esp, 0xc
mov byte [esi + 0x5a2c80], 0x2f
push 0x5a2c80
lea eax, [ebp - 0x134]
push eax
push str.Created:__s___s
call fcn.0044b0b0
add esp, 0xc
push edi
call fcn.004d1662
add esp, 4
cmp byte [0x58b9c0], 0
je 0x41b73c
mov ebx, 0x58b9c0
lea ecx, [ebx + 1]
nop dword [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x41b520
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 0x58b9c0
push eax
call fcn.004aab70
add esp, 0xc
cmp esi, edi
cmovb edi, esi
mov byte [ebp + edi - 0x2bd], 0
cmp ebx, 8
ja 0x41b576
push 0x526
push 0x52f98c
push str.len___8
call fcn.004dfbbc
add esp, 0xc
push 0x58b9c0
mov word [ebp + ebx - 0x2c4], 0x7369
mov byte [ebp + ebx - 0x2c2], 0x6f
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0x58b9c0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
xor esi, esi
nop dword [eax + eax]
push dword [esi + 0x5262b0]
lea eax, [ebp - 0x2bc]
push eax
push 0x52fc78
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.004050d0
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push eax
call ebx
test eax, eax
je 0x41b700
push dword [esi + 0x5262b0]
lea eax, [ebp - 0x134]
push 0x58b9c0
push 0x52fc78
push 0x104
push eax
call fcn.004050d0
add esp, 0x14
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push 0x525f6c
push eax
call fcn.004d14af
mov edi, eax
add esp, 8
test edi, edi
jne 0x41b650
lea eax, [ebp - 0x134]
push eax
push str.Unable_to_create__s___booting_from_USB_may_not_work
call fcn.0044b0b0
add esp, 8
mov dword [ebp - 0x1200], 1
jmp 0x41b700
push dword [esi + 0x5262b0]
lea eax, [ebp - 0x2bc]
push eax
push 0x52fc78
lea eax, [ebp - 0x134]
push 0x104
push eax
call fcn.004050d0
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.00401040
push edi
call fcn.004d1662
mov cl, byte [0x58b9c0]
add esp, 0x14
mov eax, 0x58b9c0
test cl, cl
je 0x41b6c0
nop dword [eax + eax]
cmp cl, 0x2f
jne 0x41b6b8
mov byte [eax], 0x5c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x41b6b0
lea eax, [ebp - 0x132]
push eax
push dword [esi + 0x5262b0]
push 0x58b9c0
push str.Created:__s_s___s
call fcn.0044b0b0
mov cl, byte [0x58b9c0]
add esp, 0x10
mov eax, 0x58b9c0
test cl, cl
je 0x41b700
nop
cmp cl, 0x5c
jne 0x41b6f8
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x41b6f0
add esi, 4
cmp esi, 8
jb 0x41b5b0
jmp 0x41b73c
cmp byte [0x5a3064], 0
jne 0x41b720
cmp byte [0x5a3065], 0
je 0x41b73c
cmp dword [0x55a778], 0
je 0x41b73c
push 0
push 1
mov edx, esi
mov ecx, str.compact__u_bootmgr_efi_boot_.efi
call fcn.004498f0
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.004050d0
add esp, 0x10
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x134]
push eax
call ebx
test eax, eax
je 0x41b7dc
push esi
push str._sEFI
lea eax, [ebp - 0x18]
push 0x10
push eax
call fcn.004050d0
add esp, 0x10
mov byte [ebp - 9], 0
lea eax, [ebp - 0x18]
push eax
call ebx
test eax, eax
jne 0x41b7dc
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x41b7be
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
push str.Moved:__s___s
call fcn.0044b0b0
add esp, 0xc
jmp 0x41b7dc
call fcn.0044b6b0
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x134]
push eax
push str.Could_not_move__s___s
call fcn.0044b0b0
add esp, 0x10
call fcn.00417e10
mov eax, dword [0x55a790]
test eax, eax
je 0x41b827
push eax
push str._Adding_files_from__s
call fcn.0044b0b0
push 0
push 0x418300
push 0
push 0
push 0
push 0
push 0x40000
call fcn.0047ea40
add esp, 0x24
push 1
push esi
push dword [0x55a790]
call fcn.0047efb0
add esp, 0xc
call fcn.0047e9f0
mov edi, dword [ebp - 0x1208]
test edi, edi
je 0x41b893
mov esi, dword [edi + 4]
test esi, esi
je 0x41b883
cmp dword [esi + 0x1c], 0
je 0x41b86a
push str.closed_source...
call fcn.00467d50
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.004d1211
add esp, 4
push edi
mov dword [edi + 4], 0
call fcn.004d1211
add esp, 4
mov ebx, dword [ebp - 0x120c]
test ebx, ebx
je 0x41b8fd
cmp byte [ebx], 0
je 0x41b8f4
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x41b8f4
cmp dword [esi + 0x1c], 0
je 0x41b8db
push str.closed_source...
call fcn.00467d50
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.004d1211
add esp, 4
push ebx
call fcn.004d1211
add esp, 4
mov ecx, dword [ebp - 0x1200]
test ecx, ecx
je 0x41b928
cmp dword [0x55a318], 0
jne 0x41b928
mov eax, dword [0x58badc]
neg eax
sbb eax, eax
add eax, 0x1208
or eax, 0xe0030000
mov dword [0x55a318], 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.004a8b60
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.004a8b60
mov esp, ebp
pop ebp
ret