Function at 0x409300
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x46061b
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x480208]
xor eax, esp
mov dword [esp + 0x310], eax
push esi
push edi
mov eax, dword [0x480208]
xor eax, esp
push eax
lea eax, [esp + 0x320]
mov dword fs:[0], eax
call fcn.00423c6d
cmp dword [0x59e638], 0
mov edi, dword [eax + 4]
je 0x409549
mov dword [0x47e184], 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea eax, [esp + 0x14]
push 0x104
push eax
call fcn.004442a7
add esp, 0xc
cmp byte [esp + 0x10], 0x22
lea esi, [esp + 0x10]
jne 0x409380
lea esi, [esp + 0x11]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409385
sub eax, edx
cmp byte [esi + eax], 0x5c
je 0x40939f
sub eax, 1
cmp byte [esi + eax], 0x5c
jne 0x409396
push esi
lea ecx, [esp + 0x21c]
add eax, 1
push 0x104
push ecx
mov byte [esi + eax], 0
call fcn.004442a7
push str.Disk32.DLL
push 0x104
push esi
call fcn.004441ce
add esp, 0x18
push 0x104
lea edx, [esp + 0x118]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
lea eax, [esp + 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x49aae8], eax
jne 0x40948b
call fcn.0042b725
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409415
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 0x328], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x10]
push str.Disk32.DLL_not_found__ErrorCode_d
push ecx
call fcn.004033c0
mov esi, dword [esp + 0x18]
mov ecx, dword [edi + 0x20]
add esp, 0xc
push 0
push 0x465e4c
push esi
call fcn.004252d8
lea eax, [esi - 0x10]
mov dword [esp + 0x328], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x409484
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x409573
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ReadDisk32
push eax
call esi
test eax, eax
mov dword [0x49af9c], eax
jne 0x4094bc
mov ecx, dword [edi + 0x20]
push eax
push 0x465e4c
push str.ReadDisk32_Function_not_accessible_
call fcn.004252d8
xor eax, eax
jmp 0x409573
mov ecx, dword [0x49aae8]
push str.WriteDisk32
push ecx
call esi
test eax, eax
mov dword [0x49af90], eax
jne 0x4094ed
mov ecx, dword [edi + 0x20]
push eax
push 0x465e4c
push str.WriteDisk32_Function_not_accessible_
call fcn.004252d8
xor eax, eax
jmp 0x409573
mov edx, dword [0x49aae8]
push str.CheckInt13Extension32
push edx
call esi
test eax, eax
mov dword [0x49aaec], eax
jne 0x40951b
mov ecx, dword [edi + 0x20]
push eax
push 0x465e4c
push str.DllCheckInt13Extension_Function_not_accessible_
call fcn.004252d8
xor eax, eax
jmp 0x409573
mov eax, dword [0x49aae8]
push str.GetDeviceParam32
push eax
call esi
test eax, eax
mov dword [0x49af94], eax
jne 0x40956e
mov ecx, dword [edi + 0x20]
push 0x30
push 0x465e4c
push str.DllGetDrvParam_Function_not_accessible_
call fcn.004252d8
xor eax, eax
jmp 0x409573
call fcn.00408650
neg eax
sbb eax, eax
inc eax
mov dword [0x47e8e4], eax
je 0x40956e
mov ecx, dword [edi + 0x20]
push 0x30
push 0x465e4c
push str.User_does_not_have_administrator_privilege_to_access_all_drive_resource___
call fcn.004252d8
mov eax, 1
mov ecx, dword [esp + 0x320]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.00441a71
add esp, 0x320
ret