Function at 0x484e70
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push esi
mov esi, eax
xor ebx, ebx
push edi
test esi, esi
jne 0x484e8e
lea eax, [esi - 0x66]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0xc]
mov ecx, dword [esi]
push 0
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_fseek]
add esp, 0xc
test eax, eax
je 0x484eac
or ebx, 0xffffffff
jmp 0x484ed3
mov edi, dword [esi]
lea edx, [esp + 0x14]
push edx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x484ec4
or ebx, 0xffffffff
jmp 0x484ed3
cmp dword [esp + 0x14], 0x2014b50
je 0x484ed3
mov ebx, 0xffffff99
mov edi, dword [esi]
lea eax, [esp + 0x18]
push eax
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484ee9
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484eff
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x20]
push edx
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484f15
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x24]
push eax
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484f2b
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x28]
push ecx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x484f41
or ebx, 0xffffffff
mov ecx, dword [esp + 0x28]
mov edi, dword [esi]
mov eax, ecx
shr eax, 0x10
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x5c], edx
mov edx, eax
shr eax, 9
and eax, 0x7f
shr edx, 5
add eax, 0x7bc
and edx, 0xf
mov dword [esp + 0x64], eax
dec edx
mov eax, ecx
mov dword [esp + 0x60], edx
shr eax, 0xb
mov edx, ecx
and eax, 0x1f
mov dword [esp + 0x58], eax
shr edx, 5
and ecx, 0x1f
lea eax, [esp + 0x2c]
and edx, 0x3f
add ecx, ecx
push eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x484fa6
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x30]
push ecx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x484fbc
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x34]
push edx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x484fd2
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x38]
push eax
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484fe8
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x3c]
push ecx
call fcn.004849b0
add esp, 4
test eax, eax
je 0x484ffe
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x40]
push edx
call fcn.004849b0
add esp, 4
test eax, eax
je 0x485014
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x44]
push eax
call fcn.004849b0
add esp, 4
test eax, eax
je 0x48502a
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x48]
push ecx
call fcn.004849b0
add esp, 4
test eax, eax
je 0x485040
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x4c]
push edx
call fcn.00484a40
add esp, 4
test eax, eax
je 0x485056
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x14]
push eax
call fcn.00484a40
add esp, 4
test eax, eax
je 0x485076
or ebx, 0xffffffff
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
test ebx, ebx
jne 0x4850d1
test ebp, ebp
je 0x4850b0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
cmp eax, edx
jae 0x485091
mov byte [eax + ebp], bl
mov ecx, eax
jmp 0x485093
mov ecx, edx
test eax, eax
jbe 0x4850b0
test edx, edx
jbe 0x4850b0
mov edx, dword [esi]
push edx
push 1
push ecx
push ebp
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x485069
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4850c3
mov ecx, 0x14
lea esi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4850d1
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x5c
ret