Function at 0x10027340
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003ec56
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x1004f0d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
push 2
push 0
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.10021d40
mov dword [ebp - 0x218], eax
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x224], edx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x224]
call fcn.1001c660
push eax
call fcn.10026be0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ec]
call fcn.100033c0
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
lea ecx, [ebp - 0x12c]
call fcn.10001d10
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x12c]
call fcn.1001d220
movzx ecx, al
test ecx, ecx
je 0x10027418
mov byte [ebp - 0x1ed], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.100033c0
mov al, byte [ebp - 0x1ed]
jmp 0x100277b8
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea edx, [ebp - 0x113]
push edx
call sub.MSVCR120.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x20
push ecx
call fcn.10027160
add esp, 0xc
push str.CUsbDiskMethod::MakeUsbDeviceParam
lea ecx, [ebp - 0x15c]
call fcn.10001d10
mov byte [ebp - 4], 2
push str.MusicUsbDeviceMgr.txt
lea ecx, [ebp - 0x144]
call fcn.10001d10
mov byte [ebp - 4], 3
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
push str.SerialNo:__s__FriendlyName:_s
lea ecx, [ebp - 0x15c]
push ecx
push 0
lea edx, [ebp - 0x144]
push edx
call dword [sym.imp.KwLog.dll_void___cdecl_YL_Log_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0x18
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x144]
call fcn.100033c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15c]
call fcn.100033c0
mov ecx, dword [ebp + 0xc]
call fcn.1001c660
push eax
push 0x10043a04
mov eax, dword [ebp + 8]
add eax, 0x124
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0xc
push 1
push 0
lea ecx, [ebp - 0x1bc]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.10021d40
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
call fcn.1001c660
push eax
push 0x100432b4
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0xc
lea ecx, [ebp - 0x1bc]
call fcn.100033c0
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c0], 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2d4], 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c8], 2
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
lea ecx, [ebp - 0x174]
call fcn.10001d10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x174]
push ecx
lea edx, [ebp - 0x1d4]
push edx
call dword [sym.imp.KwLib.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_KwLib::StringUtility::Str2Upper_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 8
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
push eax
lea ecx, [ebp - 0x12c]
call fcn.10015190
lea ecx, [ebp - 0x1d4]
call fcn.100033c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x174]
call fcn.100033c0
push 0
push str.ANDROID
lea ecx, [ebp - 0x12c]
call fcn.1001fa70
cmp eax, 0xffffffff
je 0x100275d0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2d8], 2
jmp 0x100275dd
mov edx, dword [ebp + 8]
mov dword [edx + 0x2d8], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x1f8], xmm0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x1f8]
push ecx
lea edx, [ebp - 0x200]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.1001c660
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x1002771b
push 0
push 0x400
mov eax, dword [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x1f8]
push ecx
call fcn.1003b3f0
mov ecx, eax
call fcn.1003b76e
mov edx, dword [ebp + 8]
movsd qword [edx + 0x2a8], xmm0
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1f4]
sbb ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x21c], 0
ja 0x1002769f
jb 0x10027691
cmp dword [ebp - 0x220], 0
jae 0x1002769f
xorpd xmm0, xmm0
movlpd qword [ebp - 0x208], xmm0
jmp 0x100276c3
mov edx, dword [ebp - 0x1f8]
sub edx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1f4]
sbb eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x204], eax
push 0
push 0x400
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0x208]
push edx
call fcn.1003b3f0
mov ecx, eax
call fcn.1003b76e
mov eax, dword [ebp + 8]
movsd qword [eax + 0x2b0], xmm0
push 0
push 0x400
mov ecx, dword [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0x210]
push edx
call fcn.1003b3f0
mov ecx, eax
call fcn.1003b76e
mov eax, dword [ebp + 8]
movsd qword [eax + 0x2b8], xmm0
push str.CUsbDiskMethod::MakeUsbDeviceParam
lea ecx, [ebp - 0x1a4]
call fcn.10001d10
mov byte [ebp - 4], 5
push str.MusicUsbDeviceMgr.txt
lea ecx, [ebp - 0x18c]
call fcn.10001d10
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2d8]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.1001c660
push eax
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
push str.SerialNo:__s__Driver:__s__Type:_d_DEVICE_STORE:0_DEVICE_MP3:1_
lea ecx, [ebp - 0x1a4]
push ecx
push 0
lea edx, [ebp - 0x18c]
push edx
call dword [sym.imp.KwLog.dll_void___cdecl_YL_Log_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0x1c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.100033c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a4]
call fcn.100033c0
mov byte [ebp - 0x1ee], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.100033c0
mov al, byte [ebp - 0x1ee]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003b334
mov esp, ebp
pop ebp
ret