Function at 0x452c57
Capabilities:
Get disk information

Disassembly:
mov eax, 0x6c4299
call fcn.006b9c3c
sub esp, 0x1b0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x28], esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 1
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov byte [ebp - 4], 2
push dword [edx]
call dword [sym.imp.KERNEL32.DLL_GetDriveTypeW]
dec eax
sub eax, 1
je 0x452e47
sub eax, 1
je 0x452dd1
sub eax, 1
je 0x452d8a
sub eax, 1
je 0x452d39
sub eax, 1
push ecx
je 0x452cfd
lea ecx, [ebp - 0xe8]
call fcn.00498468
mov edx, eax
mov dword [ebp - 0x18], edx
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
push 0x7f
pop edi
cmp ecx, 0xd
jae 0x452dc9
push 0x72
pop eax
sub eax, dword [edx + ecx*4 + 0x10]
imul eax, eax, 0x2d
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov eax, dword [ebp - 0x18]
mov byte [eax + ecx], dl
inc ecx
mov dword [ebp - 0x2c], ecx
mov edx, eax
jmp 0x452cd3
lea ecx, [ebp - 0x12c]
call fcn.004984ca
mov dword [ebp - 0x18], eax
mov ecx, ebx
push 0x7f
pop edi
mov dword [ebp - 0x30], ecx
cmp ecx, 0xd
jae 0x452d34
mov eax, dword [eax + ecx*4 + 0x10]
sub eax, 0x31
imul eax, eax, 0x37
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov eax, dword [ebp - 0x18]
mov byte [eax + ecx], dl
inc ecx
jmp 0x452d10
mov byte [eax + 0xd], bl
jmp 0x452d84
xor eax, eax
lea edi, [ebp - 0x70]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
movaps xmm0, xmmword [0x747350]
movups xmmword [ebp - 0x64], xmm0
movaps xmm0, xmmword [0x749020]
movups xmmword [ebp - 0x54], xmm0
mov ecx, ebx
push 0x7f
pop edi
mov dword [ebp - 0x34], ecx
cmp ecx, 8
jae 0x452d7e
push 0x57
pop eax
sub eax, dword [ebp + ecx*4 - 0x64]
imul eax, eax, 0x24
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov byte [ebp + ecx - 0x70], dl
inc ecx
jmp 0x452d5c
mov byte [ebp - 0x68], bl
lea eax, [ebp - 0x70]
push eax
jmp 0x452e8d
push ecx
lea ecx, [ebp - 0x170]
call fcn.0049852b
mov edx, eax
mov dword [ebp - 0x18], edx
mov ecx, ebx
mov dword [ebp - 0x38], ecx
push 0x7f
pop edi
cmp ecx, 0xd
jae 0x452dc9
push 0x36
pop eax
sub eax, dword [edx + ecx*4 + 0x10]
imul eax, eax, 0x2c
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov eax, dword [ebp - 0x18]
mov byte [ecx + eax], dl
inc ecx
mov dword [ebp - 0x38], ecx
mov edx, eax
jmp 0x452da3
mov byte [edx + 0xd], bl
jmp 0x452e8c
push ecx
lea ecx, [ebp - 0xa4]
call fcn.004985fa
mov edx, eax
mov dword [ebp - 0x18], edx
mov eax, ebx
mov dword [ebp - 0x20], eax
push 0x7f
pop edi
cmp eax, 0xa
jae 0x452e13
push 0x45
pop ecx
sub ecx, dword [edx + eax*4 + 0xc]
imul eax, ecx, 0x1a
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], dl
inc eax
mov dword [ebp - 0x20], eax
mov edx, ecx
jmp 0x452dea
mov byte [edx + 0xa], bl
push edx
mov ecx, esi
call fcn.00411aae
mov dword [ebp - 0x1c], 1
mov byte [ebp - 4], 1
test ebx, ebx
je 0x452e34
mov ecx, ebx
call fcn.0040f5b8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.0049858c
mov edx, eax
mov dword [ebp - 0x18], edx
mov eax, ebx
mov dword [ebp - 0x24], eax
push 0x7f
pop edi
cmp eax, 0xe
jae 0x452e89
push 0x6a
pop ecx
sub ecx, dword [edx + eax*4 + 0x10]
imul eax, ecx, 0x23
cdq
idiv edi
lea eax, [edi + edx]
cdq
idiv edi
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax], dl
inc eax
mov dword [ebp - 0x24], eax
mov edx, ecx
jmp 0x452e60
mov byte [edx + 0xe], bl
push edx
mov ecx, esi
call fcn.00411aae
jmp 0x452e1e