Function at 0x4df4b0
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 0x4df4ea
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 0x4df7c9
mov eax, dword [edi + 4]
add eax, ecx
mov ecx, dword [esi + 0x10]
cmp dword [ecx + 0x14], 0
je 0x4df57a
mov edx, dword [ecx + 0x1c]
cmp edx, eax
ja 0x4df50d
mov eax, edx
mov dword [ecx + 0x18], eax
mov ecx, dword [edi + 0xc]
add ecx, 2
cmp ecx, dword [edi + 8]
ja 0x4df7c9
mov esi, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4df5a5
mov eax, dword [esi + 0x1c]
mov ebx, 2
cmp eax, ebx
jb 0x4df53f
mov ecx, dword [esi + 0x18]
lea ebp, [ecx + 2]
cmp ebp, eax
jbe 0x4df54c
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4df7c9
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 0x4df5d0
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 0x4df510
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 0x4df5d0
cmp dword [esi + 4], eax
jne 0x4df7c9
cmp dword [esi + 0xc], eax
jne 0x4df7c9
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 0x4df7c9
mov esi, dword [edi + 8]
cmp ecx, esi
ja 0x4df7c9
mov eax, dword [edi + 0xc]
add ecx, eax
cmp ecx, esi
ja 0x4df7c9
test edx, edx
mov dword [edi + 0x10], ecx
mov ecx, dword [edi + 4]
lea ebp, [eax + ecx + 2]
mov dword [esp + 0x18], 0
jbe 0x4df701
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4df684
mov eax, dword [esi + 0x1c]
mov ebx, 0xc
cmp eax, ebx
jb 0x4df64a
mov ecx, dword [esi + 0x18]
lea edi, [ecx + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x20]
jbe 0x4df653
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4df66c
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 0x4df6bf
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 0x4df6a5
push eax
push 1
lea ecx, [esp + 0x48]
push 0xc
push ecx
call fcn.0060860a
add esp, 0x10
test eax, eax
je 0x4df6a5
xor esi, esi
jmp 0x4df6b5
cmp dword [esi + 4], 0
je 0x4df6b2
mov esi, 2
jmp 0x4df6b5
mov esi, dword [esi + 0xc]
test esi, esi
mov eax, esi
jne 0x4df7cb
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x40]
push edx
mov eax, ebp
mov ecx, edi
mov edx, ebx
call fcn.004e3a30
add ebp, 0xc
mov ecx, ebp
mov eax, ebx
call fcn.004e39f0
test eax, eax
jne 0x4df7cb
mov eax, dword [esp + 0x18]
movzx ecx, word [esp + 0x14]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4df622
jmp 0x4df705
mov ebx, dword [esp + 0x1c]
cmp dword [edi], 0
jne 0x4df7c9
mov edx, dword [ebx + 0xc]
shr edx, 9
test dl, 1
je 0x4df7c9
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 8]
lea edx, [ecx + 4]
cmp edx, eax
ja 0x4df7c9
mov edx, dword [edi + 0xc]
lea ecx, [edx + ecx + 4]
cmp ecx, eax
ja 0x4df7c9
mov esi, dword [ebx + 0x10]
mov edx, dword [esi + 0x14]
test edx, edx
je 0x4df7de
mov eax, dword [esi + 0x1c]
mov ebx, 4
cmp eax, ebx
jb 0x4df762
mov ecx, dword [esi + 0x18]
lea ebp, [ecx + 4]
cmp ebp, eax
jbe 0x4df76b
mov ecx, dword [esi + 0x18]
sub eax, ecx
mov ebx, eax
je 0x4df7c9
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 0x4df7c9
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4df7c9
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 0x4df4d2
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 0x4df788
cmp dword [esi + 4], eax
jne 0x4df7c9
cmp dword [esi + 0xc], eax
jne 0x4df7c9
jmp 0x4df788