Function at 0x4114f0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [ebp + 8]
add dword [0x436020], 0x42d649
push ebx
push esi
mov dword [0x436044], 0x18ed
mov esi, 0x7510836
push edi
and edi, dword [0x437d90]
xor eax, esi
mov edi, 0x327284
add eax, edi
mov dword [ebp - 0x20], eax
mov ebx, dword [0x438e32]
xor dword [0x42df55], ebx
mov ebx, dword [ebp + 8]
xor ebx, esi
mov dword [ebp - 0x3c], 0xf89c858a
or dword [0x43601c], 0x437d90
mov dword [ebp - 0x28], 0xf89c874a
add ebx, edi
mov dword [0x42df65], 0x3cb9
jmp 0x411b95
cmp ebx, 0x3b
mov dword [0x42d659], 0x7153
jne 0x41165a
not eax
mov eax, dword [0x42e028]
mov dword [0x436040], 0x6bf5
mov eax, dword [eax]
not dword [0x42d651]
mov dword [ebp - 0x2c], eax
mov dword [0x438e2e], 0x58e7
mov eax, dword [0x42e230]
mov dword [0x42df55], 0x1f1f
mov eax, dword [eax]
mov dword [0x437dac], 0x3112
mov dword [ebp - 0x20], eax
mov dword [0x42df61], 0xd4f
jmp 0x411b89
cmp ebx, 0x337
jne 0x411af0
mov dword [ebp - 0x10], 0x114
xor edx, edx
or edx, dword [0x42df61]
xor edx, dword [0x438e2a]
mov dword [0x42df61], edx
mov eax, dword [ebp - 0x10]
and dword [0x42df51], 0
mov edx, dword [0x42df51]
inc edx
mov dword [0x42df51], edx
cmp dword [0x42df51], 0x24
jne 0x4116b1
push dword [ebp - 0x18]
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp dword [0x42df51], 0x1a
jb 0x41168e
adc edx, 0x3c
and eax, 1
or ecx, dword [0x42d649]
mov dword [ebp - 0x34], eax
mov eax, dword [0x42d665]
or dword [0x43601c], eax
mov eax, dword [ebp - 0x14]
and dword [0x43602c], 0
mov ecx, dword [0x43602c]
inc ecx
mov dword [0x43602c], ecx
cmp dword [0x43602c], 5
jne 0x41170b
push dword [ebp - 0x20]
call dword [sym.imp.comdlg32.dll_PrintDlgExW]
cmp dword [0x43602c], 4
jne 0x411725
mov ecx, dword [0x43602c]
inc ecx
mov dword [0x43602c], ecx
cmp dword [0x43602c], 0x1e
jb 0x4116e8
add dword [0x438e42], edx
mov dword [ebp - 0x1c], eax
and dword [0x438e36], 0
jmp 0x411757
mov ecx, dword [0x438e36]
inc ecx
mov dword [0x438e36], ecx
cmp dword [0x438e36], 0x18
jae 0x4117cb
cmp dword [0x438e36], 0x1e
jne 0x411784
push dword [ebp - 0x1c]
push 0x437dac
push 0x4373e3
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
jmp 0x41174a
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], 0xf89c8582
and dword [0x436020], 0
mov edx, dword [0x436020]
inc edx
mov dword [0x436020], edx
cmp dword [0x436020], 0x1b
jne 0x411805
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp dword [0x436020], 0x12
jb 0x4117df
mov dword [0x436030], 0x17
cmp dword [0x436030], 0
je 0x411853
cmp dword [0x436030], 0x18
jne 0x41183f
push dword [ebp - 0x24]
call dword [sym.imp.COMCTL32.dll_CreatePropertySheetPageW]
xor edx, edx
add edx, dword [0x436030]
dec edx
mov dword [0x436030], edx
jmp 0x41181c
mov dword [ebp - 0x38], 0xf89c85b7
sub ecx, ecx
mov dword [ebp - 0x18], eax
and dword [0x436038], 0
jmp 0x41187d
xor ecx, ecx
add ecx, dword [0x436038]
inc ecx
mov dword [0x436038], ecx
cmp dword [0x436038], 0x11
jae 0x4118c1
cmp dword [0x436038], 5
jne 0x4118a2
push 0x8f07
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
cmp dword [0x436038], 4
jne 0x4118bc
mov ecx, dword [0x436038]
inc ecx
mov dword [0x436038], ecx
jmp 0x41186e
mov eax, 0xf89c854a
sbb ecx, ecx
mov dword [ebp - 0x30], eax
adc dword [0x42d65d], edi
mov dword [ebp + 8], 0xf89c854b
mov dword [ebp - 8], 0xf89c8548
and dword [0x42df4d], 0
jmp 0x4118fb
mov ecx, dword [0x42df4d]
inc ecx
mov dword [0x42df4d], ecx
cmp dword [0x42df4d], 0x15
jae 0x4119a2
cmp dword [0x42df4d], 0xa
jne 0x41191e
push dword [ebp - 0x20]
call dword [sym.imp.comdlg32.dll_GetSaveFileNameW]
cmp dword [0x42df4d], 9
jne 0x411938
mov ecx, dword [0x42df4d]
inc ecx
mov dword [0x42df4d], ecx
jmp 0x4118ee
mov ecx, dword [ebp + 8]
xor ecx, esi
mov edx, 0xffcd8d7c
sub edx, ecx
add edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x411a7f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
xor eax, esi
xor ecx, esi
lea ecx, [eax + ecx + 0x64e508]
mov eax, dword [ebp - 4]
xor edx, edx
div ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
xor eax, esi
xor ecx, esi
sub eax, ecx
cmp edx, eax
jne 0x411a26
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov al, byte [eax]
test ecx, ecx
jne 0x411a07
xor al, 0x31
sub al, 0x4d
jmp 0x411a1e
mov ecx, dword [ebp - 0x24]
xor cl, 0x36
mov dl, 0x7c
sub dl, cl
mov ecx, dword [ebp - 0x38]
xor cl, 0x36
add al, dl
sub cl, 0x7c
ror al, cl
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x18]
mov byte [ecx], al
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
sub eax, edi
xor eax, esi
cmp eax, ecx
jne 0x411a5f
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
xor eax, esi
xor ecx, esi
sub eax, ecx
sub eax, edi
xor eax, esi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
xor eax, esi
mov ecx, 0xffcd8d7c
sub ecx, eax
add ecx, dword [ebp - 0x1c]
jmp 0x411a6e
mov eax, dword [ebp + 8]
xor eax, esi
mov ecx, 0xffcd8d7c
sub ecx, eax
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 8]
cmp eax, 0xf89c854a
jne 0x4119bf
mov eax, dword [ebp + 0xc]
xor eax, esi
mov ecx, 0xffcd8d7c
sub ecx, eax
add dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 1
jne 0x41166d
push dword [ebp - 0x14]
push dword [ebp - 0xc]
call fcn.004204c7
jmp 0x411b89
cmp ebx, 0x19e
jne 0x411b57
mov dword [ebp - 0x84], 0xf89c85b6
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x3c]
xor eax, esi
add eax, edi
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x84]
xor eax, esi
add eax, edi
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp + 0xc]
xor eax, esi
add eax, edi
push eax
mov eax, dword [0x42e1c8]
push 0x42e11e
push dword [eax]
call fcn.00406f3a
jmp 0x411b89
cmp ebx, 0x13a
jne 0x411b89
mov eax, dword [ebp - 0x28]
xor eax, esi
add eax, edi
mov dword [ebp + 8], eax
mov eax, dword [str.uO_OkO1O]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push 4
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 0xc]
xor eax, esi
lea ebx, [ebx + eax + 0x327284]
cmp ebx, 0x506
jne 0x4115ac
mov eax, dword [ebp + 0xc]
xor eax, esi
add eax, edi
pop edi
pop esi
pop ebx
leave
ret 8