Function at 0x6737ff70
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x673f8bc9
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x67460ecc]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x30]
lea ebp, [esi + 4]
push ebp
push eax
call sym.ImUtilsU.dll_Ordinal_1341
add esp, 8
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call sym.ImUtilsU.dll_Ordinal_1341
add esp, 8
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x1c]
call fcn.67325590
mov byte [esp + 0x28], 1
mov edi, dword [esp + 0x18]
cmp edi, ebx
je 0x6738000c
cmp dword [edi + 4], ebx
jne 0x67380007
mov edx, dword [edi]
push edx
call fcn.673ef190
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
jmp 0x6738000e
xor eax, eax
push eax
lea eax, [esi + 0x40]
push 0x100
push eax
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
push 0x67462604
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movzx eax, ax
push eax
mov ecx, 0x67462650
call sub.MFC80U.DLL_Ordinal_868
push 0x67462604
mov dword [eax], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x19c], ecx
push edx
mov ecx, esi
call sym.ImUtilsU.dll_Ordinal_892
lea edi, [esi + 0x24]
push edi
push 1
push 0x6737f0d0
push fcn.6737f010
push 0x6737ef30
push 0x6737ee70
push sub.MSVCR80.dll_int___cdecl__open_char_const___int__int_
push 0x6737ee50
push 0x6737ee40
call fcn.673e0080
add esp, 0x24
cmp eax, ebx
mov dword [esi + 8], eax
jne 0x673800ab
mov eax, dword [edi]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov dword [esp + 0x14], 0x80004005
mov ecx, ebp
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x48]
call fcn.67325590
mov byte [esp + 0x28], 2
mov edi, dword [esp + 0x44]
cmp edi, ebx
je 0x673800df
cmp dword [edi + 4], ebx
jne 0x673800da
mov edx, dword [edi]
push edx
call fcn.673ef190
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
jmp 0x673800e1
xor eax, eax
push 0x100
push 0x8020
push eax
call sub.MSVCR80.dll_int___cdecl__open_char_const___int__int_
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
jne 0x6738011a
mov eax, dword [esi + 8]
push eax
call fcn.673e0120
mov ecx, dword [esp + 0x3c]
mov dword [esi + 8], ebx
mov dword [ecx], ebp
mov dword [esp + 0x18], 0x80041783
jmp 0x67380210
cmp dword [esp + 0x14], ebx
jl 0x67380213
push 0x50
lea edx, [esi + 0x144]
push edx
push ebp
call dword [sym.imp.MSVCR80.dll__read]
mov edi, 1
add esp, 0xc
cmp word [esi + 0x18a], di
mov byte [esi + 0x163], bl
mov byte [esi + 0x188], bl
jbe 0x6738018f
mov ecx, dword [str.C5EF7554_B637_4370_8A04_1FD20379A345]
lea eax, [esi + 0x164]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x67380180
cmp dl, bl
je 0x6738017c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x67380180
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x67380160
xor eax, eax
jmp 0x67380185
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x6738018f
mov dword [esi + 0x194], edi
push ebx
push ebx
push ebp
call dword [sym.imp.MSVCR80.dll__lseek]
mov ecx, dword [esi + 8]
lea eax, [esi + 0xc]
push eax
push ebp
push ecx
call fcn.673e0190
mov edi, dword [esp + 0x58]
add esp, 0x18
test eax, eax
je 0x673801bd
cmp edi, ebx
je 0x67380205
cmp word [esi + 0x14], 0xa2ed
je 0x67380205
cmp dword [esi + 0x194], ebx
je 0x673801d7
mov edx, dword [esp + 0x38]
mov dword [edx], 0xfffffffe
mov dword [esp + 0x14], 0x8004177d
mov ecx, esi
call sym.ImUtilsU.dll_Ordinal_315
cmp dword [esp + 0x14], ebx
jl 0x67380205
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ebx
push edi
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
mov ecx, esi
call sym.ImUtilsU.dll_Ordinal_1604
mov dword [esp + 0x14], eax
push ebp
call dword [sym.imp.MSVCR80.dll__close]
mov edi, dword [esp + 0x48]
add esp, 4
mov byte [esp + 0x28], 1
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp edi, ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
je 0x6738025d
mov ebp, dword [esp + 0x44]
lea ecx, [ebp + 8]
push ecx
call esi
cmp eax, ebx
jne 0x67380259
mov eax, dword [ebp]
cmp eax, ebx
je 0x67380240
push eax
call edi
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x67380250
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push ebp
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov dword [esp + 0x44], ebx
mov byte [esp + 0x28], bl
mov ebp, dword [esp + 0x18]
cmp ebp, ebx
je 0x6738029a
lea edx, [ebp + 8]
push edx
call esi
cmp eax, ebx
jne 0x67380296
mov eax, dword [ebp]
cmp eax, ebx
je 0x6738027d
push eax
call edi
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x6738028d
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push ebp
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18