Function at 0x413af3
Capabilities:
Get disk information

Disassembly:
mov eax, 0x41eb54
mov edx, 0x415220
call fcn.00403780
lea eax, [ebp - 0x630]
mov dl, byte [ebp - 5]
call fcn.0040384c
mov edx, dword [ebp - 0x630]
lea eax, [ebp - 0x24]
mov ecx, 0x415294
call fcn.004038f0
mov eax, dword [ebp - 0x24]
call fcn.00403aa4
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 6
ja case.0x41385d.0
jmp dword [eax*4 + 0x413864]
mov eax, 0x41eb54
mov edx, 0x4152a0
call fcn.00403780
lea eax, [ebp - 0xc]
mov edx, 0x41537c
call fcn.004037c4
lea eax, [ebp - 0x10]
mov edx, 0x415390
call fcn.004037c4
jmp 0x41399a
mov eax, 0x41eb54
mov edx, 0x41539c
call fcn.00403780
lea eax, [ebp - 0xc]
mov edx, 0x415470
call fcn.004037c4
lea eax, [ebp - 0x10]
mov edx, 0x415480
call fcn.004037c4
mov eax, 0x41eb54
mov edx, 0x41548c
call fcn.00403780
jmp 0x41399a
lea eax, [ebp - 0xc]
mov edx, 0x415548
call fcn.004037c4
lea eax, [ebp - 0x10]
mov edx, 0x415558
call fcn.004037c4
mov eax, 0x41eb54
mov edx, 0x415568
call fcn.00403780
jmp 0x41399a
lea eax, [ebp - 0xc]
mov edx, 0x415640
call fcn.004037c4
lea eax, [ebp - 0x10]
mov edx, 0x415650
call fcn.004037c4
push dword [0x41eb64]
push 0x414470
push 0x414aac
push dword [ebp - 0x24]
push dword [ebp - 0xc]
push 0x414470
mov eax, 0x41eb64
mov edx, 6
call fcn.00403964
lea eax, [ebp - 0xc]
call fcn.0040372c
jmp 0x41399a
lea eax, [ebp - 0xc]
mov edx, 0x41565c
call fcn.004037c4
mov eax, 0x41eb54
mov edx, 0x41566c
call fcn.00403780
lea eax, [ebp - 0x10]
mov edx, 0x4156c8
call fcn.004037c4
jmp 0x41399a
lea eax, [ebp - 0xc]
call fcn.0040372c
mov eax, dword [ebp - 0xc]
call fcn.004038a4
dec eax
jl 0x413c1d
mov eax, 0x41eb54
mov edx, 0x4156dc
call fcn.00403780
push dword [ebp - 0x1c]
lea eax, [ebp - 0x634]
mov dl, byte [ebp - 5]
call fcn.0040384c
push dword [ebp - 0x634]
push 0x414e00
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00403964
push dword [0x41eb64]
push 0x414aac
push dword [ebp - 0x24]
push 0x414470
push 0x4156f4
push dword [ebp - 0xc]
push 0x414470
mov eax, 0x41eb64
mov edx, 7
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x415704
call fcn.00403780
push 0x64
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x104
lea eax, [ebp - 0x384]
push eax
mov eax, dword [ebp - 0x24]
call fcn.00403aa4
push eax
mov eax, dword [0x41d300]
mov eax, dword [eax]
call eax
test eax, eax
je 0x413b24
push dword [0x41eb64]
push 0x4157b0
lea eax, [ebp - 0x638]
lea edx, [ebp - 0x384]
mov ecx, 0x104
call fcn.0040388c
push dword [ebp - 0x638]
push 0x414470
push 0x4157c0
lea eax, [ebp - 0x63c]
lea edx, [ebp - 0x488]
mov ecx, 0x104
call fcn.0040388c
push dword [ebp - 0x63c]
push 0x414470
push fcn.004157d0
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x640]
call fcn.00405168
push dword [ebp - 0x640]
push 0x414470
push 0x4157e0
mov eax, dword [ebp - 0x30]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x644]
call fcn.00405168
push dword [ebp - 0x644]
push 0x414470
push 0x4157f4
mov eax, dword [ebp - 0x34]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x648]
call fcn.00405168
push dword [ebp - 0x648]
push 0x414470
mov eax, 0x41eb64
mov edx, 0x10
call fcn.00403964
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
call fcn.00403aa4
push eax
mov eax, dword [0x41d2ec]
mov eax, dword [eax]
call eax
test eax, eax
je 0x413c1d
push dword [0x41eb64]
push 0x415804
push 0
push 0x100000
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.00404034
push dword [ecx + 5]
call fcn.00402f1c
push edx
push eax
lea eax, [ebp - 0x64c]
call fcn.00405168
push dword [ebp - 0x64c]
push 0x414e94
push 0x414470
push 0x415814
push 0
push 0x100000
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.00404034
jno 0x413ba9
call fcn.00402f1c
push edx
push eax
lea eax, [ebp - 0x650]
call fcn.00405168
push dword [ebp - 0x650]
push 0x414e94
push 0x414470
push 0x415824
push 0
push 0x100000
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub eax, dword [ebp - 0x50]
sbb edx, dword [ebp - 0x4c]
jno 0x413be5
call fcn.00402f1c
call fcn.00404034
jno 0x413bf1
call fcn.00402f1c
push edx
push eax
lea eax, [ebp - 0x654]
call fcn.00405168
push dword [ebp - 0x654]
push 0x414e94
push 0x414470
mov eax, 0x41eb64
mov edx, 0xd
call fcn.00403964
inc byte [ebp - 5]
cmp byte [ebp - 5], 0x5b
jne 0x413816
push 0
push 0
push 0
push 0x41582c
call sub.gdi32.dll_CreateDCA
mov dword [ebp - 0x54], eax
push 8
mov eax, dword [ebp - 0x54]
push eax
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0xc]
call fcn.00405148
mov eax, 0x41eb54
mov edx, 0x4143c4
call fcn.00403780
push 0xa
mov eax, dword [ebp - 0x54]
push eax
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x10]
call fcn.00405148
push 0x74
mov eax, dword [ebp - 0x54]
push eax
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x14]
call fcn.00405148
mov eax, 0x41eb54
mov edx, 0x41583c
call fcn.00403780
push 0xc
mov eax, dword [ebp - 0x54]
push eax
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x18]
call fcn.00405148
mov eax, dword [ebp - 0x54]
push eax
call sub.gdi32.dll_DeleteDC
mov eax, 0x41eb54
mov edx, 0x41586c
call fcn.00403780
push dword [0x41eb64]
push 0x414aac
push 0x415898
push 0x414470
push 0x4158ac
push dword [ebp - 0xc]
push 0x414470
push 0x4158bc
push dword [ebp - 0x10]
push 0x414470
push 0x4158d0
push dword [ebp - 0x14]
push 0x414470
push 0x4158e4
push dword [ebp - 0x18]
push 0x414470
mov eax, 0x41eb64
mov edx, 0x10
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x4158fc
call fcn.00403780
push dword [ebp - 0x1c]
push 0x414678
push 0x415918
push dword [ebp - 0xc]
push 0x415928
push dword [ebp - 0x10]
push 0x415934
push dword [ebp - 0x14]
push 0x415928
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
mov edx, 0xa
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x415940
call fcn.00403780
lea eax, [ebp - 0x5a4]
xor ecx, ecx
mov edx, 7
call fcn.00402bd8
lea eax, [ebp - 0x5a4]
push eax
push 8
mov eax, dword [0x41d314]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x58], eax
push 0x4159a0
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x658]
call fcn.00405168
push dword [ebp - 0x658]
push 0x414470
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x4159bc
call fcn.00403780
mov eax, dword [ebp - 0x58]
sub eax, 1
jae 0x413ddc
call fcn.00402f1c
test eax, eax
jns 0x413de5
call fcn.00402f14
test eax, eax
jl 0x414265
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x28], 0
mov eax, 0x41eb54
mov edx, 0x415a7c
call fcn.00403780
mov eax, dword [ebp - 0x28]
cmp eax, 7
jbe 0x413e14
call fcn.00402f14
mov eax, dword [ebp + eax*4 - 0x5a4]
and eax, 0xff
cmp eax, 0x38
ja case.0x413e29.0
jmp dword [eax*4 + 0x413e30]
lea eax, [ebp - 0x18]
mov edx, 0x415ab8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415ac8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415ad8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415ae8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415af8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b08
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b18
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b28
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b38
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b48
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b58
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b68
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b78
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b84
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415b98
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bac
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bbc
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bcc
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bdc
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bec
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415bfc
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c0c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c20
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c34
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c48
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c58
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c6c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c7c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415c8c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415ca0
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415cb4
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415cc4
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415cd8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415cec
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415cf8
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d08
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d1c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d2c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d3c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, fcn.00415d4c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d5c
call fcn.004037c4
jmp case.0x413e29.0
lea eax, [ebp - 0x18]
mov edx, 0x415d68
call fcn.004037c4
push dword [ebp - 0xc]
lea edx, [ebp - 0x65c]
mov eax, dword [ebp - 0x28]
add eax, 1
jno 0x414201
call fcn.00402f1c
call fcn.00405148
push dword [ebp - 0x65c]
push 0x414e00
mov eax, dword [ebp - 0x28]
cmp eax, 7
jbe 0x41421e
call fcn.00402f14
mov eax, dword [ebp + eax*4 - 0x5a4]
and eax, 0xff
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x660]
call fcn.00405168
push dword [ebp - 0x660]
push 0x41466c
push dword [ebp - 0x18]
push 0x414470
lea eax, [ebp - 0xc]
mov edx, 7
call fcn.00403964
inc dword [ebp - 0x28]
dec dword [ebp - 0x5c]
jne 0x413df8
mov eax, 0x41eb64
mov edx, dword [ebp - 0xc]
call fcn.004038ac
mov eax, 0x41eb54
mov edx, 0x415d78
call fcn.00403780
lea eax, [ebp - 0x14]
mov edx, 0x415dcc
call fcn.004037c4
mov eax, 0x41eb54
mov edx, 0x415de8
call fcn.00403780
mov eax, dword [0x41d320]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x415e60
mov edx, dword [ebp - 0x14]
mov eax, 0x80000001
call fcn.00406c7c
cmp dword [ebp - 0xc], 0
je 0x41431f
push dword [0x41eb64]
push 0x414aac
push 0x415e74
push dword [ebp - 0xc]
push 0x414470
push 0x415e8c
mov eax, dword [0x41d320]
push eax
push 0x400
lea eax, [ebp - 0x664]
push eax
mov ecx, 0x415ea0
mov edx, dword [ebp - 0x14]
mov eax, 0x80000002
call fcn.00406c7c
push dword [ebp - 0x664]
push 0x414470
mov eax, 0x41eb64
mov edx, 8
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x415eb0
call fcn.00403780
push 0x415edc
push dword [ebp - 0x1c]
push 0x414470
push 0x415f04
push 0x414470
push 0x415f14
lea edx, [ebp - 0x668]
mov eax, 0x9e
call fcn.00405148
push dword [ebp - 0x668]
push dword [0x41eb64]
mov eax, 0x41eb64
mov edx, 8
call fcn.00403964
mov eax, 0x41eb54
mov edx, 0x415f28
call fcn.00403780
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4143b6
lea eax, [ebp - 0x668]
mov edx, 0x29
call fcn.00403750
lea eax, [ebp - 0x24]
mov edx, 7
call fcn.00403750
ret