Function at 0x48edb0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
push ebx
push esi
xor esi, esi
push 2
mov dword [esp + 0xc], esi
call fcn.0048e6a0
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x48f14f
push ebp
mov ebp, dword [esp + 0x20]
push edi
xor eax, eax
movsx edi, word [ebp + 0xc]
mov al, byte [ebp + 4]
mov dword [esp + 0x14], edi
sub eax, esi
je 0x48ef1f
sub eax, 2
jne 0x48f0dc
mov eax, dword [ebp + 8]
mov ecx, 0x67a8d0
lea edi, [eax + eax + 0x400]
mov dword [esp + 0x18], edi
call fcn.0047df60
cmp edi, eax
jae 0x48f0d2
mov ecx, dword [esp + 0x14]
lea esi, [ecx + ecx]
mov ecx, 0x67a8d0
mov dword [esp + 0x1c], esi
call fcn.0047df60
cmp esi, eax
jae 0x48f0d2
add edi, esi
mov ecx, 0x67a8d0
mov dword [esp + 0x14], edi
call fcn.0047df60
cmp edi, eax
ja 0x48f0d2
push esi
call fcn.00478e60
mov ecx, esi
mov esi, dword [esp + 0x2c]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebp
call fcn.004ca0e0
mov edi, dword [esp + 0x24]
mov ecx, ebp
push edi
call fcn.004ca020
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x80
jl 0x48eea6
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48eedb
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48eecc
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0xe6
jl 0x48eedb
push 0
call fcn.0046dfc0
add esp, 4
cmp eax, 3
jl 0x48eeed
mov eax, dword [esp + 0x14]
push eax
push ebx
call fcn.00494b30
mov ecx, eax
call fcn.004947f0
mov ecx, dword [esp + 0x18]
push 0
push ecx
push ebx
call dword [sym.imp.MSVCRT.dll__lseek]
mov esi, dword [esp + 0x28]
push esi
push edi
push ebx
call dword [sym.imp.MSVCRT.dll__write]
push esi
push edi
call fcn.00478eb0
add esp, 0x20
mov dword [esp + 0x10], 1
jmp 0x48f0dc
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x28]
mov esi, eax
and eax, 7
shr esi, 3
mov ecx, 0x67a8d0
add esi, 0x400
mov ebp, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0
call fcn.0047df60
cmp esi, eax
jae 0x48f0d2
mov ecx, 0x67a8d0
shr edi, 3
call fcn.0047df60
lea ecx, [edi + 1]
cmp ecx, eax
jae 0x48f0d2
mov ecx, 0x67a8d0
add edi, esi
call fcn.0047df60
lea edx, [edi + 1]
cmp edx, eax
ja 0x48f0d2
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x80
jl 0x48efa9
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48efde
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48efcf
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0xe6
jl 0x48efde
push 0
call fcn.0046dfc0
add esp, 4
cmp eax, 3
jl 0x48efec
push edi
push ebx
call fcn.00494b30
mov ecx, eax
call fcn.004947f0
push 0
push esi
mov esi, dword [sym.imp.MSVCRT.dll__lseek]
push ebx
call esi
mov edi, dword [sym.imp.MSVCRT.dll__read]
lea eax, [esp + 0x34]
push 4
push eax
push ebx
call edi
neg eax
push 1
push eax
push ebx
call esi
mov eax, dword [esp + 0x38]
add esp, 0x24
xor ecx, ecx
test eax, eax
jbe 0x48f0b3
xor eax, eax
jmp 0x48f029
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dl, byte [edx]
test byte [eax*4 + 0x67a8e4], dl
je 0x48f04b
mov eax, dword [ebp*4 + 0x67a8e4]
mov edx, dword [esp + 0x28]
or edx, eax
mov dword [esp + 0x28], edx
jmp 0x48f05e
mov edx, dword [ebp*4 + 0x67a8e4]
mov eax, dword [esp + 0x28]
not edx
and eax, edx
mov dword [esp + 0x28], eax
inc ecx
inc ebp
mov eax, ecx
mov dword [esp + 0x18], ecx
and eax, 0x80000007
jns 0x48f072
dec eax
or eax, 0xfffffff8
inc eax
mov dword [esp + 0x1c], eax
jne 0x48f07c
inc dword [esp + 0x24]
cmp ebp, 0x20
jne 0x48f0a9
lea eax, [esp + 0x28]
push 4
push eax
push ebx
call dword [sym.imp.MSVCRT.dll__write]
lea ecx, [esp + 0x34]
push 4
push ecx
push ebx
call edi
push 1
push 0xfffffffffffffffc
push ebx
call esi
mov ecx, dword [esp + 0x3c]
add esp, 0x24
xor ebp, ebp
cmp ecx, dword [esp + 0x14]
jb 0x48f025
test ebp, ebp
je 0x48f0c8
lea edx, [esp + 0x28]
push 4
push edx
push ebx
call dword [sym.imp.MSVCRT.dll__write]
add esp, 0xc
mov dword [esp + 0x10], 1
jmp 0x48f0dc
push 0xe
call fcn.004ab020
add esp, 4
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
pop edi
cmp eax, 0x80
pop ebp
jl 0x48f104
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48f139
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0x96
jl 0x48f12a
call fcn.00488f40
mov ecx, eax
call fcn.004752c0
cmp eax, 0xe6
jl 0x48f139
push 0
call fcn.0046dfc0
add esp, 4
cmp eax, 3
jl 0x48f145
call fcn.00489210
mov ecx, eax
call fcn.004891a0
mov eax, dword [esp + 8]
pop esi
pop ebx
add esp, 0x10
ret
mov eax, esi
pop esi
pop ebx
add esp, 0x10
ret