Function at 0x411e80
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x428a4c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d0
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x1f0]
mov byte [esp + 0x1e8], 2
mov eax, dword [eax - 8]
cmp eax, 0xff
jle 0x411f12
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 9
jmp 0x41249c
lea ecx, [esp + 0x1c]
call fcn.004273b0
lea ecx, [esp + 0x1f0]
push 0x4327e4
lea edx, [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x1f4], 3
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call sub.MFC42.DLL_CFileFind::FindFile
test eax, eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x1e8], 3
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
lea ecx, [esp + 0x1c]
je 0x411fca
call sub.MFC42.DLL_CFileFind::Close
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x41249c
call sub.MFC42.DLL_CFileFind::Close
lea eax, [esp + 0x1f0]
push 0x4327e4
lea ecx, [esp + 0x18]
push eax
push ecx
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
push 0x4310a8
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
lea ecx, [esp + 0x14]
mov esi, eax
call sub.MFC42.DLL_CString::CString
test esi, esi
jne 0x41205d
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 2
jmp 0x41249c
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x5c]
push esi
rep stosd dword es:[edi], eax
push 0x4e
lea edx, [esp + 0x64]
push 1
push edx
stosw word es:[edi], ax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 0x4e
push esi
jge 0x4120e5
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 3
jmp 0x41249c
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x81]
mov edx, dword [esp + 0x82]
and eax, 0xff
shl eax, 8
and ecx, 0xff
and edx, 0xff
add eax, ecx
mov ecx, dword [esp + 0x83]
shl eax, 8
add eax, edx
and ecx, 0xff
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0x1fc]
add esp, 4
cmp eax, ecx
je 0x412199
cmp eax, 0x88ffffff
jae 0x412199
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 4
jmp 0x41249c
mov ecx, 8
lea esi, [esp + 0x5c]
lea edi, [esp + 0x38]
lea edx, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push edx
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1f4]
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
push eax
push ecx
call ebp
add esp, 8
test eax, eax
je 0x412241
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 5
jmp 0x41249c
lea edx, [esp + 0xa0]
push 5
push edx
call fcn.00411c50
mov esi, eax
lea eax, [esp + 0xad]
push 5
push eax
mov edi, edx
call fcn.00411c50
lea ecx, [esp + 0x80]
push 0xc
push ecx
mov ebx, eax
mov dword [esp + 0x30], edx
call fcn.00411e40
xor ecx, ecx
mov edx, eax
add esp, 0x18
or edx, ecx
je 0x4122f8
cmp eax, esi
jne 0x412293
cmp ecx, edi
jne 0x412293
mov edx, ebx
or edx, dword [esp + 0x18]
je 0x4122f8
or esi, edi
jne 0x4122a1
cmp eax, ebx
jne 0x4122a1
cmp ecx, dword [esp + 0x18]
je 0x4122f8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 8
jmp 0x41249c
push ecx
lea eax, [esp + 0x1f4]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x18]
push ecx
call fcn.00411d00
mov edx, dword [esp + 0x1c]
push 0x433ae8
push edx
mov byte [esp + 0x1f8], 5
call ebp
add esp, 0x10
test eax, eax
jne 0x412399
lea ecx, [esp + 0x14]
mov byte [esp + 0x1e8], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 6
jmp 0x41249c
mov ecx, 8
lea esi, [esp + 0x80]
lea edi, [esp + 0x38]
lea eax, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
call ebp
add esp, 8
mov byte [esp + 0x1e8], 3
test eax, eax
lea ecx, [esp + 0x14]
jne 0x412445
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x41249c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e8], 2
call sub.MFC42.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x10]
mov byte [esp + 0x1e8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x1e8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 7
mov ecx, dword [esp + 0x1e0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1dc
ret