Function at 0x41799c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc74
mov dword [ebp - 0x4c], eax
mov eax, 0x6f314c
call fcn.0066d220
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x338]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
call fcn.0065487c
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
call fcn.006543d8
mov word [ebp - 0x38], 8
push 0x55f5
call fcn.00402b9c
pop ecx
mov edx, eax
lea eax, [ebp - 4]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
xor edx, edx
call fcn.0065446c
mov dword [ebp - 0x54], eax
mov dword [0x6ebeec], eax
dec dword [ebp - 0x2c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0067d4bc
mov ecx, dword [0x6eb994]
test ecx, ecx
je 0x417a4c
mov edx, 0x3d
mov eax, dword [0x6ebeec]
call fcn.00653334
mov edx, 0x3d
mov eax, dword [0x6ebeec]
call fcn.0065338c
jmp 0x417a6a
mov edx, 1
mov eax, dword [0x6ebeec]
call fcn.00653334
mov edx, 1
mov eax, dword [0x6ebeec]
call fcn.0065338c
xor edx, edx
mov eax, dword [ebp - 0x54]
call fcn.00653194
mov ecx, dword [0x6eb9e4]
test ecx, ecx
je 0x417c0c
push 0x830718
lea eax, [ebp - 0x184]
push eax
call fcn.0066ce08
add esp, 8
lea edx, [ebp - 0x184]
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x417c0c
push 0x120
call fcn.0066c62c
pop ecx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x417af4
push str.Memory_allocation_error_
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
call fcn.00462a84
add esp, 8
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
call fcn.006548c8
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
jmp 0x418416
push 0x120
push 0
push dword [ebp - 0x78]
call fcn.0066cc88
add esp, 0xc
mov ecx, dword [ebp - 0x78]
mov dword [ecx], 5
mov eax, dword [ebp - 0x64]
mov dl, byte [eax]
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
cmp edx, 0x61
jl 0x417b39
mov ecx, dword [ebp - 0x78]
movsx eax, byte [ecx + 4]
cmp eax, 0x7a
jg 0x417b39
mov edx, dword [ebp - 0x78]
add byte [edx + 4], 0xe0
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
call fcn.0066ce08
add esp, 8
mov word [ebp - 0x38], 0x14
lea eax, [ebp - 8]
mov edx, dword [0x83373c]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x54]
call fcn.0065445c
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x2c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0067d4bc
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
call fcn.00653194
mov word [ebp - 0x38], 0x20
mov edx, 0x6ef9fd
lea eax, [ebp - 0xc]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x58]
call fcn.0065445c
dec dword [ebp - 0x2c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0067d4bc
mov ecx, dword [0x6eb994]
test ecx, ecx
je 0x417bf2
mov edx, 0x44
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x44
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x417c0c
mov edx, 6
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 6
mov eax, dword [ebp - 0x58]
call fcn.0065338c
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
push 1
call fcn.0046290c
add esp, 8
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x417d98
push 0x120
call fcn.0066c62c
pop ecx
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
test ecx, ecx
jne 0x417c80
push 0x59fa
call fcn.00402b9c
pop ecx
push eax
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
call fcn.00462a84
add esp, 8
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
call fcn.006548c8
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
jmp 0x418416
push 0x120
push 0
push dword [ebp - 0x78]
call fcn.0066cc88
add esp, 0xc
mov ecx, dword [ebp - 0x78]
mov dword [ecx], 5
mov eax, dword [ebp - 0x64]
mov dl, byte [eax]
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
cmp edx, 0x61
jl 0x417cc5
mov ecx, dword [ebp - 0x78]
movsx eax, byte [ecx + 4]
cmp eax, 0x7a
jg 0x417cc5
mov edx, dword [ebp - 0x78]
add byte [edx + 4], 0xe0
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
call fcn.0066ce08
add esp, 8
mov word [ebp - 0x38], 0x2c
lea eax, [ebp - 0x10]
mov edx, dword [0x833738]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x54]
call fcn.0065445c
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0067d4bc
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
call fcn.00653194
mov word [ebp - 0x38], 0x38
mov edx, 0x6ef9fe
lea eax, [ebp - 0x14]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x58]
call fcn.0065445c
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0067d4bc
mov ecx, dword [0x6eb994]
test ecx, ecx
je 0x417d7e
mov edx, 0x3e
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x3e
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x417d98
mov edx, 0x1c
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x1c
mov eax, dword [ebp - 0x58]
call fcn.0065338c
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
push 0
call fcn.0046290c
add esp, 8
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x417f24
push 0x120
call fcn.0066c62c
pop ecx
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
test ecx, ecx
jne 0x417e0c
push 0x59fa
call fcn.00402b9c
pop ecx
push eax
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
call fcn.00462a84
add esp, 8
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
call fcn.006548c8
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
jmp 0x418416
push 0x120
push 0
push dword [ebp - 0x78]
call fcn.0066cc88
add esp, 0xc
mov ecx, dword [ebp - 0x78]
mov dword [ecx], 5
mov eax, dword [ebp - 0x64]
mov dl, byte [eax]
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
cmp edx, 0x61
jl 0x417e51
mov ecx, dword [ebp - 0x78]
movsx eax, byte [ecx + 4]
cmp eax, 0x7a
jg 0x417e51
mov edx, dword [ebp - 0x78]
add byte [edx + 4], 0xe0
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
call fcn.0066ce08
add esp, 8
mov word [ebp - 0x38], 0x44
lea eax, [ebp - 0x18]
mov edx, dword [0x833740]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x54]
call fcn.0065445c
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0067d4bc
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
call fcn.00653194
mov word [ebp - 0x38], 0x50
mov edx, 0x6ef9ff
lea eax, [ebp - 0x1c]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x58]
call fcn.0065445c
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0067d4bc
mov ecx, dword [0x6eb994]
test ecx, ecx
je 0x417f0a
mov edx, 0x3f
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x3f
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x417f24
mov edx, 0x1d
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x1d
mov eax, dword [ebp - 0x58]
call fcn.0065338c
push 0x104
push 0
lea ecx, [ebp - 0x184]
push ecx
call fcn.0066cc88
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
push 0x104
call sub.KERNEL32.DLL_GetLogicalDriveStringsA
mov dword [ebp - 0x5c], eax
xor edx, edx
mov dword [0x6eb9b4], edx
mov ecx, dword [0x82f528]
mov eax, dword [ecx]
mov dx, 0xfff5
call fcn.0062cf04
xor ecx, ecx
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
cmp eax, edx
jge 0x4183ad
lea ecx, [ebp - 0x184]
mov eax, dword [ebp - 0x60]
add ecx, eax
push ecx
call sub.KERNEL32.DLL_GetDriveTypeA
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x70]
cmp edx, 2
jne 0x417ff4
mov ecx, dword [ebp - 0x60]
movsx eax, byte [ebp + ecx - 0x184]
cmp eax, 0x41
je 0x417fb6
mov edx, dword [ebp - 0x60]
movsx ecx, byte [ebp + edx - 0x184]
cmp ecx, 0x61
jne 0x417fca
mov eax, dword [0x6eb9b4]
dec eax
jge 0x417ff4
mov dword [0x6eb9b4], 1
jmp 0x417ff4
mov edx, dword [ebp - 0x60]
movsx ecx, byte [ebp + edx - 0x184]
cmp ecx, 0x42
je 0x417fea
mov eax, dword [ebp - 0x60]
movsx edx, byte [ebp + eax - 0x184]
cmp edx, 0x62
jne 0x417ff4
mov dword [0x6eb9b4], 2
mov ecx, dword [ebp - 0x70]
cmp ecx, 3
je 0x418068
mov eax, dword [ebp - 0x70]
cmp eax, 5
je 0x418068
mov edx, dword [ebp - 0x70]
cmp edx, 4
je 0x418068
mov ecx, dword [ebp - 0x70]
cmp ecx, 2
jne 0x41838e
mov eax, dword [ebp - 0x60]
movsx edx, byte [ebp + eax - 0x184]
cmp edx, 0x41
je 0x41838e
mov ecx, dword [ebp - 0x60]
movsx eax, byte [ebp + ecx - 0x184]
cmp eax, 0x61
je 0x41838e
mov edx, dword [ebp - 0x60]
movsx ecx, byte [ebp + edx - 0x184]
cmp ecx, 0x42
je 0x41838e
mov eax, dword [ebp - 0x60]
movsx edx, byte [ebp + eax - 0x184]
cmp edx, 0x62
je 0x41838e
push 0x120
call fcn.0066c62c
pop ecx
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
test ecx, ecx
jne 0x4180b9
push 0x59fa
call fcn.00402b9c
pop ecx
push eax
mov eax, dword [sym.UltraISO.exe__frmMain]
call fcn.00640b4c
push eax
call fcn.00462a84
add esp, 8
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
call fcn.006548c8
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
jmp 0x418416
push 0x120
push 0
push dword [ebp - 0x78]
call fcn.0066cc88
add esp, 0xc
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffffe
sub ecx, 2
jb 0x4180dd
je 0x41811b
dec ecx
je 0x4180fb
jmp 0x418139
push dword [0x833f8c]
lea eax, [ebp - 0x38c]
push eax
call fcn.0066ce08
add esp, 8
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x418139
push dword [0x833f90]
lea eax, [ebp - 0x38c]
push eax
call fcn.0066ce08
add esp, 8
mov edx, dword [ebp - 0x78]
mov dword [edx], 1
jmp 0x418139
push dword [0x833f94]
lea ecx, [ebp - 0x38c]
push ecx
call fcn.0066ce08
add esp, 8
mov eax, dword [ebp - 0x78]
mov dword [eax], 2
mov edx, dword [ebp - 0x70]
cmp edx, 4
jne 0x41817b
mov dword [ebp - 0x68], 0x104
mov ecx, dword [ebp - 0x60]
movsx eax, byte [ebp + ecx - 0x184]
push eax
push 0x6efa00
lea edx, [ebp - 0x7b]
push edx
call fcn.006712b0
add esp, 0xc
lea ecx, [ebp - 0x68]
push ecx
lea eax, [ebp - 0x38c]
push eax
lea edx, [ebp - 0x7b]
push edx
call sub.MPR.DLL_WNetGetConnectionA
jmp 0x4181b8
push 1
call sub.KERNEL32.DLL_SetErrorMode
mov dword [ebp - 0x80], eax
push 0
push 0
lea ecx, [ebp - 0x6c]
push ecx
lea eax, [ebp - 0x68]
push eax
push 0
push 0x104
lea edx, [ebp - 0x38c]
push edx
lea ecx, [ebp - 0x184]
mov eax, dword [ebp - 0x60]
add ecx, eax
push ecx
call sub.KERNEL32.DLL_GetVolumeInformationA
push dword [ebp - 0x80]
call sub.KERNEL32.DLL_SetErrorMode
mov edx, dword [ebp - 0x60]
mov cl, byte [ebp + edx - 0x184]
mov eax, dword [ebp - 0x78]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0x78]
movsx ecx, byte [edx + 4]
cmp ecx, 0x61
jl 0x4181e7
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
cmp edx, 0x7a
jg 0x4181e7
mov ecx, dword [ebp - 0x78]
add byte [ecx + 4], 0xe0
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
push edx
push 0x6efa04
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
call fcn.006712b0
add esp, 0xc
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 4]
push edx
lea ecx, [ebp - 0x38c]
push ecx
push 0x6efa08
lea eax, [ebp - 0x288]
push eax
call fcn.006712b0
add esp, 0x10
mov word [ebp - 0x38], 0x5c
lea edx, [ebp - 0x288]
lea eax, [ebp - 0x20]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x26c]
mov edx, dword [ebp - 0x54]
call fcn.0065445c
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0067d4bc
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
call fcn.00653194
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffffe
sub ecx, 2
jb 0x418287
je 0x418310
dec ecx
je 0x4182ce
jmp 0x418350
mov eax, dword [0x6eb994]
test eax, eax
je 0x4182af
mov edx, 0x40
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x40
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x418350
mov edx, 3
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 3
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x418350
mov edx, dword [0x6eb994]
test edx, edx
je 0x4182f4
mov edx, 0x41
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x41
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x418350
mov edx, 4
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 4
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x418350
mov ecx, dword [0x6eb994]
test ecx, ecx
je 0x418336
mov edx, 0x42
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 0x42
mov eax, dword [ebp - 0x58]
call fcn.0065338c
jmp 0x418350
mov edx, 5
mov eax, dword [ebp - 0x58]
call fcn.00653334
mov edx, 5
mov eax, dword [ebp - 0x58]
call fcn.0065338c
mov word [ebp - 0x38], 0x68
mov edx, 0x6efa10
lea eax, [ebp - 0x24]
call fcn.0067d2d0
inc dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0x58]
call fcn.0065445c
dec dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0067d4bc
jmp 0x41838e
inc dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
mov al, byte [ebp + ecx - 0x184]
test al, al
jne 0x41838b
inc dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
cmp edx, ecx
jl 0x417f7a
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x26c]
call fcn.006548c8
mov edx, dword [0x82f528]
mov eax, dword [edx]
xor edx, edx
call fcn.0062cf04
mov eax, dword [ebp - 0x54]
call fcn.00653658
test al, al
jne 0x4183e0
xor edx, edx
mov eax, dword [ebp - 0x54]
call fcn.00653640
mov eax, dword [ebp - 0x54]
call fcn.006539a4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
call fcn.00653658
test al, al
jne 0x418401
xor edx, edx
mov eax, dword [ebp - 0x54]
call fcn.00653640
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
call fcn.00655a0c
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret