Function at 0x462600
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f80a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d4
mov eax, dword [0x540cc0]
mov dword [ebp - 0x150], eax
push 1
push 0
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::constructor_int__int_
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::CFile
mov byte [ebp - 4], 1
push 0
push 0x40
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::Open
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jne 0x46269d
mov dword [ebp - 0x1a0], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1a0]
jmp 0x462c91
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::GetLength
cmp eax, 0x2800
jge 0x4626bc
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::GetLength
mov dword [ebp - 0x1dc], eax
jmp 0x4626c6
mov dword [ebp - 0x1dc], 0x2800
push 1
mov ecx, dword [ebp - 0x1dc]
push ecx
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::Init_int__int_
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::GetLen_void_
test eax, eax
jne 0x46271c
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1a4]
jmp 0x462c91
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::GetLen_void_
push eax
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_unsigned_char____thiscall_CMemOper::GetBuffer_void_
push eax
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::Read
lea ecx, [ebp - 0x34]
call sub.MFC71.DLL_CFile::Close
mov dword [ebp - 0x130], 0
push 0x40
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::Read_void___int_
test eax, eax
jne 0x462799
mov dword [ebp - 0x1a8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1a8]
jmp 0x462c91
movzx eax, word [ebp - 0x194]
cmp eax, 0x5a4d
je 0x4627da
mov dword [ebp - 0x1ac], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1ac]
jmp 0x462c91
push 1
mov ecx, dword [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::Seek_int__int_
push 0xf8
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::Read_void___int_
test eax, eax
jne 0x46283c
mov dword [ebp - 0x1b0], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1b0]
jmp 0x462c91
cmp dword [ebp - 0x12c], 0x4550
je 0x46287b
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1b4]
jmp 0x462c91
movzx eax, word [ebp - 0x126]
cmp eax, 5
je 0x4628ba
mov dword [ebp - 0x1b8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1b8]
jmp 0x462c91
push 1
push 0
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::constructor_int__int_
mov byte [ebp - 4], 2
push 1
movzx ecx, word [ebp - 0x126]
imul ecx, ecx, 0x28
push ecx
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::Init_int__int_
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_int___thiscall_CMemOper::GetLen_void_
push eax
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_unsigned_char____thiscall_CMemOper::GetBuffer_void_
push eax
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_int___thiscall_CMemOper::Read_void___int_
test eax, eax
jne 0x46293f
mov dword [ebp - 0x1bc], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1bc]
jmp 0x462c91
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_unsigned_char____thiscall_CMemOper::GetBuffer_void_
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x198], 0
jmp 0x462968
mov edx, dword [ebp - 0x198]
add edx, 1
mov dword [ebp - 0x198], edx
fild dword [ebp - 0x198]
fcomp qword [0x50ff78]
fnstsw ax
test ah, 5
jp 0x462c03
mov eax, dword [ebp - 0x130]
push eax
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp - 0x1e0], 3
ja case.default.0x4629b5
mov edx, dword [ebp - 0x1e0]
jmp dword [edx*4 + 0x462caa]
push str..text
lea eax, [ebp - 0x19c]
push eax
call fcn.00408060
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x462a26
mov dword [ebp - 0x1c0], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1c0]
jmp 0x462c91
jmp 0x462bdf
push str..rdata
lea edx, [ebp - 0x19c]
push edx
call fcn.00408060
add esp, 8
movzx eax, al
test eax, eax
je 0x462a95
mov dword [ebp - 0x1c4], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1c4]
jmp 0x462c91
jmp 0x462bdf
push str..data
lea ecx, [ebp - 0x19c]
push ecx
call fcn.00408060
add esp, 8
movzx edx, al
test edx, edx
je 0x462b04
mov dword [ebp - 0x1c8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1c8]
jmp 0x462c91
jmp 0x462bdf
push str.Shared
lea eax, [ebp - 0x19c]
push eax
call fcn.00408060
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x462b73
mov dword [ebp - 0x1cc], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1cc]
jmp 0x462c91
jmp 0x462bdf
push str..rsrc
lea edx, [ebp - 0x19c]
push edx
call fcn.00408060
add esp, 8
movzx eax, al
test eax, eax
je 0x462bdf
mov dword [ebp - 0x1d0], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1d0]
jmp 0x462c91
mov ecx, dword [ebp - 0x130]
add ecx, 0x28
mov dword [ebp - 0x130], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
jmp 0x462959
movzx edx, byte [ebp - 0x112]
cmp edx, 7
jne 0x462c1b
movzx eax, byte [ebp - 0x111]
cmp eax, 0xa
je 0x462c57
mov dword [ebp - 0x1d4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1d4]
jmp 0x462c91
mov dword [ebp - 0x1d8], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004f234e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call sub.pmc.dll_public:_void___thiscall_CMemOper::destructor_void_
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x150]
call fcn.004f2f91
mov esp, ebp
pop ebp
ret