Function at 0x4bfd45
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov dword [ebp + 0xc], eax
cmp esi, ebx
je 0x4bff67
cmp byte [esi + 0x5c], 0x72
jne 0x4bff67
mov ecx, dword [esi + 0x38]
cmp ecx, 0xfffffffd
je 0x4bff62
cmp ecx, 0xffffffff
je 0x4bff62
xor edi, edi
inc edi
cmp ecx, edi
jne 0x4bfd8d
xor eax, eax
jmp 0x4bff6a
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
cmp ecx, ebx
je 0x4bfeb4
cmp dword [esi + 0x6c], 0xffffffff
je 0x4bfeb4
mov cl, byte [esi + 0x6c]
mov byte [eax], cl
or dword [esi + 0x6c], 0xffffffff
inc eax
inc dword [esi + 0xc]
dec dword [esi + 0x10]
inc dword [esi + 0x68]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
cmp dword [esi + 0x70], ebx
je 0x4bfeb4
mov dword [esi + 0x38], edi
mov eax, edi
jmp 0x4bff6a
cmp dword [esi + 0x58], ebx
jne 0x4bfec8
cmp dword [esi + 4], ebx
jne 0x4bfe28
cmp dword [esi + 0x3c], ebx
jne 0x4bfe28
call fcn.004aec55
mov dword [eax], ebx
push dword [esi + 0x40]
xor edi, edi
push 0x4000
inc edi
push edi
push dword [esi + 0x44]
call fcn.004c53e2
add esp, 0x10
mov dword [esi + 4], eax
cmp eax, ebx
jne 0x4bfe23
push dword [esi + 0x40]
mov dword [esi + 0x3c], edi
call fcn.004c510e
pop ecx
test eax, eax
jne 0x4bff2b
mov eax, dword [esi + 0x44]
mov dword [esi], eax
mov eax, dword [esi + 4]
add dword [esi + 0x64], eax
mov eax, dword [esi + 0x10]
add dword [esi + 0x68], eax
push ebx
push esi
call fcn.004c18a6
pop ecx
pop ecx
mov ecx, dword [esi + 4]
sub dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x10]
sub dword [esi + 0x68], ecx
mov dword [esi + 0x38], eax
cmp eax, 1
jne 0x4bfea6
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [esi + 0x4c]
call fcn.004c2da1
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
add esp, 0xc
mov eax, esi
call fcn.004bfa4b
cmp eax, dword [esi + 0x4c]
jne 0x4bfebf
mov eax, esi
call fcn.004bfa4b
mov eax, esi
call fcn.004bf702
cmp dword [esi + 0x38], ebx
jne 0x4bff2f
push esi
call fcn.004c1695
push ebx
push ebx
push ebx
call fcn.004c2da1
add esp, 0x10
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x38], ebx
jne 0x4bff2f
cmp dword [esi + 0x3c], ebx
jne 0x4bff2f
cmp dword [esi + 0x10], ebx
jne 0x4bfdd7
jmp 0x4bff2f
mov dword [esi + 0x38], 0xfffffffd
jmp 0x4bff2f
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
cmp edi, eax
jbe 0x4bfed4
mov edi, eax
cmp edi, ebx
jbe 0x4bfef7
push edi
push dword [esi]
push dword [esi + 0xc]
call fcn.004acac0
add dword [ebp + 8], edi
mov eax, dword [ebp + 8]
add dword [esi], edi
sub dword [esi + 0x10], edi
add esp, 0xc
sub dword [esi + 4], edi
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
cmp eax, ebx
jbe 0x4bff12
push dword [esi + 0x40]
push eax
push 1
push dword [ebp + 8]
call fcn.004c53e2
add esp, 0x10
sub dword [esi + 0x10], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x10]
add dword [esi + 0x64], eax
add dword [esi + 0x68], eax
cmp eax, ebx
jne 0x4bff6a
mov dword [esi + 0x3c], 1
jmp 0x4bff6a
or dword [esi + 0x38], 0xffffffff
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [esi + 0x4c]
call fcn.004c2da1
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ecx
jne 0x4bff5e
mov esi, dword [esi + 0x38]
cmp esi, 0xfffffffd
je 0x4bff62
cmp esi, 0xffffffff
je 0x4bff62
sub eax, ecx
jmp 0x4bff6a
or eax, 0xffffffff
jmp 0x4bff6a
push 0xfffffffffffffffe
pop eax
pop edi
pop esi
pop ebx
pop ebp
ret