Function at 0x4282eb
Capabilities:
Get disk information
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1108
call fcn.0045e0d0
push esi
push edi
mov ecx, 0x19
mov esi, 0x463b7c
lea edi, [ebp - 0x504]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x19
mov esi, 0x463be0
lea edi, [ebp - 0x4a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
mov esi, 0x463c44
lea edi, [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x463c64]
mov word [ebp - 0x1c], ax
mov cl, byte [0x463c66]
mov byte [ebp - 0x1a], cl
mov edx, dword [0x463c68]
mov dword [ebp - 0x18], edx
mov eax, dword [0x463c6c]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x463c70]
mov dword [ebp - 0x10], ecx
mov edx, dword [0x463c74]
mov dword [ebp - 0xc], edx
mov al, byte [0x463c78]
mov byte [ebp - 8], al
mov word [ebp - 4], 0
mov cx, word [ebp + 8]
mov word [0x47213a], cx
mov edx, dword [ebp + 8]
and edx, 0xffff
cmp edx, 1
jne 0x4283a0
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0xd04]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
jmp 0x4283b4
lea edx, [ebp - 0x4a0]
push edx
lea eax, [ebp - 0xd04]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
mov byte [ebp - 0x1c], 0xd
mov byte [ebp - 0x1b], 0xa
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x43c]
push edx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x43c]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x43c]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push 0x463c7c
lea ecx, [ebp - 0x1108]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea edx, [ebp - 0x1108]
push edx
call dword [sym.imp.kernel32.dll_GetDriveTypeA]
mov dword [0x46c6f0], eax
cmp dword [0x46c6f0], 5
jne 0x42848c
lea eax, [ebp - 0x1108]
push eax
lea ecx, [ebp - 0x904]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
mov edx, dword [ebp + 8]
and edx, 0xffff
cmp edx, 1
jne 0x428452
push 0x463c80
lea eax, [ebp - 0x904]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
jmp 0x428464
push 0x463c8c
lea ecx, [ebp - 0x904]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea edx, [ebp - 0x904]
push edx
call fcn.004294e2
add esp, 4
and eax, 0xffff
mov dword [ebp - 0xd08], eax
cmp dword [ebp - 0xd08], 0
jne 0x42848c
jmp 0x4285cd
mov al, byte [ebp - 0x1108]
add al, 1
mov byte [ebp - 0x1108], al
mov word [ebp - 4], 0
mov ecx, dword [ebp - 4]
and ecx, 0xffff
test ecx, ecx
jne 0x4285c0
movsx edx, byte [ebp - 0x1108]
cmp edx, 0x5b
jne 0x4285c0
push 0x35
push 0x463c98
lea eax, [ebp - 0xd04]
push eax
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_MessageBoxA]
mov dword [0x46b3e0], eax
mov word [0x594b74], 0
mov word [0x594b78], 0
cmp dword [0x46b3e0], 2
jne 0x4285b9
push 0x24
push 0x463ca0
push 0x463ca8
mov edx, dword [0x592820]
push edx
call dword [sym.imp.user32.dll_MessageBoxA]
mov dword [0x46b3e0], eax
mov word [0x594b74], 0
mov word [0x594b78], 0
cmp dword [0x46b3e0], 6
je 0x42853b
jmp 0x4285b9
push 0x30
push 0x463cb8
push 0x463cc0
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
mov word [0x594b74], 0
mov word [0x594b78], 0
push 0x474278
push 0x4705d8
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x462210
push 0x4705d8
call dword [sym.imp.kernel32.dll_lstrcatA]
push 0x153a6
push 0x478428
push 0x4705d8
call fcn.004019f9
add esp, 0xc
push 0
push 0
push 2
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_PostMessageA]
push 0
call dword [sym.imp.kernel32.dll_ExitThread]
mov byte [ebp - 0x1108], 0x41
mov edx, 1
test edx, edx
jne 0x428401
lea eax, [ebp - 0x1108]
push eax
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
lea ecx, [ebp - 0x1108]
push ecx
push 0x4679e0
call dword [sym.imp.kernel32.dll_lstrcpyA]
pop edi
pop esi
mov esp, ebp
pop ebp
ret