Function at 0x417000
Capabilities:
Get disk information

Disassembly:
sub esp, 0x210
cmp dword [0x43800c], 0x179c
mov byte [esp + 0x10c], 0
push ebx
push esi
push edi
push ebp
jne 0x417075
mov esi, dword [esp + 0x228]
lea eax, [esp + 0x18]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x18]
push 0x2f
push eax
call fcn.00420180
add esp, 8
test eax, eax
je 0x417049
mov byte [eax], 0x2e
jmp 0x417031
lea eax, [esp + 0x18]
push 0x5c
push eax
call fcn.00420180
add esp, 8
test eax, eax
je 0x417061
mov byte [eax], 0x2e
jmp 0x417049
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0041a8b0
add esp, 8
jmp 0x417223
lea eax, [esp + 0x14]
push 0
lea ecx, [esp + 0x14]
push 0
push eax
push ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x417139
cmp dword [esp + 0x10], 0xc
mov esi, dword [esp + 0x228]
jbe 0x417140
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, dword [esp + 0x10]
jae 0x417140
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x96
jge 0x417140
push 0x5c
push esi
call fcn.004202c0
add esp, 8
test eax, eax
jne 0x4170e8
push 0x2f
push esi
call fcn.004202c0
add esp, 8
test eax, eax
je 0x4170eb
lea esi, [eax + 1]
lea eax, [esp + 0x18]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x43800c], 0x177b
je 0x41710f
cmp dword [0x43800c], 0x177c
jne 0x417125
lea eax, [esp + 0x18]
push 0x3b
push eax
call fcn.004202c0
add esp, 8
test eax, eax
je 0x417125
mov byte [eax], 0
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0041a8b0
add esp, 8
jmp 0x417223
mov esi, dword [esp + 0x228]
cmp dword [0x43800c], 0x178d
jne 0x417157
push esi
call fcn.00416f90
add esp, 4
mov esi, eax
push 0x5c
push esi
call fcn.004202c0
add esp, 8
test eax, eax
jne 0x417175
push 0x2f
push esi
call fcn.004202c0
add esp, 8
test eax, eax
je 0x417178
lea esi, [eax + 1]
cmp byte [esi], 0
je 0x417188
cmp byte [esi], 0x2e
jne 0x417188
inc esi
cmp byte [esi], 0
jne 0x41717d
xor ecx, ecx
mov dl, byte [esi]
test dl, dl
je 0x4171af
cmp dl, 0x2e
je 0x4171af
cmp dl, 0x20
je 0x4171af
lea eax, [esp + ecx + 0x18]
inc esi
cmp dl, 0x3a
mov byte [eax], dl
jne 0x4171a9
mov byte [eax], 0x5f
inc ecx
cmp ecx, 8
jl 0x41718a
xor ebx, ebx
push 0x2e
mov byte [esp + ecx + 0x1c], bl
push esi
mov byte [esp + 0x124], bl
call fcn.00420180
add esp, 8
test eax, eax
jne 0x4171da
push 0x20
push esi
call fcn.00420180
add esp, 8
test eax, eax
je 0x4171dc
mov esi, eax
cmp byte [esi], 0
je 0x417223
mov al, byte [esi]
cmp al, 0x2e
je 0x4171eb
cmp al, 0x20
jne 0x4171f1
inc esi
cmp byte [esi], 0
jne 0x4171e1
cmp byte [esi], 0
je 0x417223
xor eax, eax
mov cl, byte [esi]
test cl, cl
je 0x41721b
cmp cl, 0x2e
je 0x41721b
cmp cl, 0x20
je 0x41721b
cmp cl, 0x3b
je 0x41721b
mov byte [esp + eax + 0x11c], cl
inc esi
inc eax
cmp eax, 0xa
jl 0x4171f8
mov byte [esp + eax + 0x11c], 0
cmp byte [esp + 0x11c], 0
jne 0x417248
lea eax, [esp + 0x18]
mov edi, dword [esp + 0x224]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x41728b
lea eax, [esp + 0x11c]
push 1
push eax
call fcn.0041a8b0
add esp, 8
test eax, eax
jne 0x417266
mov byte [esp + 0x11f], 0
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
mov edi, dword [esp + 0x224]
push eax
push ecx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push str._s._s
push edi
call esi
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4172d9
xor edx, edx
lea ebp, [edi + edx]
movsx ebx, byte [ebp]
sub ebx, 0x2a
cmp ebx, 0x52
ja case.0x4172af.47
xor ecx, ecx
mov cl, byte [ebx + 0x4173dc]
jmp dword [ecx*4 + 0x4173c4]
mov byte [ebp], 0x40
jmp case.0x4172af.47
mov byte [ebp], 0x7b
jmp case.0x4172af.47
mov byte [ebp], 0x7d
jmp case.0x4172af.47
mov byte [ebp], 0x24
jmp case.0x4172af.47
mov byte [ebp], 0x2b
inc edx
cmp eax, edx
jg 0x417298
jmp 0x4172f5
lea eax, [esp + 0x18]
push str.aaremote
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x42f80c], 0
je 0x4173b4
cmp byte [esp + 0x11c], 0
jne 0x417342
push 0x2e
push edi
call fcn.004202c0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x417342
lea eax, [esp + 0x18]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, ebx
lea ecx, [esp + 0x11c]
sub eax, edi
inc ebx
push ebx
push ecx
mov byte [esp + eax + 0x20], 0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebx, ebx
xor ebp, ebp
push ebx
push edi
call fcn.0042b790
add esp, 8
test eax, eax
jne 0x4173b4
cmp ebp, 0x63
jge 0x4173b4
cmp byte [esp + 0x11c], bl
jne 0x417375
lea eax, [esp + 0x18]
push ebp
push eax
push str._s._03u
push edi
call esi
add esp, 0x10
jmp 0x4173a5
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x18]
cmp eax, 5
lea eax, [esp + 0x11c]
push eax
push ebp
push ecx
jle 0x41739a
push str.__5.5s_03u._s
jmp 0x41739f
push str._s_03u._s
push edi
call esi
add esp, 0x14
inc ebp
push ebx
push edi
call fcn.0042b790
add esp, 8
test eax, eax
je 0x417354
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x210
ret