Function at 0x474680
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfe0
mov eax, dword [0x76c500]
xor eax, ebp
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xfd4], eax
cmp dword [ebp - 0xfd4], 0
je 0x4746a7
jmp 0x4746cc
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
push edx
push 0xfa0
push 1
lea eax, [ebp - 0xfc8]
push eax
call fcn.0040d440
add esp, 0x10
mov dword [ebp - 0x20], eax
jmp 0x4746ef
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
push edx
push 0xfa0
push 1
lea eax, [ebp - 0xfc8]
push eax
call fcn.004d2e5e
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4746ff
mov eax, 0xffffff9a
jmp 0x4749d2
lea ecx, [ebp - 0xfd0]
push ecx
lea edx, [ebp - 0xfc4]
push edx
call fcn.004103e0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xfd8], eax
cmp dword [ebp - 0xfd8], 0
je 0x474729
jmp 0x47474e
push 0
mov ecx, dword [ebp - 0xfd0]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0040d6d0
add esp, 0xc
test eax, eax
je 0x47474c
mov eax, 0xffffff98
jmp 0x4749d2
jmp 0x474771
push 0
mov eax, dword [ebp - 0xfd0]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004d4011
add esp, 0xc
test eax, eax
je 0x474771
mov eax, 0xffffff98
jmp 0x4749d2
mov edx, dword [ebp + 8]
mov dword [ebp - 0xfdc], edx
cmp dword [ebp - 0xfdc], 0
je 0x474785
jmp 0x4747aa
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
push 0xfa0
push 1
lea edx, [ebp - 0xfc8]
push edx
call fcn.0040d440
add esp, 0x10
mov dword [ebp - 0x20], eax
jmp 0x4747cd
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0xfa0
push 1
lea edx, [ebp - 0xfc8]
push edx
call fcn.004d2e5e
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4747dd
mov eax, 0xffffff9a
jmp 0x4749d2
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0xfcc]
push eax
mov ecx, dword [ebp - 0x18]
lea edx, [ebp + ecx - 0xfc8]
push edx
call fcn.004103c0
add esp, 8
mov eax, dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 8], 0
jmp 0x474827
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0xfcc]
jge 0x4749bf
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x18]
lea edx, [ebp + ecx - 0xfc8]
push edx
call fcn.004103c0
add esp, 8
mov eax, dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xfe0], ecx
cmp dword [ebp - 0xfe0], 0x100
je 0x474880
cmp dword [ebp - 0xfe0], 0x101
je 0x474913
jmp 0x4749a3
mov edx, dword [ebp - 0x18]
movzx eax, byte [ebp + edx - 0xfc8]
cmp eax, 3
je 0x4748a0
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ebp + ecx - 0xfc8]
cmp edx, 4
jne 0x474900
mov eax, dword [ebp - 0x18]
movzx ecx, byte [ebp + eax - 0xfc7]
test ecx, ecx
jne 0x474900
mov edx, dword [ebp - 0x18]
movzx eax, byte [ebp + edx - 0xfc6]
cmp eax, 1
jne 0x474900
mov ecx, dword [ebp - 0x18]
add ecx, 6
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0xfd0]
push edx
mov eax, dword [ebp - 0x18]
lea ecx, [ebp + eax - 0xfc8]
push ecx
call fcn.004103c0
add esp, 8
mov edx, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xfd0]
mov dword [eax + 8], ecx
mov dword [ebp - 0x14], 1
jmp 0x47490e
mov edx, dword [ebp - 0x18]
add edx, 0xa
mov dword [ebp - 0x18], edx
jmp 0x47481e
jmp 0x4749ac
mov eax, dword [ebp - 0x18]
movzx ecx, byte [ebp + eax - 0xfc8]
cmp ecx, 3
je 0x474933
mov edx, dword [ebp - 0x18]
movzx eax, byte [ebp + edx - 0xfc8]
cmp eax, 4
jne 0x474993
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ebp + ecx - 0xfc7]
test edx, edx
jne 0x474993
mov eax, dword [ebp - 0x18]
movzx ecx, byte [ebp + eax - 0xfc6]
cmp ecx, 1
jne 0x474993
mov edx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0xfd0]
push eax
mov ecx, dword [ebp - 0x18]
lea edx, [ebp + ecx - 0xfc8]
push edx
call fcn.004103c0
add esp, 8
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xfd0]
mov dword [ecx + 0xc], edx
mov dword [ebp - 0x10], 1
jmp 0x4749a1
mov eax, dword [ebp - 0x18]
add eax, 0xa
mov dword [ebp - 0x18], eax
jmp 0x47481e
jmp 0x4749ac
mov ecx, dword [ebp - 0x18]
add ecx, 0xa
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x14], 0
je 0x4749ba
cmp dword [ebp - 0x10], 0
je 0x4749ba
jmp 0x4749bf
jmp 0x47481e
cmp dword [ebp - 0x14], 0
je 0x4749cb
cmp dword [ebp - 0x10], 0
jne 0x4749d0
or eax, 0xffffffff
jmp 0x4749d2
xor eax, eax
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004d0170
mov esp, ebp
pop ebp
ret