Function at 0x47544f
Capabilities:
Get disk information

Disassembly:
lea ecx, [ebp + 0x5c]
call 0x4b26f5
mov esi, dword [ebp + 0x5c]
cmp word [esi], 0x2a
jne 0x47546a
cmp word [esi + 2], bx
mov byte [ebp + 0x67], 1
je 0x47546d
mov byte [ebp + 0x67], bl
lea ecx, [ebp - 0x14]
call 0x4b25ef
cmp byte [ebp + 0x67], bl
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
jne 0x47548d
push 0xffffffffffffffff
push dword [ebp + 0x40]
lea ecx, [ebp - 0x14]
call 0x4b272b
mov eax, dword [ebp + 0x78]
cmp eax, ebx
mov dword [ebp + 0x28], ebx
je 0x47549b
mov edi, dword [eax]
jmp 0x47549d
xor edi, edi
cmp word [esi], bx
mov dword [ebp + 0x54], edi
jne 0x4754c0
cmp edi, ebx
je 0x4754c0
mov ecx, dword [ebp + 0x60]
mov cx, word [ecx + 0x5a]
cmp cx, word [edi]
jne 0x4754c0
mov ecx, dword [ebp + 0x60]
push ebx
push ebx
push eax
call 0x4b1a95
push 0x32a
lea ecx, [ebp + 0x1c]
call 0x4b2665
mov eax, dword [ebp + 0x1c]
add eax, 4
mov dword [ebp + 0x30], eax
mov eax, dword [ebp + 0x60]
and word [eax + 0x88], 0x8b
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0xc], ebx
jne 0x47550d
cmp edi, ebx
je 0x47550d
mov ecx, dword [ebp + 0x60]
mov cx, word [ecx + 0x5a]
cmp cx, word [edi]
mov dword [ebp + 0x34], 0x100
je 0x475510
mov dword [ebp + 0x34], ebx
mov ecx, dword [ebp + 0x40]
cmp word [ecx], bx
je 0x475529
cmp ax, bx
jne 0x475529
cmp dword [ebp + 0x34], ebx
mov dword [ebp + 0x10], 1
je 0x47552c
mov dword [ebp + 0x10], ebx
mov eax, dword [ebp + 0x58]
mov esi, dword [ebp + 0x4c]
and eax, 4
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x70], esi
mov dword [ebp - 0x48], eax
je 0x4755aa
mov edi, 0x4c1b94
push edi
call dword [0x4a64f0]
mov ecx, dword [ebp + 0x60]
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x4c]
call fcn.00487aa8
cmp eax, ebx
jne 0x475591
push edi
mov dword [ebp + 0xc], 2
call dword [0x4a64f4]
mov ecx, dword [ebp + 0x60]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x67], bl
je 0x4759d7
push dword [ebp - 0x14]
push dword [ebp + 0x40]
call 0x4b1fe0
jmp 0x4759eb
add al, 0
invalid
push 0xffffffffffffffff
push dword [eax]
lea ecx, [ebp + 0x14]
call 0x4b283b
mov esi, dword [ebp + 0x14]
push edi
mov dword [ebp + 0x70], esi
call dword [0x4a64f4]
test byte [ebp + 0x58], 2
je 0x47568c
mov dword [ebp + 0x24], ebx
jmp 0x47567b
mov eax, dword [ebp + 0x60]
test byte [eax + 0x88], 0xef
jne 0x475684
cmp word [ebp + 0x3c], bx
mov dword [ebp + 0x78], esi
lea eax, [ebp + 0x70]
je 0x4755e3
push dword [ebp + 0x3c]
call fcn.004872da
pop ecx
jmp 0x4755e8
call 0x4b23e4
push dword [ebp + 0x78]
mov esi, dword [ebp + 0x70]
mov di, word [esi]
push dword [ebp + 0x40]
mov ecx, dword [ebp + 0x60]
mov word [esi], bx
call 0x4b2053
cmp word [ebp + 0x3c], bx
jne 0x475617
cmp di, 0xd
jne 0x475617
cmp word [esi + 2], 0xa
jne 0x47561c
add esi, 4
jmp 0x47561e
cmp di, bx
je 0x475621
inc esi
inc esi
mov dword [ebp + 0x70], esi
inc dword [ebp + 0x38]
cmp dword [ebp + 0x34], ebx
je 0x475649
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x60]
add eax, 2
push 0x4a69d4
mov dword [ebp + 0x28], eax
sub byte [ebx - 0x73], dl
inc ebp
sub byte [eax - 1], dl
jne 0x4756b6
call str.V8
jmp 0x475661
mov eax, dword [ebp + 0x5c]
cmp word [eax], bx
je 0x475661
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x74]
push eax
call fcn.004a1ac9
mov ecx, dword [ebp + 0x60]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x47567b
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp word [esi], bx
jne 0x4755bc
lea ecx, [ebp + 0x24]
jmp 0x4757b5
cmp dword [ebp - 0x1c], ebx
je 0x4757bf
cmp dword [ebp - 0x48], ebx
je 0x4756a7
lea eax, [ebp + 0x70]
push eax
call 0x4ac904
mov esi, dword [ebp + 0x70]
pop ecx
mov dword [ebp + 0x78], ebx
jmp 0x4757a6
mov ecx, dword [ebp + 0x60]
test byte [ecx + 0x88], 0xef
jne 0x4757b2
mov ecx, dword [ebp + 0x44]
cmp ecx, ebx
mov edi, esi
mov dword [ebp + 0x30], ebx
je 0x47570f
cmp ax, 0x22
jne 0x47570f
lea eax, [ecx - 1]
lea edi, [esi + eax*2]
jmp 0x4756f3
cmp ax, 0x22
jne 0x4756f3
xor eax, eax
mov ax, word [esi + 2]
cmp ax, bx
je 0x475702
call 0x4ac918
test al, al
jne 0x475702
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x4756d9
jmp 0x47571c
inc esi
lea eax, [ecx - 1]
inc esi
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x70], esi
jmp 0x47571c
lea eax, [ebp + 0x70]
push eax
call int.00479c86
mov esi, dword [ebp + 0x70]
pop ecx
mov eax, dword [ebp + 0x30]
add eax, eax
sub esi, eax
sub esi, edi
sar esi, 1
push esi
push edi
lea ecx, [ebp + 0x78]
call 0x4b29cf
lea eax, [ebp + 0x70]
push eax
call 0x4ac99b
pop ecx
push dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x40]
call 0x4b219d
inc dword [ebp + 0x38]
cmp dword [ebp + 0x34], ebx
je 0x475771
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x60]
add eax, 2
push 0x4a69d4
dec edx
add byte [ecx - 0x72acd7bb], cl
inc ebp
sub byte [eax - 1], dl
jne 0x4757de
call 0x4e2618
jmp 0x475789
mov eax, dword [ebp + 0x5c]
cmp word [eax], bx
je 0x475789
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x74]
push eax
call fcn.004a1bf1
invalid
mov ecx, dword [ebp + 0x60]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x4757a3
and ax, 0xfeff
mov word [ecx + 0x88], ax
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, bx
invalid