Function at 0x43b8b0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
push esi
mov eax, dword [0x456b1c]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x374], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x34c], 0
lea edx, [ebp - 0x34c]
push edx
push 0
push 0
push 0
call sub.urlmon.dll_CreateAsyncBindCtx
mov dword [ebp - 0x370], eax
push 0
push 0
push 0
push 0
call sub.urlmon.dll_CreateAsyncBindCtx
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x21c]
jne 0x43b966
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [0x456b18]
je 0x43b966
mov edx, dword [ebp - 0x370]
cmp edx, dword [0x456b20]
je 0x43b966
mov eax, dword [0x456b20]
mov ecx, dword [0x456b18]
lea edx, [ecx + eax + 1]
add edx, dword [ebp - 0x374]
mov dword [ebp - 0x374], edx
mov dword [ebp - 0x368], 0x10
mov dword [ebp - 0x38c], 0
jmp 0x43b98b
mov eax, dword [ebp - 0x38c]
add eax, 1
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x38c]
cmp ecx, dword [ebp - 0x350]
jge 0x43bfbf
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x38c]
mov al, byte [edx]
mov byte [ebp - 0x391], al
movzx ecx, word [0x456b1c]
sub ecx, dword [0x456b24]
movzx eax, word [ebp - 0x344]
mov esi, dword [0x456b1c]
add esi, 0x5e
cdq
idiv esi
movzx edx, byte [ebp - 0x388]
imul eax, edx
sub ecx, eax
sub ecx, dword [0x456b1c]
mov eax, dword [ebp - 0x348]
sub eax, ecx
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x334]
add ecx, dword [ebp + 0x10]
add ecx, dword [ebp - 0x220]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x3a4], 1
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a0], 0
push 0
push 0x60000000
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov dword [ebp - 0x3c8], eax
lea eax, [ebp - 0x3c4]
push eax
mov ecx, dword [ebp - 0x3c8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetCommState]
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c0], 0x2580
mov byte [ebp - 0x3b2], 8
mov byte [ebp - 0x3b0], 0
mov byte [ebp - 0x3b1], 0
mov edx, dword [ebp + 0x10]
add edx, 0x1e
mov eax, edx
imul eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x38c]
imul eax, eax, 0x1e
imul eax, dword [ebp + 0x10]
cdq
mov ecx, 7
idiv ecx
cdq
idiv dword [ebp - 0x374]
imul eax, dword [ebp - 0x220]
mov dword [ebp - 0x220], eax
movzx edx, byte [ebp - 0x391]
xor edx, dword [ebp - 0x398]
mov byte [ebp - 0x399], dl
mov eax, dword [ebp - 0x220]
add eax, dword [ebp + 0x10]
mov ecx, 5
sub ecx, dword [ebp - 0x374]
imul ecx, dword [ebp - 0x220]
add eax, ecx
mov edx, dword [ebp - 0x38c]
add edx, dword [ebp - 0x220]
imul edx, edx, 5
add eax, dword [ebp - 0x334]
lea eax, [eax + edx*8]
mov dword [ebp - 0x334], eax
mov ecx, dword [0x456b18]
add ecx, dword [0x456b0c]
movzx edx, word [ebp - 0x358]
cmp ecx, edx
jle 0x43bb43
movzx ecx, byte [ebp - 0x344]
movzx eax, byte [ebp - 0x224]
mov esi, dword [0x456b1c]
add esi, 0x46
cdq
idiv esi
add ecx, dword [ebp - 0x348]
add eax, ecx
mov dword [0x456b0c], eax
push 0x800
call fcn.00417430
add esp, 4
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x440], 1
jmp 0x43bb71
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
mov eax, dword [0x456b18]
add eax, 1
cmp dword [ebp - 0x440], eax
jge 0x43bbd9
mov ecx, dword [0x456b18]
add ecx, 1
push ecx
lea edx, [ebp - 0x208]
push edx
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVolumePathNameW]
test eax, eax
jne 0x43bba5
jmp 0x43bb62
push 0x32
lea ecx, [ebp - 0x438]
push ecx
lea edx, [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.DLL_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x43bbc1
jmp 0x43bb62
push 0x5c
lea eax, [ebp - 0x438]
push eax
call fcn.004018f0
add esp, 8
mov word [eax], 0
jmp 0x43bb62
mov ecx, dword [0x456b10]
imul ecx, dword [ebp - 0x33c]
test ecx, ecx
je 0x43bc45
movzx edx, word [ebp - 0x358]
mov dword [ebp - 0x448], edx
fild dword [ebp - 0x448]
fild dword [ebp - 0x37c]
push ecx
fstp dword [esp]
fstp qword [ebp - 0x450]
call fcn.00401fa0
add esp, 4
fsubr qword [ebp - 0x450]
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], 0
fild qword [ebp - 0x458]
fsubp st(1)
call fcn.0043fd20
mov dword [0x456b0c], eax
jmp 0x43bc65
movzx ecx, word [ebp - 0x358]
imul ecx, dword [0x456b10]
sub ecx, dword [0x456b0c]
add ecx, dword [ebp - 0x344]
mov dword [ebp - 0x344], ecx
movzx edx, byte [ebp - 0x230]
imul edx, dword [ebp - 0x378]
add edx, dword [0x456b20]
mov dword [0x456b0c], edx
mov al, byte [ebp - 0x399]
mov byte [ebp - 0x390], al
movzx ecx, word [0x456b0c]
mov dword [ebp - 0x45c], ecx
fild dword [ebp - 0x45c]
fild dword [0x456b24]
push ecx
fstp dword [esp]
fstp qword [ebp - 0x464]
call fcn.00401fa0
add esp, 4
fmul qword [ebp - 0x464]
movzx edx, byte [ebp - 0x388]
mov dword [ebp - 0x468], edx
fisub dword [ebp - 0x468]
movzx eax, word [0x456b18]
mov dword [ebp - 0x46c], eax
fiadd dword [ebp - 0x46c]
call fcn.0043fd20
mov dword [0x456b0c], eax
mov cl, byte [ebp + 8]
mov byte [ebp - 0x38f], cl
lea edx, [ebp - 0x208]
push edx
mov eax, dword [0x456b10]
push eax
mov ecx, dword [0x456b0c]
push ecx
mov edx, dword [0x456b20]
push edx
call dword [sym.imp.USER32.dll_AppendMenuW]
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0
je 0x43bd33
mov eax, dword [0x456b20]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x43bd42
mov ecx, dword [ebp - 0x344]
add ecx, 1
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x334]
sub edx, dword [ebp - 0x220]
add edx, dword [ebp - 0x38c]
cmp edx, 0x16
jle 0x43bd73
mov eax, dword [ebp + 0x10]
shl eax, 2
imul eax, dword [ebp - 0x374]
imul eax, dword [ebp - 0x334]
mov dword [ebp - 0x334], eax
fild dword [ebp - 0x37c]
call fcn.0043fc60
fimul dword [0x456b20]
fdiv qword [0x44c708]
movzx eax, word [ebp - 0x388]
cdq
mov ecx, 0x15
idiv ecx
mov dword [ebp - 0x470], eax
fild dword [ebp - 0x470]
faddp st(1)
movzx edx, word [ebp - 0x230]
mov dword [ebp - 0x474], edx
fild dword [ebp - 0x474]
faddp st(1)
movzx eax, byte [ebp - 0x338]
mov dword [ebp - 0x478], eax
fild dword [ebp - 0x478]
fsubp st(1)
movzx ecx, word [0x456b10]
mov dword [ebp - 0x47c], ecx
fild dword [ebp - 0x47c]
faddp st(1)
call fcn.0043fd20
mov dword [ebp - 0x384], eax
lea edx, [ebp - 0x208]
movzx eax, dx
lea ecx, [ebp - 0x208]
movzx edx, cx
add eax, dword [ebp - 0x2f6]
add edx, eax
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x480], 0
fild qword [ebp - 0x484]
fild dword [0x456b10]
fild dword [0x456b0c]
fxch st(2)
fstp qword [ebp - 0x48c]
fstp qword [ebp - 0x494]
call fcn.0043fb70
fmul qword [ebp - 0x494]
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], 0
fild qword [ebp - 0x49c]
fmulp st(1)
fadd qword [ebp - 0x48c]
call fcn.0043fd20
mov dword [0x456b10], eax
cmp dword [ebp + 0x10], 0
je 0x43be8d
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x38c]
mov dl, byte [ebp - 0x390]
mov byte [ecx], dl
jmp 0x43be9e
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x38c]
mov cl, byte [ebp - 0x38f]
mov byte [eax], cl
cmp dword [0x456b1c], 0
je 0x43beb4
movzx edx, word [ebp - 0x348]
mov dword [ebp - 0x358], edx
lea eax, [ebp - 0x208]
imul eax, dword [0x456b18]
movzx ecx, byte [ebp - 0x344]
sub eax, ecx
movzx edx, word [0x456b10]
sub eax, edx
sub eax, dword [ebp - 0x348]
add eax, dword [ebp - 0x224]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp - 0x220]
cmp dword [ebp - 0x398], eax
jne 0x43bf10
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 6
add ecx, dword [ebp - 0x398]
add ecx, dword [ebp - 0x220]
mov dword [ebp - 0x220], ecx
jmp 0x43bf2b
mov edx, dword [ebp - 0x398]
add edx, 2
sub edx, dword [ebp - 0x374]
add edx, dword [ebp - 0x220]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x36c]
sub eax, dword [ebp - 0x348]
movzx ecx, byte [0x456b18]
imul ecx, dword [0x456b24]
add eax, dword [ebp - 0x358]
add ecx, eax
add ecx, dword [0x456b0c]
mov dword [0x456b0c], ecx
movzx edx, byte [ebp - 0x358]
movzx eax, word [0x456b24]
sub edx, eax
mov dword [ebp - 0x4a0], edx
fild dword [ebp - 0x4a0]
fild dword [0x456b18]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x4a8]
call fcn.0043fa00
add esp, 8
fsubr qword [ebp - 0x4a8]
movzx ecx, byte [0x456b20]
mov dword [ebp - 0x4ac], ecx
fild dword [ebp - 0x4ac]
fsubp st(1)
fisubr dword [0x456b10]
call fcn.0043fd20
mov dword [0x456b10], eax
jmp 0x43b97c
pop esi
mov esp, ebp
pop ebp
ret 0xc