Function at 0x7ec595
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x18
push ebx
xor ebx, ebx
push edi
mov edi, dword [esp + 0x28]
mov eax, 0x5a
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
cmp edi, ebx
jne 0x7ec5bd
pop edi
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
mov ebp, dword [esp + 0x30]
push esi
cmp ebp, ebx
je 0x7ec927
mov esi, dword [esp + 0x38]
cmp esi, ebx
je 0x7ec927
push 8
push 0x100ffac0
push edi
call fcn.00890bd0
add esp, 0xc
test eax, eax
jne 0x7ec774
push 0x20
call dword [0x10140038]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x7ec689
push 0x20
push edi
push esi
push ebp
call fcn.007eb275
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0x20
push edi
push ebx
call fcn.007b1dc5
push edi
mov esi, eax
call dword [0x1014003c]
add esp, 0x28
test esi, esi
je 0x7ec63f
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
mov edx, dword [esp + 0x10]
push edx
push 0x100ffaa0
push ebx
call fcn.007ba905
mov edi, dword [esp + 0x3c]
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x7ec65b
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x10140038]
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x7ec696
mov eax, dword [esp + 0x10]
push eax
call dword [0x1014003c]
add esp, 4
pop esi
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x18
ret
push esi
push edi
push ebx
call fcn.008901e5
add esp, 0xc
mov esi, ebx
mov edi, edi
push 0x100ffa94
push esi
call fcn.00891555
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x7ec6bd
mov byte [ebp], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x7ec6c5
sub ecx, esi
mov edi, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jne 0x7ec71d
mov esi, dword [esp + 0x10]
cmp ecx, 4
jb 0x7ec6f9
lea esp, [esp]
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x7ec71d
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x7ec6e5
test ecx, ecx
je 0x7ec73f
mov al, byte [edx]
cmp al, byte [esi]
jne 0x7ec71d
cmp ecx, 1
jbe 0x7ec73f
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x7ec71d
cmp ecx, 2
jbe 0x7ec73f
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
je 0x7ec73f
test ebp, ebp
je 0x7ec747
push 0x100ffac0
push ebp
mov byte [ebp], 0x3b
call fcn.00891555
mov esi, eax
add esp, 8
test esi, esi
jne 0x7ec6a5
jmp 0x7ec747
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x10]
push edx
call dword [0x1014003c]
mov eax, dword [esp + 0x34]
push eax
mov dword [esp + 0x18], 0
call dword [0x1014003c]
mov eax, dword [esp + 0x1c]
add esp, 8
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
push 0x100f6854
push edi
call fcn.00890986
mov ebx, eax
add esp, 8
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x7ec797
pop esi
pop ebp
pop edi
lea eax, [ebx + 0x5a]
pop ebx
add esp, 0x18
ret
push 2
push 0
push ebx
call fcn.008920a1
add esp, 0xc
test eax, eax
jne 0x7ec8fc
push ebx
call fcn.00892960
push 0
push 0
push ebx
mov edi, eax
call fcn.008920a1
add esp, 0x10
test eax, eax
jne 0x7ec8fc
cmp edi, 0x100000
ja 0x7ec8fc
mov eax, edi
cdq
push edx
push eax
call fcn.0080c925
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x7ec8fc
lea ecx, [edi + 1]
push ecx
call dword [0x10140038]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x7ec8fc
push ebx
push 1
push edi
push eax
call fcn.008908ad
add esp, 0x10
cmp eax, 1
jne 0x7ec8fc
cmp esi, edi
jne 0x7ec887
mov ecx, dword [esp + 0x18]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x7ec84d
jmp 0x7ec835
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x7ec8fc
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x7ec835
test eax, eax
je 0x7ec87d
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x7ec8fc
cmp eax, 1
jbe 0x7ec87d
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x7ec8fc
cmp eax, 2
jbe 0x7ec87d
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x7ec8fc
mov dword [esp + 0x14], 0
jmp 0x7ec8fc
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
mov byte [edi + ebx], 0
call fcn.007ec4c5
add esp, 8
test eax, eax
jne 0x7ec8f8
cmp esi, dword [esp + 0x24]
jne 0x7ec8f8
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x7ec8cc
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x7ec8f8
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x7ec8b8
test eax, eax
je 0x7ec8f0
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x7ec8f8
cmp eax, 1
jbe 0x7ec8f0
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x7ec8f8
cmp eax, 2
jbe 0x7ec8f0
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x7ec8f8
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x1014003c]
mov edx, dword [esp + 0x20]
push edx
call dword [0x1014003c]
push ebx
mov dword [esp + 0x28], 0
call fcn.008905ef
mov eax, dword [esp + 0x20]
add esp, 0xc
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret