Function at 0x484f49
Capabilities:
Unmount volume via ioctl

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp + 8]
imul eax, eax, 0x35
cmp dword [eax + 0x529224], 3
je 0x484f74
jmp 0x4851e1
push 0xa
push 0
lea ecx, [ebp - 0xc]
push ecx
call fcn.004a9cd0
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x522eec
lea eax, [ebp - 0xc]
push eax
call fcn.004aa1dd
add esp, 0xc
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x4e60
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + ecx + 0x26cd]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x24c5
push ecx
push str.POWER_OFF_then_ON
lea edx, [ebp - 0xc]
push edx
push 0x522f08
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x14]
push eax
call fcn.004938e0
add esp, 4
test eax, eax
jne 0x484fec
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4851e1
mov edx, 1
test edx, edx
je 0x484ffe
mov dword [ebp - 0x2c], 0
jmp 0x485012
mov eax, dword [ebp + 8]
push eax
push str._PowerOffAndOnToExitRDT_:_Power_off_ok.__port__d__r_n
call fcn.00410eb0
add esp, 8
mov dword [ebp - 0x2c], eax
push 1
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0049397e
add esp, 8
test eax, eax
jne 0x485033
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4851e1
mov eax, 1
test eax, eax
je 0x485045
mov dword [ebp - 0x30], 0
jmp 0x485059
mov ecx, dword [ebp + 8]
push ecx
push str._PowerOffAndOnToExitRDT_:_Power_on_ok.__port__d__r_n
call fcn.00410eb0
add esp, 8
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x28]
add edx, 0x24c5
push edx
push str.DETECT
lea eax, [ebp - 0xc]
push eax
push 0x522f80
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
push 0
push 0
push 0x90018
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
push 0
push 0x90020
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.0049bd9c
add esp, 8
mov dword [ebp - 0x10], eax
push 0
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
push 0
push 0
push 0x9001c
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
push 0
push 0x90028
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x10], 0
jne 0x485139
mov eax, 1
test eax, eax
je 0x485120
mov dword [ebp - 0x34], 0
jmp 0x485134
mov ecx, dword [ebp + 8]
push ecx
push str._PowerOffAndOnToExitRDT_:_5_shot_fail.__port__d__r_n
call fcn.00410eb0
add esp, 8
mov dword [ebp - 0x34], eax
jmp 0x4851e1
mov edx, 1
test edx, edx
je 0x48514b
mov dword [ebp - 0x38], 0
jmp 0x48515f
mov eax, dword [ebp + 8]
push eax
push str._PowerOffAndOnToExitRDT_:_5_shot_ok.__port__d__r_n
call fcn.00410eb0
add esp, 8
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x35
mov dword [ecx + 0x529224], 4
push 0xb1
push 0x32
push 0x80ffff
push 0x522ff0
push 1
push str.RDT_Finish
push 7
push 1
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x28]
call fcn.00468d7b
mov eax, dword [ebp + 8]
add eax, 2
push eax
mov ecx, dword [ebp - 0x28]
call fcn.00404910
mov ecx, dword [ebp + 8]
cmp dword [ecx*4 + 0x528dd8], 0
jle 0x4851e1
cmp dword [0x528db8], 0
je 0x4851d3
push 0
mov edx, dword [ebp + 8]
sub edx, 1
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xd0]
call fcn.004072c2
mov ecx, dword [ebp + 8]
mov dword [ecx*4 + 0x528dd8], 0
mov esp, ebp
pop ebp
ret 4