Function at 0x4016cd
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x958
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x14b
mov dword [esp + 4], 0x6c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SendDlgItemMessageA
sub esp, 0x14
mov dword [esp + 8], 0x104
lea eax, [ebp - 0x118]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004015b6
test eax, eax
je 0x40172a
jmp 0x401aad
lea eax, [ebp - 0x118]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x924], eax
cmp dword [ebp - 0x924], 4
jle 0x401872
cmp byte [ebp - 0x118], 0x28
jne 0x401872
cmp byte [ebp - 0x116], 0x64
jne 0x401872
lea eax, [ebp - 8]
add eax, dword [ebp - 0x924]
sub eax, 0x111
cmp byte [eax], 0x29
jne 0x401872
cmp byte [ebp - 0x117], 0x68
jne 0x4017eb
lea eax, [ebp - 0x118]
add eax, 3
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x928], eax
cmp dword [ebp - 0x928], 0
js 0x4017d3
cmp dword [ebp - 0x928], 9
jg 0x4017d3
mov eax, dword [ebp - 0x928]
mov dword [esp + 8], eax
mov dword [esp + 4], str..PhysicalDrive_d
lea eax, [ebp - 0x118]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
jmp 0x401872
mov dword [esp + 4], 0x1f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004012f0
jmp 0x401aad
cmp byte [ebp - 0x117], 0x66
jne 0x40185a
lea eax, [ebp - 0x118]
add eax, 3
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x928], eax
cmp dword [ebp - 0x928], 0
js 0x401842
cmp dword [ebp - 0x928], 1
jg 0x401842
mov eax, dword [ebp - 0x928]
add eax, 0x41
mov dword [esp + 8], eax
mov dword [esp + 4], str.._c:
lea eax, [ebp - 0x118]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
jmp 0x401872
mov dword [esp + 4], 0x1f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004012f0
jmp 0x401aad
mov dword [esp + 4], 0x1f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004012f0
jmp 0x401aad
mov dword [esp + 8], 0
mov dword [esp + 4], 0x8000
lea eax, [ebp - 0x118]
mov dword [esp], eax
call sub.msvcrt.dll__open
mov dword [ebp - 0x91c], eax
cmp dword [ebp - 0x91c], 0
jns 0x4018b7
mov dword [esp + 4], 0x1f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004012f0
jmp 0x401aad
mov dword [esp + 8], 0x800
lea eax, [ebp - 0x918]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x91c]
mov dword [esp], eax
call sub.msvcrt.dll__read
cmp eax, 0x800
je 0x401904
mov dword [esp + 4], 0x1f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004012f0
mov eax, dword [ebp - 0x91c]
mov dword [esp], eax
call sub.msvcrt.dll__close
jmp 0x401aad
lea eax, [ebp - 0x918]
mov dword [esp], eax
call fcn.00402cfa
mov dword [ebp - 0x920], eax
cmp dword [ebp - 0x920], 1
setne al
movzx eax, al
mov dword [esp + 8], eax
mov dword [esp + 4], 0x76
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_CheckDlgButton
sub esp, 0xc
mov dword [esp + 0xc], 0x800
lea eax, [ebp - 0x918]
mov dword [esp + 8], eax
mov eax, dword [0x4062a0]
add eax, 0x1fa
mov dword [esp + 4], eax
mov eax, dword [0x406290]
mov dword [esp], eax
call sub.USER32.dll_LoadStringA
sub esp, 0x10
lea eax, [ebp - 0x918]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x924], eax
mov eax, dword [ebp - 0x920]
mov dword [esp], eax
call fcn.00402ed2
mov dword [esp + 8], eax
mov dword [esp + 4], str.___s_
lea eax, [ebp - 0x918]
add eax, dword [ebp - 0x924]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x918]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x6c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SendDlgItemMessageA
sub esp, 0x14
cmp dword [ebp - 0x920], 1
jne 0x401a9f
mov byte [ebp - 0x937], 0xff
mov byte [ebp - 0x938], 0xff
lea eax, [ebp - 0x938]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x91c]
mov dword [esp], eax
call fcn.0040281f
test eax, eax
jne 0x401a9f
movzx eax, byte [ebp - 0x936]
mov dword [esp], eax
call fcn.00402f2e
mov edx, eax
mov eax, dword [ebp - 0x930]
shr eax, 0xb
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
movzx eax, byte [ebp - 0x936]
mov dword [esp + 0xc], eax
movzx eax, byte [ebp - 0x938]
mov dword [esp + 8], eax
mov dword [esp + 4], str._d:__02X__s____uM_
lea eax, [ebp - 0x918]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x918]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x6c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SendDlgItemMessageA
sub esp, 0x14
jmp 0x4019fc
mov eax, dword [ebp - 0x91c]
mov dword [esp], eax
call sub.msvcrt.dll__close
leave
ret