Function at 0x409c3f
Capabilities:
Create process on windows
Enumerate gui resources
Set current directory
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4261d7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x710
push edi
mov dword [ebp - 0x718], ecx
lea ecx, [ebp - 0x174]
call sub.MFC42.DLL_CFile::CFile
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.0040ac60
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x160]
call sub.MFC42.DLL_CString::CString_3
mov byte [ebp - 4], 2
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x6d4], 0
mov ecx, 0xe
xor eax, eax
lea edi, [ebp - 0x6d0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x7c]
push ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040af20
mov dword [ebp - 0x6dc], eax
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx]
mov dword [ebp - 0x71c], eax
cmp dword [ebp - 0x71c], 0x7a
jg 0x409d32
cmp dword [ebp - 0x71c], 0x78
jge case.0x409d2b.3
mov ecx, dword [ebp - 0x71c]
sub ecx, 0x64
mov dword [ebp - 0x71c], ecx
cmp dword [ebp - 0x71c], 0xc
ja case.0x409d7b.4
mov eax, dword [ebp - 0x71c]
xor edx, edx
mov dl, byte [eax + 0x40a925]
jmp dword [edx*4 + 0x40a909]
cmp dword [ebp - 0x71c], 0x12e
jg 0x409d82
cmp dword [ebp - 0x71c], 0x12e
je 0x409e56
mov ecx, dword [ebp - 0x71c]
sub ecx, 0x7b
mov dword [ebp - 0x71c], ecx
cmp dword [ebp - 0x71c], 0xb2
ja case.0x409d7b.4
mov eax, dword [ebp - 0x71c]
xor edx, edx
mov dl, byte [eax + 0x40a946]
jmp dword [edx*4 + 0x40a932]
cmp dword [ebp - 0x71c], 0x1f6
jg 0x409db3
cmp dword [ebp - 0x71c], 0x1f4
jge 0x40a5fd
cmp dword [ebp - 0x71c], 0x191
je 0x40a5ce
jmp case.0x409d7b.4
cmp dword [ebp - 0x71c], 0x2c8
je 0x40a016
jmp case.0x409d7b.4
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [ebp - 0x590]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x694]
push edx
mov ecx, dword [ebp - 0x718]
call fcn.00409a84
lea eax, [ebp - 0x386]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x409e1e
lea ecx, [ebp - 0x386]
push ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x6c
call fcn.0042554c
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x7c]
add eax, 1
mov ecx, dword [ebp - 0x718]
mov dword [ecx + 0x7c], eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040f5c0
mov edx, dword [ebp - 0x718]
cmp dword [edx + 0x7c], eax
jge 0x409e51
jmp 0x409cbf
jmp case.0x409d7b.4
lea eax, [ebp - 0x15c]
push eax
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
push eax
call sub.MFC42.DLL_CFile::GetStatus
test eax, eax
jne 0x409eeb
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx + 4], 2
jne 0x409e9a
mov edx, dword [ebp - 0x718]
mov eax, dword [edx + 0x7c]
add eax, 1
mov ecx, dword [ebp - 0x718]
mov dword [ecx + 0x7c], eax
jmp 0x409ee6
mov edx, dword [ebp - 0x6dc]
cmp dword [edx + 4], 1
jne 0x409ee6
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b140
cmp eax, 0x7b2
je 0x409ee6
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x7c]
add ecx, 1
mov edx, dword [ebp - 0x718]
mov dword [edx + 0x7c], ecx
push 0
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b0d0
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x6dc]
cmp dword [eax + 4], 0
jne 0x409f11
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
jmp 0x409faa
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx + 4], 1
jne 0x409faa
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b140
cmp eax, 0x7b2
jne 0x409f53
lea edx, [ebp - 0x158]
push edx
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b090
jmp 0x409fa5
push ecx
mov ecx, esp
mov dword [ebp - 0x6e0], esp
lea eax, [ebp - 0x158]
push eax
call fcn.0040b090
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b510
test eax, eax
je 0x409fa5
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
push 0
mov ecx, dword [ebp - 0x718]
add ecx, 0xb4
call fcn.0040b0d0
jmp case.0x409d7b.4
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov ecx, dword [ebp - 0x718]
call fcn.00409b68
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
mov dword [ebp - 0x44], 0
jmp 0x40a03d
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + 4]
jge 0x40a055
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x40a034
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
mov dword [ebp - 0x6d4], 0x3c
mov dword [ebp - 0x6d0], 0x440
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call fcn.00403050
test eax, eax
jne 0x40a0ab
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x20
call fcn.00403050
test eax, eax
jne 0x40a0d1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x20
call fcn.00403090
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx], 0xc9
jne 0x40a0f1
push 0x42fc08
lea ecx, [ebp - 0x164]
call fcn.0042554c
jmp 0x40a121
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0xca
jne 0x40a111
push str.Explore
lea ecx, [ebp - 0x164]
call fcn.0042554c
jmp 0x40a121
push str.Print
lea ecx, [ebp - 0x164]
call fcn.0042554c
push 1
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::GetBuffer
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6b8], 1
mov ecx, 0x4317b0
call fcn.0040b0b0
push 1
push 0x40977e
call dword [sym.imp.USER32.dll_EnumWindows]
lea eax, [ebp - 0x6d4]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x40a1a8
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ebp - 0x69c]
mov dword [ecx + 8], edx
mov dword [0x431de4], 0
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 2
push 0x40977e
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [0x431de4]
mov dword [eax + 0xc], ecx
jmp 0x40a1be
mov edx, dword [ebp - 0x6dc]
mov dword [edx + 8], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40], eax
mov ecx, 0x4317b0
call fcn.0040b0b0
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x718]
call fcn.004097f5
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffff
jne 0x40a223
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040af20
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
jne 0x40a246
jmp case.0x409d7b.4
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0x6f
je 0x40a260
mov eax, dword [ebp - 0x6dc]
cmp dword [eax], 0x70
jne 0x40a2e6
mov dword [ebp - 0x3c], 0x2c
lea ecx, [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov eax, dword [ebp - 0x6dc]
cmp dword [eax], 0x6f
jne 0x40a2b2
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x178]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x698]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x1c], ecx
jmp 0x40a2ca
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x178]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x698]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
push 1
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a324
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx], 0x6c
jne 0x40a2ff
push 3
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a324
mov eax, dword [ebp - 0x6dc]
cmp dword [eax], 0x6d
jne 0x40a318
push 6
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a324
push 1
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
push 1
mov ecx, dword [ebp - 0x6dc]
add ecx, 0x1c
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov ecx, dword [ebp - 0x718]
call fcn.00409945
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40a386
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx], 0x7b
je 0x40a3a0
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0x7c
jne 0x40a426
mov dword [ebp - 0x3c], 0x2c
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0x7b
jne 0x40a3f2
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x178]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x698]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0x1c], eax
jmp 0x40a40a
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x178]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x698]
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
push 1
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a481
mov eax, dword [ebp - 0x6dc]
cmp dword [eax], 0x78
jne 0x40a43f
push 3
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a481
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0x79
jne 0x40a458
push 6
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp 0x40a481
mov ecx, dword [ebp - 0x6dc]
cmp dword [ecx], 0x6a
jne 0x40a475
push 0
push 0
push 0x10
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x40a481
push 1
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_ShowWindowAsync]
jmp case.0x409d7b.4
mov ecx, dword [ebp - 0x718]
mov edx, dword [ecx + 0x7c]
add edx, 1
mov eax, dword [ebp - 0x718]
mov dword [eax + 0x7c], edx
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x718]
call fcn.004097f5
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffff
jle 0x40a530
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040af20
mov dword [ebp - 0x6d8], eax
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0xf060
push 0x112
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
mov edx, dword [ebp - 0x6d8]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x7c]
add ecx, 1
mov edx, dword [ebp - 0x718]
mov dword [edx + 0x7c], ecx
call sub.comnet.dll_LCOMNET_GetMyDir
push eax
lea ecx, [ebp - 0x164]
call fcn.0042554c
push 0x42fc20
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 4]
push eax
push 0x42fc30
lea ecx, [ebp - 0x160]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push 0
push 1
lea ecx, [ebp - 0x160]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 1
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0x42fc38
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov edx, dword [ebp - 0x6dc]
mov dword [edx + 8], eax
jmp case.0x409d7b.4
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x7c]
add ecx, 1
mov edx, dword [ebp - 0x718]
mov dword [edx + 0x7c], ecx
mov eax, dword [ebp - 0x6dc]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x718]
call fcn.00409637
jmp case.0x409d7b.4
lea ecx, [ebp - 0x6ec]
push ecx
call sub.MFC42.DLL_COleDateTime::GetTickCount
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x9c
call fcn.0040bf50
mov edx, dword [ebp - 0x6dc]
cmp dword [edx], 0x1f5
jne 0x40a6d1
mov eax, dword [ebp - 0x6dc]
mov dword [eax], 0x1f4
mov ecx, dword [ebp - 0x718]
add ecx, 0x9c
push ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x90
call fcn.0040bf50
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0x10]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.0040c030
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0xa8
call sub.MFC42.DLL_COleDateTimeSpan::operator
mov ecx, dword [ebp - 0x718]
add ecx, 0xa8
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x6fc], esp
push ecx
mov ecx, edx
call fcn.0040c000
mov ecx, dword [ebp - 0x718]
add ecx, 0x90
call fcn.0040bfa0
jmp 0x40a7ac
mov eax, dword [ebp - 0x6dc]
cmp dword [eax], 0x1f6
jne 0x40a775
mov ecx, dword [ebp - 0x6dc]
mov dword [ecx], 0x1f4
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0x18]
push ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x90
call sub.MFC42.DLL_COleDateTime::SetDateTime
mov edx, dword [ebp - 0x718]
add edx, 0x9c
push edx
lea eax, [ebp - 0x708]
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x90
call fcn.00425624
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0xa8
call sub.MFC42.DLL_COleDateTimeSpan::operator
jmp 0x40a7ac
mov ecx, dword [ebp - 0x718]
add ecx, 0x9c
push ecx
lea edx, [ebp - 0x714]
push edx
mov ecx, dword [ebp - 0x718]
add ecx, 0x90
call fcn.00425624
push eax
mov ecx, dword [ebp - 0x718]
add ecx, 0xa8
call sub.MFC42.DLL_COleDateTimeSpan::operator
mov ecx, dword [ebp - 0x718]
add ecx, 0xa8
call fcn.0040c080
mov eax, dword [ebp - 0x718]
fstp qword [eax + 0x88]
mov ecx, dword [ebp - 0x718]
fld qword [ecx + 0x88]
fcomp qword [0x4290b8]
fnstsw ax
test ah, 0x41
je case.0x409d7b.4
mov edx, dword [ebp - 0x718]
mov dword [edx + 0x88], 0
mov dword [edx + 0x8c], 0
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax + 0x7c]
add ecx, 1
mov edx, dword [ebp - 0x718]
mov dword [edx + 0x7c], ecx
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040f5c0
mov ecx, dword [ebp - 0x718]
cmp dword [ecx + 0x7c], eax
jge case.0x409d7b.4
jmp 0x409cbf
mov edx, dword [ebp - 0x718]
cmp dword [edx + 0x20], 0
jne 0x40a870
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x160]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.0042561e
jmp 0x40a8fa
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x718]
call fcn.00408b3f
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040f5c0
mov ecx, dword [ebp - 0x718]
cmp dword [ecx + 0x7c], eax
jl 0x40a8ca
mov ecx, dword [ebp - 0x718]
add ecx, 0x54
call fcn.0040af00
push 0
push 0
push 0x414
mov ecx, dword [ebp - 0x718]
call fcn.0040bed0
mov ecx, eax
call fcn.00406960
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x160]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x164]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.0042561e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret