Function at 0x48ddd0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0xcc8]
mov eax, dword [esi + 0xccc]
sub edi, 8
mov ecx, dword [esi + 0xcd0]
add eax, 4
mov ebx, dword [esi + 0x86c]
add ecx, 4
test ebx, ebx
je 0x48de2d
push 0
push ecx
push ebx
call fcn.00525413
add esp, 0xc
test eax, eax
jne 0x48e08a
push ebx
push 4
lea eax, [ebp - 4]
push 1
push eax
call fcn.0052507e
add esp, 0x10
cmp eax, 4
sete al
jmp 0x48de7a
mov edx, dword [esi + 0x82c]
test edx, edx
je 0x48de4d
lea eax, [ebp - 4]
push eax
push 4
push 0
push ecx
push dword [esi + 0x804]
call edx
add esp, 0x14
jmp 0x48de75
mov ecx, dword [esi + 0x830]
test ecx, ecx
je 0x48e08a
test eax, eax
je 0x48e08a
lea edx, [ebp - 4]
push edx
push 4
push eax
push dword [esi + 0x804]
call ecx
add esp, 0x10
test eax, eax
setns al
test al, al
je 0x48e08a
push 0x4011f8
push dword [ebp - 4]
call fcn.00427398
push 0x4011f8
push edi
mov dword [ebp - 8], eax
call fcn.00427398
add esp, 0x10
mov ebx, eax
cmp dword [ebp - 8], 0
je 0x48e07e
test ebx, ebx
je 0x48e07e
mov eax, dword [esi + 0xccc]
mov ecx, dword [esi + 0xcd0]
add eax, 8
mov edx, dword [esi + 0x86c]
add ecx, 8
mov dword [ebp - 0x14], edx
test edx, edx
je 0x48defd
push 0
push ecx
push edx
call fcn.00525413
add esp, 0xc
test eax, eax
jne 0x48e08a
push dword [ebp - 0x14]
push edi
push 1
push ebx
call fcn.0052507e
add esp, 0x10
cmp eax, edi
sete al
jmp 0x48df42
mov edx, dword [esi + 0x82c]
test edx, edx
je 0x48df19
push ebx
push edi
push 0
push ecx
push dword [esi + 0x804]
call edx
add esp, 0x14
jmp 0x48df3d
mov ecx, dword [esi + 0x830]
test ecx, ecx
je 0x48e08a
test eax, eax
je 0x48e08a
push ebx
push edi
push eax
push dword [esi + 0x804]
call ecx
add esp, 0x10
test eax, eax
setns al
test al, al
je 0x48e08a
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
push ebx
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], edi
push eax
push dword [ebp - 8]
call fcn.004a3f80
cmp eax, 0xfffffffc
je 0x48e07e
cmp eax, 0xfffffffd
je 0x48e069
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 4]
jne 0x48e069
cmp dword [ebp - 0x10], edi
jne 0x48e069
test eax, eax
jne 0x48e08a
push ebx
call fcn.00426f44
push 0x4011f8
push 0x20
call fcn.00427917
add esp, 0xc
test eax, eax
je 0x48e07e
push 0x10000
mov ecx, eax
call fcn.0048ffc0
mov edi, eax
test edi, edi
je 0x48e07e
mov ecx, dword [edi]
push 0
push 0
push 0
push 0
push edi
call dword [ecx + 0x14]
test eax, eax
jne 0x48e08a
mov eax, dword [edi]
lea ecx, [ebp - 0x18]
mov ebx, dword [ebp - 8]
push ecx
push dword [ebp - 4]
push ebx
push edi
call dword [eax + 0x10]
test eax, eax
jne 0x48e08a
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 4]
jne 0x48e08a
push ebx
call fcn.00426f44
mov eax, dword [edi]
add esp, 4
push 0
push dword [ebp - 4]
push edi
call dword [eax + 0x18]
test eax, eax
jne 0x48e08a
lea eax, [esi + 0xcd4]
push eax
push 0x400
lea ebx, [esi + 4]
push ebx
push esi
push 0x41dc70
push edi
call fcn.004519f0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x48e044
xor edx, edx
xor ecx, ecx
jmp 0x48e04f
movzx ecx, word [ebx]
mov edx, dword [esi]
neg ecx
sbb ecx, ecx
and ecx, ebx
push ecx
push edx
push 0x40889c
mov ecx, esi
call fcn.0048eac0
test edi, edi
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esi], 0xd
pop edi
mov word [esi + 4], ax
xor al, al
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esi], 2
mov word [esi + 4], ax
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret