Function at 0x4bf610
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x28b0
call fcn.0051c710
push ebx
push esi
mov ebx, ecx
push edi
mov ecx, 0x9ff
xor eax, eax
lea edi, [esp + 0xbd]
mov byte [esp + 0xbc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, 0x584808
xor esi, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x28], eax
mov eax, dword [str._proc_partitions]
push esi
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], str.mmcblk0p1
mov dword [esp + 0x44], str.mmcblk0p2
mov dword [esp + 0x48], str.mmcblk0p3
mov dword [esp + 0x4c], str.mmcblk0p4
mov dword [esp + 0x50], str.mmcblk0p5
mov dword [esp + 0x54], str.mmcblk0p6
mov dword [esp + 0x58], str.mmcblk0p7
mov dword [esp + 0x5c], str.mmcblk0p8
mov dword [esp + 0x60], str.mmcblk2p1
mov dword [esp + 0x68], str.sda1
mov dword [esp + 0x6c], str.sdb1
mov dword [esp + 0x74], str.sda2
mov dword [esp + 0x78], str.sdb2
mov dword [esp + 0x80], str.sda3
mov dword [esp + 0x84], str.sdb3
mov dword [esp + 0x8c], str.sda4
mov dword [esp + 0x90], str.sdb4
mov dword [esp + 0x28], 0x579c70
mov dword [esp + 0x2c], 0x579c6c
mov dword [esp + 0x98], str._dev_sda1
mov dword [esp + 0x9c], str._dev_sdb1
mov dword [esp + 0xa4], str._dev_sda2
mov dword [esp + 0xa8], str._dev_sdb2
mov dword [esp + 0xb0], str._dev_sda3
mov dword [esp + 0xb4], str._dev_sdb3
mov dword [esp + 0xbc], str._dev_sda4
mov dword [esp + 0xc0], str._dev_sdb4
mov dword [esp + 0x34], str._dev_sda
mov dword [esp + 0x38], str._dev_sdb
call dword [sym.imp.MSVCRT.dll__open]
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x18], edi
jle 0x4bf9b6
lea ecx, [esp + 0xbc]
push 0x2800
push ecx
push edi
call dword [sym.imp.MSVCRT.dll__read]
add esp, 0xc
test eax, eax
jle 0x4bf993
lea edx, [esp + 0x38]
push ebp
mov ebp, 1
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xc0]
mov ebx, dword [eax]
push ebx
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x4bf856
xor edx, edx
mov ecx, 1
lea edi, [eax - 1]
movsx eax, byte [edi]
cmp eax, 0x30
jb 0x4bf81b
cmp eax, 0x39
ja 0x4bf81b
test edx, edx
jne 0x4bf812
mov edx, ecx
jmp 0x4bf81b
mov eax, ecx
sub eax, edx
cmp eax, 3
jge 0x4bf824
inc ecx
dec edi
cmp ecx, 8
jl 0x4bf7fd
jmp 0x4bf856
or esi, dword [0x659a34]
call fcn.0047de30
mov ecx, eax
call fcn.0049d440
test eax, eax
je 0x4bf842
push ebx
push str._dev__s
jmp 0x4bf848
push ebp
push str._dev_mmc_blk0_part_d
push 0x56ceb4
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc ebp
add ecx, 4
cmp ebp, 0xa
mov dword [esp + 0x10], ecx
jb 0x4bf7d7
xor edi, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], 1
mov ebp, 0x56ced4
mov ebx, 0x659a38
test dword [ebx], esi
jne 0x4bf8e7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xc0]
lea esi, [edi + ecx]
shl esi, 2
mov edx, dword [esp + esi + 0x60]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x4bf8e3
mov ecx, dword [ebx]
mov edi, dword [esp + 0x10]
or edi, ecx
or ecx, 0xffffffff
mov dword [esp + 0x10], edi
mov edi, dword [esp + esi + 0x90]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, 4
inc eax
add ebp, 0x20
cmp ebx, 0x659a40
mov dword [esp + 0x14], eax
jl 0x4bf887
add edi, 3
cmp edi, 0xc
mov dword [esp + 0x18], edi
jl 0x4bf875
mov ebp, 0x56ced4
xor ebx, ebx
test dword [ebx + 0x659a38], esi
jne 0x4bf968
mov eax, dword [esp + ebx + 0x24]
lea ecx, [esp + 0xc0]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x4bf968
mov edi, dword [ebx + 0x659a38]
or ecx, 0xffffffff
or esi, edi
mov edi, dword [esp + ebx + 0x30]
xor eax, eax
mov dword [esp + 0x10], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
add ebx, 4
add ebp, 0x20
cmp ebx, 8
jl 0x4bf915
mov edi, dword [esp + 0x1c]
pop ebp
push edi
call dword [sym.imp.MSVCRT.dll__close]
mov eax, dword [0x659a40]
add esp, 4
or eax, esi
pop edi
pop esi
pop ebx
add esp, 0x28b0
ret
mov eax, dword [ebx]
push edi
mov dword [esp + 0x10], eax
mov esi, eax
call dword [sym.imp.MSVCRT.dll__close]
mov eax, dword [0x659a40]
add esp, 4
or eax, esi
pop edi
pop esi
pop ebx
add esp, 0x28b0
ret
mov ecx, dword [ebx]
mov eax, dword [0x659a40]
mov esi, ecx
pop edi
or eax, esi
pop esi
mov dword [esp + 4], ecx
pop ebx
add esp, 0x28b0
ret