Function at 0x67066340
Capabilities:
Read file on windows

Disassembly:
mov eax, dword [esp + 8]
push esi
mov esi, dword [esp + 8]
test esi, esi
mov dword [esp + 0xc], eax
je 0x67066594
cmp byte [esi + 0x5c], 0x72
jne 0x67066594
mov ecx, dword [esi + 0x38]
cmp ecx, 0xfffffffd
je 0x6706658f
or edx, 0xffffffff
cmp ecx, edx
je 0x6706658f
push edi
mov edi, 1
cmp ecx, edi
jne 0x67066385
pop edi
xor eax, eax
pop esi
ret
mov ecx, dword [esp + 0x14]
test ecx, ecx
push ebp
mov ebp, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
je 0x670663c2
cmp dword [esi + 0x6c], edx
je 0x670663c2
mov cl, byte [esi + 0x6c]
mov byte [eax], cl
add dword [esi + 0xc], edi
add dword [esi + 0x10], edx
add dword [esi + 0x68], edi
cmp dword [esi + 0x70], 0
lea ebp, [eax + 1]
mov dword [esi + 0x6c], edx
mov dword [esp + 0x14], ebp
je 0x670663c2
pop ebp
mov dword [esi + 0x38], edi
mov eax, edi
pop edi
pop esi
ret
cmp dword [esi + 0x10], 0
push ebx
je 0x6706654e
mov ebx, dword [sym.imp.MSVCR80.dll_fread]
mov edi, dword [sym.imp.MSVCR80.dll__errno]
lea esp, [esp]
cmp dword [esi + 0x58], 0
jne 0x670664e6
cmp dword [esi + 4], 0
jne 0x6706643a
cmp dword [esi + 0x3c], 0
jne 0x6706643a
call edi
mov dword [eax], 0
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
push edx
push 0x4000
push 1
push eax
call ebx
add esp, 0x10
test eax, eax
mov dword [esi + 4], eax
jne 0x67066435
mov ecx, dword [esi + 0x40]
push ecx
mov dword [esi + 0x3c], 1
call dword [sym.imp.MSVCR80.dll_ferror]
add esp, 4
test eax, eax
jne 0x67066547
mov edx, dword [esi + 0x44]
mov dword [esi], edx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
add dword [esi + 0x64], eax
add dword [esi + 0x68], ecx
push 0
push esi
call sym.QtCore4.dll_inflate
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
sub dword [esi + 0x64], edx
sub dword [esi + 0x68], ecx
add esp, 8
cmp eax, 1
mov dword [esi + 0x38], eax
jne 0x670664c1
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 0xc]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x4c]
push eax
call sym.QtCore4.dll_crc32
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x4c], eax
add esp, 0xc
mov eax, esi
mov dword [esp + 0x18], ecx
call fcn.67065e50
cmp eax, dword [esi + 0x4c]
jne 0x670664dd
mov eax, esi
call fcn.67065e50
mov eax, esi
call fcn.670658b0
cmp dword [esi + 0x38], 0
jne 0x6706654e
push esi
call sym.QtCore4.dll_inflateReset
push 0
push 0
push 0
call sym.QtCore4.dll_crc32
add esp, 0x10
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x38], 0
jne 0x6706654e
cmp dword [esi + 0x3c], 0
jne 0x6706654e
cmp dword [esi + 0x10], 0
jne 0x670663e0
jmp 0x6706654e
mov dword [esi + 0x38], 0xfffffffd
jmp 0x6706654e
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
cmp edi, eax
jbe 0x670664f2
mov edi, eax
test edi, edi
jbe 0x67066513
mov edx, dword [esi]
mov eax, dword [esi + 0xc]
push edi
push edx
push eax
call fcn.67134076
add dword [esi], edi
sub dword [esi + 0x10], edi
add ebp, edi
add esp, 0xc
sub dword [esi + 4], edi
mov dword [esi + 0xc], ebp
mov eax, dword [esi + 0x10]
test eax, eax
jbe 0x6706652a
mov ecx, dword [esi + 0x40]
push ecx
push eax
push 1
push ebp
call ebx
add esp, 0x10
sub dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esi + 0x10]
add dword [esi + 0x64], eax
add dword [esi + 0x68], eax
test eax, eax
jne 0x67066542
mov dword [esi + 0x3c], 1
pop ebx
pop ebp
pop edi
pop esi
ret
mov dword [esi + 0x38], 0xffffffff
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 0xc]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x4c]
push eax
call sym.QtCore4.dll_crc32
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ecx
jne 0x67066588
mov esi, dword [esi + 0x38]
cmp esi, 0xfffffffd
je 0x67066580
cmp esi, 0xffffffff
jne 0x67066588
pop ebx
pop ebp
pop edi
or eax, 0xffffffff
pop esi
ret
pop ebx
pop ebp
pop edi
sub eax, ecx
pop esi
ret
or eax, 0xffffffff
pop esi
ret
mov eax, 0xfffffffe
pop esi
ret