Function at 0x407200
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x40d860
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push edi
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 3
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x30], 4
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 8]
mov dword [esp + 0x30], 5
call sub.MFC42.DLL_CString::CString_2
mov edi, dword [0x4136c0]
mov byte [esp + 0x30], 6
neg edi
sbb edi, edi
test edi, edi
je 0x4073c6
push ebp
push esi
mov ebp, dword [0x4136b8]
mov edx, dword [0x4136bc]
cmp edi, 0xffffffff
mov esi, edi
jne 0x4072be
xor ecx, ecx
test edx, edx
jbe 0x4072be
mov eax, ebp
mov esi, dword [eax]
test esi, esi
jne 0x4072be
inc ecx
add eax, 4
cmp ecx, edx
jb 0x4072b0
mov edi, dword [esi]
test edi, edi
jne 0x4072de
mov eax, dword [esi + 4]
inc eax
cmp eax, edx
jae 0x4072de
lea ecx, [ebp + eax*4]
mov edi, dword [ecx]
test edi, edi
jne 0x4072de
inc eax
add ecx, 4
cmp eax, edx
jb 0x4072d0
lea eax, [esi + 8]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::operator_1
add esi, 0xc
lea ecx, [esp + 0x14]
push esi
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esi + 4]
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::operator_1
lea edx, [esi + 8]
lea ecx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CString::operator_1
lea eax, [esi + 0xc]
lea ecx, [esp + 0x20]
push eax
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esi + 0x10]
push ecx
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::operator_1
add esi, 0x14
lea ecx, [esp + 0x28]
push esi
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xc]
push edx
push eax
mov ecx, 0x4136b4
mov dword [esp + 0x34], 0
mov ebp, eax
call fcn.00404480
mov esi, eax
test esi, esi
jne 0x4073af
mov eax, dword [0x4136b8]
test eax, eax
jne 0x407378
mov eax, dword [0x4136bc]
push 1
push eax
mov ecx, 0x4136b4
call fcn.004043a0
mov ecx, 0x4136b4
call fcn.00404410
mov ecx, dword [esp + 0xc]
mov esi, eax
push ebp
mov dword [esi + 4], ecx
lea ecx, [esi + 8]
call sub.MFC42.DLL_CString::operator
mov edx, dword [0x4136b8]
mov eax, dword [esp + 0xc]
mov ecx, dword [edx + eax*4]
mov dword [esi], ecx
mov edx, dword [esp + 0xc]
mov eax, dword [0x4136b8]
mov dword [eax + edx*4], esi
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esi + 0xc]
call fcn.00402220
test edi, edi
jne 0x407295
pop esi
pop ebp
lea ecx, [esp + 8]
mov byte [esp + 0x30], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x28]
pop edi
mov dword fs:[0], ecx
add esp, 0x30
ret