Function at 0x40fa20
Capabilities:
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x4c21db
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6a4
mov eax, dword [0x4fee70]
push esi
mov dword [esp + 0x6a4], eax
push edi
mov esi, ecx
lea eax, [esp + 0x6bc]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x6b8], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::constructor_class_CTString_const__]
lea ecx, [esp + 0x20]
mov byte [esp + 0x6b4], 1
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::constructor_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x6b4], 2
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::constructor_void_]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x34]
push eax
push 1
mov byte [esp + 0x6c4], 3
call dword [sym.imp.engine.dll_long_int___cdecl_ExpandxFilePath_unsigned_long_int__class_CTFileName_const___class_CTFileName___class_CTFileName__]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x40]
push edx
push 1
mov edi, eax
call dword [sym.imp.engine.dll_long_int___cdecl_ExpandFilePath_unsigned_long_int__class_CTFileName_const___class_CTFileName__]
add esp, 0x1c
or edi, eax
mov dword [esp + 0x18], edi
je 0x40fb58
mov byte [esp + 0xa8], 0
xor eax, eax
mov ecx, 0x7f
lea edi, [esp + 0xa9]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x3c]
stosb byte es:[edi], al
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileStream::constructor_void_]
lea eax, [esp + 0x6bc]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6b8], 4
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::constructor_class_CTString_const__]
push 1
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x6bc], 5
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileStream::Open_t_class_CTFileName_const___enum_CTStream::OpenMode_]
lea ecx, [esp + 0x18]
mov byte [esp + 0x6b4], 4
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x3c]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTStream::GetStreamSize_void_]
test eax, eax
jg 0x40fbad
lea ecx, [esp + 0x3c]
mov byte [esp + 0x6b4], 3
call dword [sym.imp.engine.dll_public_virtual:_void___thiscall_CTFileStream::destructor_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x6b4], 2
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x20]
mov byte [esp + 0x6b4], 1
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6b4], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x6bc]
mov dword [esp + 0x6b4], 0xffffffff
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
xor al, al
jmp 0x4106dd
mov eax, dword [esp + 0x50]
movzx cx, byte [eax]
movzx dx, byte [eax + 1]
shl ecx, 8
add ecx, edx
cmp cx, 0xfffe
mov dword [esp + 0x18], ecx
jne 0x40fbd1
add eax, 2
mov dword [esp + 0x50], eax
push ebx
push ebp
lea ecx, [esp + 0x44]
call dword [sym.imp.engine.dll_public:_int___thiscall_CTStream::AtEOF_void_]
test eax, eax
jne 0x41066f
mov ebx, dword [sym.imp.engine.dll_public:_void___thiscall_CTStream::GetLine_t_char___long_int__char_]
mov ebp, dword [sym.imp.engine.dll_public:_int___thiscall_CTString::Matches_char_const__const]
cmp word [esp + 0x20], 0xfffe
push 0xa
push 0x200
jne 0x40fc7c
xor eax, eax
mov word [esp + 0x2b8], 0
mov ecx, 0xff
lea edi, [esp + 0x2ba]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x2b8]
push eax
lea ecx, [esp + 0x50]
call ebx
mov edx, dword [esp + 0x58]
mov eax, dword [sym.imp.engine.dll_unsigned_short_int__langid]
push 0
push 0
push 0x200
inc edx
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x68], edx
xor ecx, ecx
mov cx, word [eax]
push 0x200
lea edx, [esp + 0x2c4]
push edx
push 0
push ecx
call dword [sym.imp.engine.dll_int___cdecl_GetCharsetFromLang_unsigned_short_int_]
push eax
call dword [sym.imp.engine.dll_int___cdecl_GetCodePageFromCharset_int_]
add esp, 8
push eax
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
jmp 0x40fc8a
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x50]
call ebx
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push 0x4d2aa8
lea ecx, [esp + 0x34]
mov byte [esp + 0x6c0], 6
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c0], 7
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::FindSubstr_class_CTString_const__]
lea ecx, [esp + 0x30]
mov edi, eax
mov byte [esp + 0x6bc], 6
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp edi, 0xffffffff
je 0x41064b
lea ecx, [esp + 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
lea ecx, [esp + 0x10]
mov byte [esp + 0x6bc], 8
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x18]
push eax
push edi
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c8], 9
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::Split_long_int__class_CTString___class_CTString__]
push 0
lea ecx, [esp + 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::DeleteChar_long_int_]
mov edi, dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::TrimSpacesLeft_void_]
lea ecx, [esp + 0x14]
call edi
mov ebx, dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::TrimSpacesRight_void_]
lea ecx, [esp + 0x14]
call ebx
lea ecx, [esp + 0x10]
call edi
lea ecx, [esp + 0x10]
call ebx
push 0x4d2aac
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40fdcf
push 0x4d2ab8
lea ecx, [esp + 0x14]
call ebp
test eax, eax
je 0x40fd7a
mov byte [esi + 0x4428], 0
jmp 0x41061b
push 0x4d2ac0
lea ecx, [esp + 0x14]
call ebp
test eax, eax
je 0x40fd95
mov byte [esi + 0x4428], 1
jmp 0x41061b
push 0x4d2ac8
lea ecx, [esp + 0x14]
call ebp
test eax, eax
je 0x40fdb0
mov byte [esi + 0x4428], 2
jmp 0x41061b
push 0x4d2ad0
lea ecx, [esp + 0x14]
call ebp
test eax, eax
je 0x410702
mov byte [esi + 0x4428], 0
jmp 0x41061b
push 0x4d2af4
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40fe52
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.msvcr71.dll_atoi]
mov edi, eax
add esp, 4
test edi, edi
mov dword [esi + 0x4430], edi
je 0x41071e
mov edx, edi
shl edx, 6
add edx, 4
push edx
call fcn.004bf8f4
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x6bc], 0xa
je 0x40fe37
push fcn.00414330
push 0x415400
push edi
lea ebp, [eax + 4]
push 0x40
push ebp
mov dword [eax], edi
call fcn.004c027a
jmp 0x40fe39
xor ebp, ebp
push ebp
lea ecx, [esi + 0x4438]
mov byte [esp + 0x6c0], 9
call fcn.00415a40
jmp 0x41061b
push 0x4d2b28
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40fe7a
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.msvcr71.dll_atoi]
add esp, 4
mov byte [esi + 0x4429], al
jmp 0x41061b
push 0x4d2b34
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40fe9f
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [sym.imp.engine.dll_class_CTString__strFontName]
call dword [0x4d04f4]
jmp 0x41061b
push 0x4d2b3c
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40ff04
mov eax, dword [esi + 0x4430]
xor edi, edi
test eax, eax
jbe 0x41061b
xor ebp, ebp
mov edx, dword [esi + 0x4438]
lea ecx, [edx + ebp + 4]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x40fee7
mov eax, dword [esi + 0x4430]
inc edi
add ebp, 0x40
cmp edi, eax
jb 0x40fec0
jmp 0x41061b
mov ecx, dword [esi + 0x4438]
lea eax, [esp + 0x10]
shl edi, 6
push eax
lea ecx, [edi + ecx + 4]
call dword [0x4d04f4]
jmp 0x41061b
push 0x4d2b44
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40ff74
mov eax, dword [esi + 0x4430]
xor edi, edi
test eax, eax
jbe 0x41061b
xor ebp, ebp
jmp 0x40ff30
mov edx, dword [esi + 0x4438]
lea ecx, [edx + ebp + 0x10]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x40ff57
mov eax, dword [esi + 0x4430]
inc edi
add ebp, 0x40
cmp edi, eax
jb 0x40ff30
jmp 0x41061b
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x4438]
shl edi, 6
push eax
lea ecx, [edi + ecx + 0x10]
call dword [sym.imp.engine.dll_public:_class_CTString____thiscall_CTString::operator_char_const__]
jmp 0x41061b
push 0x4d2b50
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x40ffd5
mov ecx, dword [esi + 0x4430]
xor eax, eax
test ecx, ecx
jbe 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [edx + 0x14]
lea esp, [esp]
cmp dword [ecx], 0
je 0x40ffb8
mov edi, dword [esi + 0x4430]
inc eax
add ecx, 0x40
cmp eax, edi
jb 0x40ffa0
jmp 0x41061b
shl eax, 6
add eax, edx
mov edx, dword [esp + 0x10]
push edx
mov edi, eax
call dword [sym.imp.msvcr71.dll_atoi]
add esp, 4
mov dword [edi + 0x14], eax
jmp 0x41061b
push 0x4d2b5c
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x410044
mov eax, dword [esi + 0x4430]
xor edi, edi
test eax, eax
jbe 0x41061b
xor ebp, ebp
jmp 0x410000
mov eax, dword [esi + 0x4438]
lea ecx, [eax + ebp + 8]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x410027
mov eax, dword [esi + 0x4430]
inc edi
add ebp, 0x40
cmp edi, eax
jb 0x410000
jmp 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [esp + 0x10]
shl edi, 6
push ecx
lea ecx, [edi + edx + 8]
call dword [0x4d04f4]
jmp 0x41061b
push 0x4d2b64
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x4100a5
mov ecx, dword [esi + 0x4430]
xor eax, eax
test ecx, ecx
jbe 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [edx + 0xc]
lea esp, [esp]
cmp dword [ecx], 0
je 0x410088
mov edi, dword [esi + 0x4430]
inc eax
add ecx, 0x40
cmp eax, edi
jb 0x410070
jmp 0x41061b
shl eax, 6
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.msvcr71.dll_atoi]
add esp, 4
mov dword [edi + 0xc], eax
jmp 0x41061b
push 0x4d2b70
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x41016a
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.msvcr71.dll_atoi]
mov edi, eax
add esp, 4
test edi, edi
je 0x41073a
mov ecx, dword [esi + 0x4430]
xor eax, eax
test ecx, ecx
jbe 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [edx + 0x1c]
lea esp, [esp]
cmp dword [ecx], 0
je 0x410108
mov ebx, dword [esi + 0x4430]
inc eax
add ecx, 0x40
cmp eax, ebx
jb 0x4100f0
jmp 0x41061b
shl eax, 6
mov ebx, eax
mov dword [ebx + edx + 0x1c], edi
lea edx, [edi*8 + 4]
push edx
call fcn.004bf8f4
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x6bc], 0xb
je 0x41014b
push sub.engine.dll_public:_void___thiscall_CTString::destructor_void_
push 0x413040
push edi
lea ebp, [eax + 4]
push 8
push ebp
mov dword [eax], edi
call fcn.004c027a
jmp 0x41014d
xor ebp, ebp
mov eax, dword [esi + 0x4438]
push ebp
lea ecx, [eax + ebx + 0x28]
mov byte [esp + 0x6c0], 9
call fcn.004152d0
jmp 0x41061b
push 0x4d2bb0
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x410210
mov eax, dword [esi + 0x4430]
xor ebp, ebp
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x18], ebp
jbe 0x41061b
test ebx, ebx
jne 0x41061b
mov ecx, dword [esi + 0x4438]
mov eax, dword [ecx + ebp + 0x1c]
xor edi, edi
test eax, eax
jbe 0x4101f5
jmp 0x4101b0
mov edx, dword [esi + 0x4438]
mov eax, dword [edx + ebp + 0x28]
lea ecx, [eax + edi*8]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x4101d8
mov ecx, dword [esi + 0x4438]
mov eax, dword [ecx + ebp + 0x1c]
inc edi
cmp edi, eax
jb 0x4101b0
jmp 0x4101f5
mov eax, dword [esi + 0x4438]
mov ecx, dword [eax + ebp + 0x28]
lea edx, [esp + 0x10]
push edx
lea ecx, [ecx + edi*8]
call dword [0x4d04f4]
mov ebx, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x4430]
inc eax
add ebp, 0x40
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410193
jmp 0x41061b
push 0x4d2bb8
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x4102b0
mov eax, dword [esi + 0x4430]
xor edi, edi
xor ebp, ebp
cmp eax, edi
mov dword [esp + 0x18], edi
jbe 0x41061b
lea esp, [esp]
test ebp, ebp
jne 0x41061b
mov edx, dword [esi + 0x4438]
mov ecx, dword [edx + edi + 0x1c]
add edx, edi
xor eax, eax
test ecx, ecx
jbe 0x410295
mov ecx, dword [edx + 0x28]
add ecx, 4
cmp word [ecx], 0
je 0x410278
mov ebx, dword [esi + 0x4438]
inc eax
add ecx, 8
cmp eax, dword [ebx + edi + 0x1c]
jb 0x410260
jmp 0x410295
mov ecx, dword [edx + 0x28]
mov edx, dword [esp + 0x10]
push edx
lea ebp, [ecx + eax*8]
call dword [sym.imp.msvcr71.dll_atoi]
mov word [ebp + 4], ax
add esp, 4
mov ebp, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x4430]
inc eax
add edi, 0x40
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410240
jmp 0x41061b
push 0x4d2bc4
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x41036e
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.msvcr71.dll_atoi]
mov edi, eax
add esp, 4
test edi, edi
je 0x410756
mov ecx, dword [esi + 0x4430]
xor eax, eax
test ecx, ecx
jbe 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [edx + 0x20]
cmp dword [ecx], 0
je 0x41030c
mov ebx, dword [esi + 0x4430]
inc eax
add ecx, 0x40
cmp eax, ebx
jb 0x4102f4
jmp 0x41061b
shl eax, 6
lea ecx, [edi*8 + 4]
mov ebx, eax
push ecx
mov dword [ebx + edx + 0x20], edi
call fcn.004bf8f4
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x6bc], 0xc
je 0x41034f
push sub.engine.dll_public:_void___thiscall_CTString::destructor_void_
push 0x413040
push edi
lea ebp, [eax + 4]
push 8
push ebp
mov dword [eax], edi
call fcn.004c027a
jmp 0x410351
xor ebp, ebp
mov edx, dword [esi + 0x4438]
push ebp
lea ecx, [edx + ebx + 0x30]
mov byte [esp + 0x6c0], 9
call fcn.004152d0
jmp 0x41061b
push 0x4d2c04
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x410410
mov eax, dword [esi + 0x4430]
xor ebp, ebp
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x18], ebp
jbe 0x41061b
test ebx, ebx
jne 0x41061b
mov eax, dword [esi + 0x4438]
mov ecx, dword [eax + ebp + 0x20]
xor edi, edi
test ecx, ecx
jbe 0x4103f5
nop
mov ecx, dword [esi + 0x4438]
mov edx, dword [ecx + ebp + 0x30]
lea ecx, [edx + edi*8]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x4103d8
mov eax, dword [esi + 0x4438]
mov ecx, dword [eax + ebp + 0x20]
inc edi
cmp edi, ecx
jb 0x4103b0
jmp 0x4103f5
mov edx, dword [esi + 0x4438]
mov eax, dword [edx + ebp + 0x30]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [eax + edi*8]
call dword [0x4d04f4]
mov ebx, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x4430]
inc eax
add ebp, 0x40
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410397
jmp 0x41061b
push 0x4d2c10
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x4104b0
mov eax, dword [esi + 0x4430]
xor edi, edi
xor ebp, ebp
cmp eax, edi
mov dword [esp + 0x18], edi
jbe 0x41061b
lea esp, [esp]
test ebp, ebp
jne 0x41061b
mov ecx, dword [esi + 0x4438]
lea edx, [edi + ecx]
mov ecx, dword [edx + 0x20]
xor eax, eax
test ecx, ecx
jbe 0x410495
mov ecx, dword [edx + 0x30]
add ecx, 4
cmp word [ecx], 0
je 0x410478
mov ebx, dword [esi + 0x4438]
inc eax
add ecx, 8
cmp eax, dword [edi + ebx + 0x20]
jb 0x410460
jmp 0x410495
mov edx, dword [edx + 0x30]
lea ebp, [edx + eax*8]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.msvcr71.dll_atoi]
mov word [ebp + 4], ax
add esp, 4
mov ebp, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x4430]
inc eax
add edi, 0x40
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x410440
jmp 0x41061b
push 0x4d2c1c
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x410571
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.msvcr71.dll_atoi]
mov edi, eax
add esp, 4
test edi, edi
je 0x410772
mov ecx, dword [esi + 0x4430]
xor eax, eax
test ecx, ecx
jbe 0x41061b
mov edx, dword [esi + 0x4438]
lea ecx, [edx + 0x24]
cmp dword [ecx], 0
je 0x41050c
mov ebx, dword [esi + 0x4430]
inc eax
add ecx, 0x40
cmp eax, ebx
jb 0x4104f4
jmp 0x41061b
shl eax, 6
mov ebx, eax
mov dword [ebx + edx + 0x24], edi
lea edx, [edi*4 + 4]
push edx
call fcn.004bf8f4
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x6bc], 0xd
je 0x410552
mov ecx, dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
lea ebp, [eax + 4]
mov dword [eax], edi
mov eax, dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push eax
push ecx
push edi
push 4
push ebp
call fcn.004c027a
jmp 0x410554
xor ebp, ebp
mov edx, dword [esi + 0x4438]
push ebp
lea ecx, [edx + ebx + 0x38]
mov byte [esp + 0x6c0], 9
call fcn.004149f0
jmp 0x41061b
push 0x4d2c5c
lea ecx, [esp + 0x18]
call ebp
test eax, eax
je 0x41061b
mov eax, dword [esi + 0x4430]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], ebx
jbe 0x41061b
xor ebp, ebp
lea ebx, [ebx]
test ebx, ebx
jne 0x41061b
mov eax, dword [esi + 0x4438]
mov ecx, dword [eax + ebp + 0x24]
xor edi, edi
test ecx, ecx
jbe 0x410605
jmp 0x4105c0
mov ecx, dword [esi + 0x4438]
mov edx, dword [ecx + ebp + 0x38]
lea ecx, [edx + edi*4]
call dword [sym.imp.engine.dll_public:_long_int___thiscall_CTString::Length_void_const]
test eax, eax
je 0x4105e8
mov eax, dword [esi + 0x4438]
mov ecx, dword [eax + ebp + 0x24]
inc edi
cmp edi, ecx
jb 0x4105c0
jmp 0x410605
mov edx, dword [esi + 0x4438]
mov eax, dword [edx + ebp + 0x38]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [eax + edi*4]
call dword [0x4d04f4]
mov ebx, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x4430]
inc eax
add ebp, 0x40
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4105a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x6bc], 8
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x14]
mov byte [esp + 0x6bc], 6
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ebp, dword [sym.imp.engine.dll_public:_int___thiscall_CTString::Matches_char_const__const]
mov ebx, dword [sym.imp.engine.dll_public:_void___thiscall_CTStream::GetLine_t_char___long_int__char_]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6bc], 4
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x44]
call dword [sym.imp.engine.dll_public:_int___thiscall_CTStream::AtEOF_void_]
test eax, eax
je 0x40fbf1
lea ecx, [esp + 0x44]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileStream::Close_void_]
lea ecx, [esp + 0x44]
mov byte [esp + 0x6bc], 3
call dword [sym.imp.engine.dll_public_virtual:_void___thiscall_CTFileStream::destructor_void_]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x6bc], 2
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x28]
mov byte [esp + 0x6bc], 1
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x6bc], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTFileName::destructor_void_]
lea ecx, [esp + 0x6c4]
mov dword [esp + 0x6bc], 0xffffffff
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0x6ac]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x6a4]
pop esi
call fcn.004c0057
add esp, 0x6b0
ret 4
push 0
push 0x4d2ad8
push 0x4d2ae0
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
push 0
push 0x4d2afc
push 0x4d2b04
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
push 0
push 0x4d2b80
push 0x4d2b88
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
push 0
push 0x4d2bd4
push 0x4d2bdc
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
push 0
push 0x4d2c2c
push 0x4d2c34
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
int3