Function at 0x47713a
Capabilities:
Get disk information

Disassembly:
mov eax, 0x4ac042
call fcn.004a8204
sub esp, 0xbc
push ebx
push esi
push edi
lea eax, [ebp - 0xc8]
xor edi, edi
push eax
mov ebx, ecx
mov dword [ebp - 0x10], edi
call fcn.00401e4b
mov dword [ebp - 0x50], edi
mov dword [ebp - 4], edi
mov eax, dword [ebp + 8]
push dword [eax]
lea ecx, [ebp - 0xc8]
call fcn.0040975e
test eax, eax
je 0x477724
mov eax, str.packet
lea esi, [ebp - 0xc8]
call fcn.004097d9
test eax, eax
je 0x477724
lea eax, [ebx + 4]
push eax
mov dword [ebp - 0x18], eax
push str.tid1
mov eax, esi
call fcn.0040990b
lea eax, [ebx + 8]
push eax
mov dword [ebp - 0x28], eax
push str.tid2
mov eax, esi
call fcn.0040990b
lea eax, [ebx + 0xc]
push eax
mov dword [ebp - 0x30], eax
push str.tod1
mov eax, esi
call fcn.0040990b
lea eax, [ebx + 0x10]
push eax
mov dword [ebp - 0x2c], eax
push str.tod2
mov eax, esi
call fcn.0040990b
lea eax, [ebx + 0x14]
push eax
push 0x4c0cc4
mov eax, esi
call fcn.0040990b
lea eax, [ebx + 0x18]
push eax
push 0x4c0cc8
mov eax, esi
call fcn.0040990b
lea eax, [ebp - 0x44]
push eax
push 0x4c0ccc
mov eax, esi
mov dword [ebp - 0x44], edi
call fcn.0040990b
test eax, eax
je 0x47721f
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x1c], eax
push str.uidreg
lea eax, [ebp - 0xc8]
lea ecx, [ebx + 0x38]
push eax
call fcn.00409939
push 0x4be968
lea eax, [ebp - 0xc8]
lea ecx, [ebx + 0x3c]
push eax
call fcn.00409939
push str.rcmdid
lea eax, [ebp - 0xc8]
lea ecx, [ebx + 0x40]
push eax
call fcn.00409939
lea eax, [ebp - 0x3c]
push eax
push str.ignorepackname
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x3c], edi
call fcn.0040990b
mov eax, dword [0x4db1bc]
mov esi, 0x4db1bc
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x3c], edi
mov dword [ebp + 8], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], edi
jne 0x47730a
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0045b6c9
add esp, 0x20
test eax, eax
je 0x47730a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
cmp eax, edi
je 0x4772ff
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x14]
jmp 0x47732b
call fcn.0047788e
test eax, eax
je 0x47732e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov dword [eax], 0x834
xor eax, eax
inc eax
mov dword [ecx], eax
mov dword [ebx + 0x44], 2
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 0xc], edi
je 0x477343
lea edi, [ebx + 0x4c]
lea eax, [ebp - 0x20]
call fcn.0040520c
xor edi, edi
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, dword [edi + 0x4da2dc]
je 0x47735a
add edi, 4
cmp edi, 0x24
jb 0x477348
jmp 0x477368
mov dword [ebx + 0x48], 1
mov dword [ebx + 0x44], 2
lea edi, [ebx + 0x20]
push 0x4be730
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x4773a3
push 0x4be730
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4be73c
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x4773db
push 0x4be73c
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4be748
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x477413
push 0x4be748
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4be754
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x47744b
push 0x4be754
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4be728
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x477481
push 0x4be728
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 8]
pop ecx
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4bfccc
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x4774b7
push 0x4bfccc
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
mov dword [ebx + 0x18], eax
mov eax, dword [ebp + 8]
pop ecx
add eax, 0xfffffff0
call fcn.00405bdc
push 0x4be068
mov eax, edi
call fcn.00476f5b
test eax, eax
jne 0x4774d7
push 0x4b98b0
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x4774de
mov dword [ebx + 0x18], 0x24f
push str.atrm
mov eax, edi
call fcn.00476f5b
test eax, eax
je 0x477514
push str.atrm
lea eax, [ebp + 8]
push eax
mov eax, edi
call fcn.00465c2f
push dword [eax]
call fcn.0047af23
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
pop ecx
add eax, 0xfffffff0
call fcn.00405bdc
mov eax, dword [ebx + 0x3c]
cmp dword [eax - 0xc], 0
je 0x477572
mov eax, dword [ebx + 0x38]
cmp dword [eax - 0xc], 0
je 0x477572
call fcn.0045501d
mov dword [ebp + 8], eax
lea edi, [eax + 4]
lea eax, [ebx + 0x3c]
call fcn.0040520c
mov edi, dword [ebp + 8]
add edi, 8
lea eax, [ebx + 0x38]
call fcn.0040520c
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 1
call fcn.0045501d
cmp dword [eax + 0xc], 0
je 0x477572
lea ecx, [ebp + 8]
push ecx
mov ecx, eax
call fcn.00455133
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
mov edi, 0x4c0d00
push edi
lea eax, [ebx + 0x20]
call fcn.00476f5b
test eax, eax
je 0x4775ff
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebx + 0x20]
call fcn.00465c2f
lea edi, [ebx + 0x50]
mov byte [ebp - 4], 2
call fcn.0040520c
mov byte [ebp - 4], 1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
mov eax, dword [edi]
push 3
pop ecx
cmp dword [eax - 0xc], ecx
jl 0x4775d8
lea edx, [ebp - 0x24]
mov eax, edi
call fcn.00406859
push dword [eax]
mov dword [ebp - 0x10], 1
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
mov byte [ebp + 0xb], 1
jne 0x4775dc
mov byte [ebp + 0xb], 0
test byte [ebp - 0x10], 1
je 0x4775ed
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.00405bdc
cmp byte [ebp + 0xb], 0
je 0x4775ff
mov esi, edi
call fcn.00405e17
mov esi, 0x4db1bc
mov eax, dword [ebx + 0x18]
cmp eax, 1
je 0x47760e
cmp eax, 0x24f
jne 0x477615
mov dword [ebx + 0x44], 2
mov eax, dword [0x4db1bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 3
mov eax, dword [0x4db1bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
mov eax, dword [0x4db1bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 5
mov eax, dword [0x4db1bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
lea eax, [ebp - 0x10]
push eax
push 0x4be730
mov byte [ebp - 4], 6
call fcn.0045501d
push eax
call fcn.004555e7
lea eax, [ebp - 0x14]
push eax
push 0x4be73c
call fcn.0045501d
push eax
call fcn.004555e7
lea eax, [ebp - 0x1c]
push eax
push 0x4be748
call fcn.0045501d
push eax
call fcn.004555e7
lea eax, [ebp + 8]
push eax
push 0x4be754
call fcn.0045501d
push eax
call fcn.004555e7
mov esi, dword [ebp - 0x10]
cmp dword [esi - 0xc], 0
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
je 0x4776f6
push esi
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x18]
push edi
mov dword [ecx], eax
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x28]
push ebx
mov dword [ecx], eax
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x30]
push dword [ebp + 8]
mov dword [ecx], eax
call fcn.0047af23
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.00405bdc
lea eax, [ebx - 0x10]
call fcn.00405bdc
lea eax, [edi - 0x10]
call fcn.00405bdc
lea eax, [esi - 0x10]
call fcn.00405bdc
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00405bdc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.004015ae
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4