Function at 0x4e62d0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x44
mov eax, dword [0x6d7160]
xor eax, esp
mov dword [esp + 0x3c], eax
push ebx
push ebp
push esi
push edi
mov edi, edx
test edi, edi
mov esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
jne 0x4e630a
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00607d6d
add esp, 0x44
ret
mov ecx, dword [edi + 0xc]
cmp ecx, dword [edi + 8]
ja 0x4e65e9
mov eax, dword [edi + 4]
add eax, ecx
mov ecx, dword [esi + 0x10]
cmp dword [ecx + 0x14], 0
je 0x4e639a
mov edx, dword [ecx + 0x1c]
cmp edx, eax
ja 0x4e632d
mov eax, edx
mov dword [ecx + 0x18], eax
mov ecx, dword [edi + 0xc]
add ecx, 2
cmp ecx, dword [edi + 8]
ja 0x4e65e9
mov esi, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4e63c5
mov eax, dword [esi + 0x1c]
mov ebx, 2
cmp eax, ebx
jb 0x4e635f
mov ecx, dword [esi + 0x18]
lea ebp, [ecx + 2]
cmp ebp, eax
jbe 0x4e636c
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4e65e9
add ecx, edx
push ebx
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0060d1b0
add dword [esi + 0x18], ebx
add esp, 0xc
cmp ebx, 2
je 0x4e63f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00607d6d
add esp, 0x44
ret
push 0
push eax
mov eax, dword [ecx + 4]
push eax
call fcn.006081d8
add esp, 0xc
test eax, eax
je 0x4e6330
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00607d6d
add esp, 0x44
ret
mov eax, dword [esi + 4]
push eax
push 1
lea ecx, [esp + 0x1c]
push 2
push ecx
call fcn.0060860a
add esp, 0x10
test eax, eax
jne 0x4e63f0
cmp dword [esi + 4], eax
jne 0x4e65e9
cmp dword [esi + 0xc], eax
jne 0x4e65e9
mov ax, word [esp + 0x14]
cmp ax, 0x3e8
movzx edx, ax
lea ecx, [edx + edx*2]
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x24], ecx
ja 0x4e65e9
mov esi, dword [edi + 8]
cmp ecx, esi
ja 0x4e65e9
mov eax, dword [edi + 0xc]
add ecx, eax
cmp ecx, esi
ja 0x4e65e9
test edx, edx
mov dword [edi + 0x10], ecx
mov ecx, dword [edi + 4]
lea ebp, [eax + ecx + 2]
mov dword [esp + 0x18], 0
jbe 0x4e6521
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4e64a4
mov eax, dword [esi + 0x1c]
mov ebx, 0xc
cmp eax, ebx
jb 0x4e646a
mov ecx, dword [esi + 0x18]
lea edi, [ecx + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x20]
jbe 0x4e6473
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4e648c
push ebx
add ecx, edx
push ecx
lea eax, [esp + 0x48]
push eax
call fcn.0060d1b0
add dword [esi + 0x18], ebx
add esp, 0xc
cmp ebx, 0xc
je 0x4e64df
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00607d6d
add esp, 0x44
ret
mov eax, dword [esi + 4]
test eax, eax
je 0x4e64c5
push eax
push 1
lea ecx, [esp + 0x48]
push 0xc
push ecx
call fcn.0060860a
add esp, 0x10
test eax, eax
je 0x4e64c5
xor esi, esi
jmp 0x4e64d5
cmp dword [esi + 4], 0
je 0x4e64d2
mov esi, 2
jmp 0x4e64d5
mov esi, dword [esi + 0xc]
test esi, esi
mov eax, esi
jne 0x4e65eb
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x40]
push edx
mov eax, ebp
mov ecx, edi
mov edx, ebx
call fcn.004eaba0
add ebp, 0xc
mov ecx, ebp
mov eax, ebx
call fcn.004e39f0
test eax, eax
jne 0x4e65eb
mov eax, dword [esp + 0x18]
movzx ecx, word [esp + 0x14]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4e6442
jmp 0x4e6525
mov ebx, dword [esp + 0x1c]
cmp dword [edi], 0
jne 0x4e65e9
mov edx, dword [ebx + 0xc]
shr edx, 9
test dl, 1
je 0x4e65e9
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 8]
lea edx, [ecx + 4]
cmp edx, eax
ja 0x4e65e9
mov edx, dword [edi + 0xc]
lea ecx, [edx + ecx + 4]
cmp ecx, eax
ja 0x4e65e9
mov esi, dword [ebx + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4e65fe
mov eax, dword [esi + 0x1c]
mov ebx, 4
cmp eax, ebx
jb 0x4e6582
mov ecx, dword [esi + 0x18]
lea ebp, [ecx + 4]
cmp ebp, eax
jbe 0x4e658b
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4e65e9
add ecx, edx
push ebx
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0060d1b0
add dword [esi + 0x18], ebx
add esp, 0xc
cmp ebx, 4
jne 0x4e65e9
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e65e9
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x34], eax
add eax, 2
lea esi, [esp + 0x28]
mov edi, ebx
mov dword [esp + 0x28], 0x18
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0x3c], 0
call fcn.004e3d00
test eax, eax
je 0x4e62f2
xor eax, eax
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00607d6d
add esp, 0x44
ret
mov eax, dword [esi + 4]
push eax
push 1
lea ecx, [esp + 0x20]
push 4
push ecx
call fcn.0060860a
add esp, 0x10
test eax, eax
jne 0x4e65a8
cmp dword [esi + 4], eax
jne 0x4e65e9
cmp dword [esi + 0xc], eax
jne 0x4e65e9
jmp 0x4e65a8