Function at 0x40c200
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x413760
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push esi
mov esi, ecx
push edi
push 0x419544
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_3
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.0040d130
lea ecx, [esp + 0x10]
call fcn.0041228c
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x48], 1
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x41953c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x41952c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x419520
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push str.NhhwKvzh
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x419504
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push str.PlwlLH
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194f4
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194ec
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194e4
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194dc
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194d0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push str.Ymhvqi
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194bc
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194b4
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194a8
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x4194a0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x419498
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x419490
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator
push 6
push 0
lea eax, [esp + 0x10]
push 3
push eax
mov ecx, esi
call fcn.0040d130
mov edx, dword [esp + 0x18]
lea ecx, [esp + 8]
push ecx
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea ecx, [esp + 0x24]
call fcn.0041228c
mov eax, dword [esi + 0x2c]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x10]
push ecx
push edx
mov byte [esp + 0x48], 2
push eax
mov ecx, esi
call fcn.0040c750
mov eax, dword [esi + 0x30]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x10]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0040c750
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x2c]
xor edi, edi
test eax, eax
mov byte [esp + 0x40], 3
jle 0x40c6c5
mov eax, dword [esp + 0x28]
mov ecx, esi
mov eax, dword [eax + edi*4]
push eax
call fcn.0040c940
mov ecx, dword [esp + 0x28]
push 0x419488
lea ecx, [ecx + edi*4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x40c681
mov edx, dword [esp + 0x28]
mov ecx, esi
mov eax, dword [edx + edi*4]
push eax
call fcn.0040e3a0
jmp 0x40c6bc
mov eax, dword [esp + 0x28]
push str.TheWorld
lea ecx, [eax + edi*4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x40c6ad
mov ecx, dword [esp + 0x28]
push 0x4190c4
lea ecx, [ecx + edi*4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x40c6bc
mov edx, dword [esp + 0x28]
mov ecx, esi
mov eax, dword [edx + edi*4]
push eax
call fcn.0040e4c0
mov eax, dword [esp + 0x2c]
inc edi
cmp edi, eax
jl 0x40c64b
mov eax, dword [esi + 0x38]
test eax, eax
jne 0x40c6f0
mov eax, dword [esi + 0xc]
push 1
push eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0040e960
mov eax, dword [esi + 8]
push 0
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, esi
call fcn.0040e960
mov ecx, esi
call fcn.0040e5e0
lea ecx, [esp + 0xc]
mov byte [esp + 0x40], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x40], 1
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x40], 0
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 8]
mov dword [esp + 0x40], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x38]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x3c
ret