Function at 0x402c50
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10e4
call fcn.00419ba0
mov eax, dword [0x458080]
xor eax, esp
mov dword [esp + 0x10e0], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
call fcn.0040d090
mov eax, dword [0x1a2f9d8]
mov dword [0x458130], eax
mov eax, dword [0x1a298a4]
mov dword [0x1a2f9d8], 0x458114
test eax, eax
je 0x402ca5
mov dword [eax + 4], 0x458330
mov eax, dword [0x1a298a4]
mov dword [0x458330], eax
mov eax, dword [0x1a28780]
mov dword [0x458344], 0x1a298a4
mov dword [0x458334], 0x458340
mov dword [0x458340], 0x458330
mov dword [0x1a298a4], 0x458340
test eax, eax
je 0x402ce7
mov dword [eax + 4], 0x458154
mov eax, dword [0x1a28780]
push 0x42a3cc
push 0
mov dword [0x458154], eax
mov dword [0x458158], 0x45817c
mov dword [0x45817c], 0x458154
mov dword [0x458180], 0x4581a4
mov dword [0x4581a4], 0x45817c
mov dword [0x4581a8], 0x4581cc
mov dword [0x4581cc], 0x4581a4
mov dword [0x458204], 0x1a28780
mov dword [0x4581d0], 0x458200
mov dword [0x458200], 0x4581cc
mov dword [0x1a28780], 0x458200
call fcn.0041f890
add esp, 8
xor edi, edi
test esi, esi
jle 0x402da9
nop word [eax + eax]
push 0x42a3d0
push dword [ebx + edi*4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x402da4
lea eax, [edi + 1]
cmp eax, esi
jge 0x402da4
push dword [ebx + edi*4 + 4]
call dword [sym.imp.msvcrt.dll__wtoi]
shl eax, 0xa
add esp, 4
mov dword [0x4580e8], eax
inc edi
jmp 0x402d70
inc edi
cmp edi, esi
jl 0x402d70
cmp esi, 2
jl 0x4039f3
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
push str.LIST
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x402ea4
mov dword [esp + 0x10], eax
mov byte [esp + 0x17], al
mov eax, 2
mov dword [esp + 0x18], eax
cmp esi, eax
jle 0x402e12
mov ecx, dword [ebx + eax*4]
cmp word [ecx], 0x2d
jne 0x402e05
push 0x42a3e4
push ecx
call edi
add esp, 8
test eax, eax
mov eax, dword [esp + 0x18]
jne 0x402e09
mov byte [esp + 0x17], 1
jmp 0x402e09
mov dword [esp + 0x10], ecx
inc eax
mov dword [esp + 0x18], eax
cmp eax, esi
jl 0x402de2
push str.Disk_tPart_tFS_tSize_t_tLabel_n
call fcn.00402250
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x18], eax
xor edi, edi
mov al, byte [esp + 0x17]
mov byte [esp + 0x1c], al
lea eax, [esp + 0x18]
mov dword [esp + 0x1078], 0x402370
mov dword [esp + 0x107c], eax
mov dword [esp + 0x1080], 0
mov dword [esp + 0x1084], 0
nop dword [eax]
mov esi, dword [0x1a2f9d8]
test esi, esi
je 0x402e99
nop word [eax + eax]
mov eax, dword [esi + 8]
test eax, eax
je 0x402e92
push edi
lea ecx, [esp + 0x107c]
push ecx
push 0x415bf0
call eax
add esp, 0xc
test eax, eax
jne 0x4039fa
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x402e70
inc edi
cmp edi, 3
jl 0x402e60
jmp 0x4039fa
push str.COPY
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x402efa
cmp esi, 6
jl 0x4039f3
push dword [ebx + 0x14]
mov edx, dword [ebx + 0xc]
push dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
call fcn.00402760
add esp, 8
test al, al
je 0x402ee8
push str.File_copy_successfully_n
call fcn.00402250
add esp, 4
jmp 0x4039fa
push str.Failed_to_copy_file_n
call fcn.00402250
add esp, 4
jmp 0x4039fa
push str.MKDIR
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x40302f
cmp esi, 5
jl 0x4039f3
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x402f76
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_create_directory_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, esi
call fcn.00409b00
test eax, eax
je 0x402faa
cmp eax, 8
je 0x402faa
push eax
push esi
push str.mkdir__s_failed__d_n
call fcn.00401010
add esp, 0xc
xor bl, bl
jmp 0x402fac
mov bl, 1
push ecx
xor ecx, ecx
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x402fc6
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x402ff0
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x40300f
cmp eax, 0xffffffff
je 0x40300f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x402f64
push str.Directory_created_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push str.MKFS
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x40308c
cmp esi, 5
jl 0x4039f3
jle 0x403050
mov eax, dword [ebx + 0x14]
jmp 0x403052
xor eax, eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push dword [ebx + 0x10]
call fcn.004029c0
add esp, 8
test al, al
je 0x40307a
push str.Volume_created_successfully_n
call fcn.00402250
add esp, 4
jmp 0x4039fa
push str.Failed_to_create_volume_n
call fcn.00402250
add esp, 4
jmp 0x4039fa
push str.LABEL
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x4031e5
cmp esi, 4
jl 0x4039f3
jle 0x4030b5
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x10], eax
jmp 0x4030bd
mov dword [esp + 0x10], 0x42a3bc
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x403114
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_set_label_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
add esp, 4
xor eax, eax
mov word [esp + 0x1088], ax
push 0x5e
push eax
lea eax, [esp + 0x1092]
push eax
call sub.msvcrt.dll_memset
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x1094]
add esp, 0xc
push esi
push str.0:_s
push 0x30
push eax
call fcn.00402210
mov ecx, esi
call fcn.0040a1e0
add esp, 0xc
xor ecx, ecx
mov edi, eax
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x40317c
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x4031a6
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4031c5
cmp eax, 0xffffffff
je 0x4031c5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test edi, edi
jne 0x403102
push str.Label_set_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push str.EXTRACT
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x4032fc
cmp esi, 5
jl 0x4039f3
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x403261
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_extract_file_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov ecx, dword [esp + 0x14]
add esp, 4
call fcn.00402030
push ecx
xor ecx, ecx
mov bl, al
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x403293
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x4032bd
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4032dc
cmp eax, 0xffffffff
je 0x4032dc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x40324f
push str.File_extract_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push str.DUMP
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x40341e
cmp esi, 6
jl 0x4039f3
mov eax, dword [ebx + 0x14]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x24], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x40337f
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_dump_file_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x18]
call fcn.004017a0
push ecx
xor ecx, ecx
mov bl, al
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x4033b5
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x4033df
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4033fe
cmp eax, 0xffffffff
je 0x4033fe
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x40336d
push str.File_dump_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push str.REMOVE
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x403581
cmp esi, 5
jl 0x4039f3
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x40349a
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_remove_file_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x108c]
add esp, 4
mov edx, ebx
call fcn.004097f0
mov ecx, ebx
test eax, eax
jne 0x403555
call fcn.00401620
test eax, eax
jne 0x40356b
mov bl, 1
push ecx
xor ecx, ecx
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x4034ec
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x403516
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x403535
cmp eax, 0xffffffff
je 0x403535
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x403488
push str.File_remove_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
call fcn.00409950
test eax, eax
je 0x4034d0
cmp eax, 8
je 0x4034d0
push eax
push ebx
push str.remove__s_failed__d_n
call fcn.00401010
add esp, 0xc
xor bl, bl
jmp 0x4034d2
push 0x42a5b8
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x403688
cmp esi, 5
jl 0x4039f3
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x4035ea
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
add esp, 0xc
jmp 0x4039fa
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, esi
call fcn.004044e0
test eax, eax
je 0x40361a
cmp eax, 8
je 0x40361a
push eax
push esi
push str.list__s_failed__d_n
call fcn.00401010
add esp, 0xc
push ecx
xor ecx, ecx
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x403634
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x40365e
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x40367d
cmp eax, 0xffffffff
je 0x40367d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x403a00
push str.MOVE
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x4037cb
cmp esi, 6
jl 0x4039f3
mov eax, dword [ebx + 0x14]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x24], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x40370b
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_to_move_file_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov esi, dword [esp + 0x14]
add esp, 4
mov edi, dword [esp + 0x18]
mov edx, esi
mov ecx, edi
call fcn.00409de0
test eax, eax
je 0x403746
cmp eax, 8
je 0x403746
push eax
push esi
push edi
push str.move__s_to__s_failed__d_n
call fcn.00401010
add esp, 0x10
xor bl, bl
jmp 0x403748
mov bl, 1
push ecx
xor ecx, ecx
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x403762
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x40378c
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4037ab
cmp eax, 0xffffffff
je 0x4037ab
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x4036f9
push str.File_move_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push 0x42a5fc
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x4038b8
cmp esi, 5
jl 0x4039f3
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x403834
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
add esp, 0xc
jmp 0x4039fa
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov ecx, dword [esp + 0x14]
add esp, 4
call fcn.00401050
push ecx
xor ecx, ecx
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x403864
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x40388e
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4038ad
cmp eax, 0xffffffff
je 0x4038ad
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x403a00
push str.CHMOD
push dword [ebx + 4]
call edi
add esp, 8
test eax, eax
jne 0x4039f3
cmp esi, 5
jl 0x4039f3
lea eax, [esi - 4]
test eax, eax
jle 0x4038eb
lea esi, [ebx + 0x14]
mov ecx, eax
lea edi, [esp + 0x1078]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcstoul]
push 0xa
push 0
push dword [ebx + 8]
mov dword [esp + eax*4 + 0x1084], 0
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x1c], eax
call esi
add esp, 0xc
mov ebx, eax
push 0xa
push 0
push edi
call esi
add esp, 0xc
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.00401500
test al, al
jne 0x403954
push esi
push ebx
push str.Failed_to_open_disk__lu_part__lu_n
call fcn.00402250
mov esi, dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
push str.Failed_chmod_file_n
call fcn.00402250
add esp, 4
jmp 0x403a00
push ecx
lea ecx, [esp + 0x24]
call fcn.00408640
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x107c]
add esp, 4
call fcn.00401110
push ecx
xor ecx, ecx
mov bl, al
call fcn.00408640
mov ecx, dword [0x1a2f9e0]
add esp, 4
test ecx, ecx
je 0x40398d
call fcn.00414d50
mov eax, dword [0x1a2f9f4]
xorps xmm0, xmm0
mov esi, dword [sym.imp.msvcrt.dll_free]
mov dword [0x1a2f9e0], 0
movlpd qword [0x1a2f9e8], xmm0
test eax, eax
je 0x4039b7
push eax
call esi
add esp, 4
mov eax, dword [0x1a2f9f0]
mov dword [0x1a2f9f4], 0
test eax, eax
je 0x4039d6
cmp eax, 0xffffffff
je 0x4039d6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test bl, bl
je 0x403942
push str.File_chmod_successfully_n
call fcn.00402250
add esp, 4
jmp 0x403a00
mov ecx, dword [ebx]
call fcn.00402290
mov esi, dword [sym.imp.msvcrt.dll_free]
push dword [0x1a28abc]
call esi
mov eax, dword [0x1a2f9d8]
add esp, 4
mov ecx, eax
xorps xmm0, xmm0
movlpd qword [0x1a28ab8], xmm0
mov edi, 0x1a2f9d8
test ecx, ecx
je 0x403a4d
nop word [eax + eax]
mov esi, dword [ecx + 0x1c]
cmp ecx, 0x458134
je 0x403a46
lea edi, [ecx + 0x1c]
mov ecx, esi
test ecx, ecx
jne 0x403a30
jmp 0x403a4d
mov dword [edi], esi
mov eax, dword [0x1a2f9d8]
mov esi, 0x1a2f9d8
test eax, eax
je 0x403a6d
mov edx, dword [eax + 0x1c]
cmp eax, 0x458114
je 0x403a6b
lea esi, [eax + 0x1c]
mov eax, edx
test eax, eax
jne 0x403a56
jmp 0x403a6d
mov dword [esi], edx
mov ecx, dword [0x458334]
test ecx, ecx
je 0x403a84
mov eax, dword [0x458330]
mov dword [ecx], eax
mov ecx, dword [0x458334]
mov eax, dword [0x458330]
test eax, eax
je 0x403a90
mov dword [eax + 4], ecx
mov ecx, dword [0x458344]
mov dword [0x458330], 0
mov dword [0x458334], 0
test ecx, ecx
je 0x403abb
mov eax, dword [0x458340]
mov dword [ecx], eax
mov ecx, dword [0x458344]
mov eax, dword [0x458340]
test eax, eax
je 0x403ac7
mov dword [eax + 4], ecx
mov ecx, dword [0x458158]
mov dword [0x458340], 0
mov dword [0x458344], 0
test ecx, ecx
je 0x403af2
mov eax, dword [0x458154]
mov dword [ecx], eax
mov ecx, dword [0x458158]
mov eax, dword [0x458154]
test eax, eax
je 0x403afe
mov dword [eax + 4], ecx
mov ecx, dword [0x458180]
mov dword [0x458154], 0
mov dword [0x458158], 0
test ecx, ecx
je 0x403b29
mov eax, dword [0x45817c]
mov dword [ecx], eax
mov ecx, dword [0x458180]
mov eax, dword [0x45817c]
test eax, eax
je 0x403b35
mov dword [eax + 4], ecx
mov ecx, dword [0x4581a8]
mov dword [0x45817c], 0
mov dword [0x458180], 0
test ecx, ecx
je 0x403b60
mov eax, dword [0x4581a4]
mov dword [ecx], eax
mov ecx, dword [0x4581a8]
mov eax, dword [0x4581a4]
test eax, eax
je 0x403b6c
mov dword [eax + 4], ecx
mov ecx, dword [0x4581d0]
mov dword [0x4581a4], 0
mov dword [0x4581a8], 0
test ecx, ecx
je 0x403b97
mov eax, dword [0x4581cc]
mov dword [ecx], eax
mov ecx, dword [0x4581d0]
mov eax, dword [0x4581cc]
test eax, eax
je 0x403ba3
mov dword [eax + 4], ecx
mov ecx, dword [0x458204]
mov dword [0x4581cc], 0
mov dword [0x4581d0], 0
test ecx, ecx
je 0x403bce
mov eax, dword [0x458200]
mov dword [ecx], eax
mov ecx, dword [0x458204]
mov eax, dword [0x458200]
test eax, eax
je 0x403bda
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10ec]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
mov dword [0x458200], 0
mov dword [0x458204], 0
call fcn.00419bef
mov esp, ebp
pop ebp
ret