Function at 0x1007cc60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100b75bc
push eax
mov dword fs:[0], esp
sub esp, 0x174
push ebx
push ebp
push edi
mov edi, ecx
xor ebx, ebx
cmp dword [edi + 4], ebx
jne 0x1007cc91
mov eax, 0x80004005
jmp 0x1007dab4
mov ebp, dword [esp + 0x190]
mov dword [esp + 0x18], ebx
cmp ebp, ebx
je 0x1007dab2
mov eax, dword [ebp + 8]
test ah, 2
jne 0x1007dab2
mov ecx, dword [edi + 0xc]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov ecx, dword [edi + 8]
cmp eax, ebx
mov dword [esp + 0x18], eax
jge 0x1007ccf4
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x1007ccea
cmp dword [eax + 0x654], 0x32
jge 0x1007ccea
push 0x1021
push 0x40
add eax, 0x640
push ebx
push eax
call fcn.1009bf70
add esp, 0x10
mov eax, 0x80004005
jmp 0x1007dab4
call fcn.10008a40
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
test eax, 0x4000000
jne 0x1007cd19
mov edx, dword [edi + 0xc]
push 0x1038
push 1
mov ecx, dword [edx + 8]
call fcn.1006fa20
push esi
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x58]
mov dword [esp + 0x18c], ebx
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x9c]
mov byte [esp + 0x18c], 1
call fcn.100ae9aa
lea ecx, [esp + 0x3c]
mov byte [esp + 0x18c], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x18c], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x88]
mov byte [esp + 0x18c], 4
mov dword [esp + 0x2c], ebx
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x18c], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x18c], 6
call sub.MFC42.DLL_CString::CString
cmp word [ebp + 0x98], 0xff
lea esi, [ebp + 0x98]
mov byte [esp + 0x18c], 7
je 0x1007d606
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0x280002
cmp ecx, 0x280002
je 0x1007cde3
and eax, 0x80002
cmp eax, 0x80002
jne 0x1007d606
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x18c], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x18c], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0x18c], 0xa
call fcn.100ae9aa
mov edx, dword [edi + 8]
mov byte [esp + 0x18c], 0xb
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0x118]
cmp eax, 9
je 0x1007ce42
cmp eax, 0xb
mov eax, 1
jne 0x1007ce47
mov eax, 2
lea ecx, [esp + 0x70]
push eax
push ecx
push esi
mov ecx, edi
call fcn.10078e60
test eax, eax
jne 0x1007ce94
mov edx, dword [edi + 8]
mov eax, dword [edx + 8]
cmp eax, ebx
je 0x1007ce6c
cmp dword [eax + 0x654], 0x32
jl 0x1007ce75
mov dword [esp + 0x2c], ebx
jmp 0x1007cfd5
push 0x1021
push 0x40
add eax, 0x640
push ebx
push eax
call fcn.1009bf70
add esp, 0x10
mov dword [esp + 0x2c], eax
jmp 0x1007cfd5
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x18]
lea ecx, [esp + 0x70]
push eax
push ebx
push 0x12
push ecx
mov byte [esp + 0x19c], 0xc
call fcn.10095d00
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
add esp, 0x10
lea edx, [esp + 0x8c]
push edx
call esi
push ebx
lea eax, [esp + 0x90]
push ebx
lea ecx, [ebp + 0x9c]
push eax
push ecx
lea ecx, [edi + 0x1654]
call dword [sym.imp.OOLAPLib.dll_public:_long_int___thiscall_CSimpleOLAP::GetCellValue_struct___MIDL___MIDL_itf_OpenMD_0000_0025_const___struct_tagVARIANT___unsigned_short_int__struct___MIDL___MIDL_itf_OpenMD_0000_0022__]
cmp eax, ebx
mov dword [esp + 0x1c], eax
jge 0x1007cf26
mov edx, dword [edi + 8]
mov eax, dword [edx + 8]
cmp eax, ebx
je 0x1007cf02
cmp dword [eax + 0x654], 0x32
jl 0x1007cf0b
mov dword [esp + 0x2c], ebx
jmp 0x1007cfc4
push 0x1008
push 0x40
add eax, 0x640
push ebx
push eax
call fcn.1009bf70
add esp, 0x10
jmp 0x1007cfc0
mov ax, word [esp + 0x8c]
cmp ax, bx
je 0x1007d01e
cmp ax, 1
je 0x1007d01e
lea eax, [esp + 0x5c]
push eax
call esi
push 5
lea ecx, [esp + 0x90]
push ebx
lea edx, [esp + 0x64]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
fld qword [esp + 0x64]
fcomp qword [0x100c98d0]
mov dword [esp + 0x1c], eax
fnstsw ax
test ah, 0x41
jne 0x1007d01e
fld qword [esp + 0x64]
fcomp qword [0x100c98c8]
fnstsw ax
test ah, 1
je 0x1007d01e
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x1007cf9f
cmp dword [eax + 0x654], 0x32
jl 0x1007cfa5
mov dword [esp + 0x2c], ebx
jmp 0x1007cfc4
mov ecx, dword [esp + 0x18]
add eax, 0x640
push ecx
push 0x1040
push 0x40
push ebx
push eax
call fcn.1009bf70
add esp, 0x14
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x18c], 0xb
call fcn.100ae920
lea ecx, [esp + 0x70]
mov byte [esp + 0x18c], 0xa
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x28]
mov byte [esp + 0x18c], 9
call fcn.100ae920
lea ecx, [esp + 0x24]
mov byte [esp + 0x18c], 8
call fcn.100ae920
lea ecx, [esp + 0x10]
mov byte [esp + 0x18c], 7
call fcn.100ae920
jmp 0x1007d8ae
lea edx, [esp + 0x8c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x78]
mov byte [esp + 0x18c], 0xd
dec eax
mov dword [esp + 0x20], ebx
test eax, eax
jl 0x1007d4ea
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x5c]
push ecx
push edx
lea ecx, [esp + 0x78]
call fcn.1000be00
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0xe
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x5c]
mov byte [esp + 0x18c], 0xd
call fcn.100ae920
mov ecx, dword [esp + 0x10]
xor ebx, ebx
push 0
push 0
mov al, byte [ecx]
cmp al, 0x63
mov eax, dword [edi + 0xc]
sete bl
mov edx, dword [eax + 0x25d8]
mov eax, dword [eax + 0x25d4]
add ecx, ebx
push ecx
push edx
push eax
call fcn.100991a0
mov esi, eax
add esp, 0x14
test esi, esi
jl 0x1007d4ea
mov ecx, dword [esp + 0x194]
xor ebp, ebp
mov eax, dword [ecx + 0xe0]
test eax, eax
jle 0x1007d11b
mov ecx, dword [esp + 0x194]
push ebp
call fcn.10077ff0
push eax
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [eax + 0x25d8]
push edx
mov edx, dword [eax + 0x25d4]
push ecx
push edx
call fcn.100991a0
add esp, 0x14
cmp esi, eax
je 0x1007d144
mov eax, dword [esp + 0x194]
inc ebp
cmp ebp, dword [eax + 0xe0]
jl 0x1007d0ce
mov ecx, dword [edi + 0xc]
lea eax, [esi*8]
sub eax, esi
mov ecx, dword [ecx + 0x25d4]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
lea edx, [ecx + eax*4 + 0x20c]
lea ecx, [esp + 0x24]
push edx
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x14]
xor ebp, ebp
cmp dword [eax - 8], ebp
jne 0x1007d15c
push 0x28
lea ecx, [esp + 0x18]
call fcn.100aea58
jmp 0x1007d167
push 0x2c
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 8], ebp
jne 0x1007d17d
push 0x28
lea ecx, [esp + 0x34]
call fcn.100aea58
jmp 0x1007d188
push 0x2c
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::operator
lea eax, [esi*8]
sub eax, esi
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x25d4]
lea esi, [esi + edx*8]
shl esi, 2
lea edx, [ecx + esi + 0x81]
lea ecx, [esp + 0x30]
push edx
call fcn.100ae91a
push str..CurrentMember
lea ecx, [esp + 0x34]
call fcn.100ae91a
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x63
jne 0x1007d29b
lea ecx, [esp + 0xb0]
call fcn.100ae9aa
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xb0]
push eax
push 0x5b
push 0x2c
add ebx, ecx
push 0x5d
push ebx
mov byte [esp + 0x1a0], 0xf
call fcn.1009a200
add esp, 0x14
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x44]
push 1
push edx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x194], 0x10
call fcn.1000be00
mov ecx, dword [edi + 8]
mov eax, dword [eax]
push eax
mov byte [esp + 0x190], 0x11
mov edx, dword [ecx + 0x25d4]
lea ecx, [esp + 0x58]
lea eax, [edx + esi + 0x81]
push eax
push str.Cousin__s.CurrentMember__s_
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0x44]
mov byte [esp + 0x18c], 0x10
call fcn.100ae920
lea edx, [esp + 0x54]
lea ecx, [esp + 0x14]
push edx
call fcn.100aea2e
lea ecx, [esp + 0x54]
mov byte [esp + 0x18c], 0xf
call fcn.100ae920
lea ecx, [esp + 0xb0]
mov byte [esp + 0x18c], 0xd
call sub.MFC42.DLL_CStringArray::CStringArray
jmp 0x1007d4cd
push 0xa
push 0x100e0b40
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1007d2ba
lea eax, [esp + 0x10]
push eax
jmp 0x1007d4c4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1007d2fe
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x25d4]
lea edx, [ecx + esi + 0x81]
lea ecx, [esp + 0x14]
push edx
call fcn.100ae91a
push str..CurrentMember
lea ecx, [esp + 0x18]
call fcn.100ae91a
jmp 0x1007d4cd
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x86]
push eax
push ecx
push edx
call fcn.10099610
add esp, 0xc
test eax, eax
je 0x1007d32f
lea eax, [esp + 0x10]
lea ecx, [esp + 0x28]
push eax
call sub.MFC42.DLL_CString::operator_2
jmp 0x1007d4bf
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::Empty
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x25d4]
mov ax, word [edx + esi + 0x40e]
cmp ax, 2
je 0x1007d359
cmp ax, 3
jne 0x1007d48c
lea eax, [esp + 0xc4]
mov edx, 0xc
mov word [eax], bp
add eax, 0x10
dec edx
jne 0x1007d365
mov ebx, 8
mov word [esp + 0xe4], bx
call fcn.1000fe40
mov eax, dword [eax + 0x18]
add eax, ebx
push eax
call fcn.100af44e
mov ecx, dword [edi + 8]
mov dword [esp + 0xec], eax
mov word [esp + 0xf4], bx
mov edx, dword [ecx + 0x25d4]
lea eax, [edx + esi + 0x188]
push eax
call fcn.100af44e
mov ecx, dword [edi + 8]
mov dword [esp + 0xfc], eax
mov word [esp + 0x104], bx
mov edx, dword [ecx + 0x25d4]
lea eax, [edx + esi + 0x81]
push eax
call fcn.100af44e
lea ecx, [esp + 0x24]
mov dword [esp + 0x10c], eax
mov word [esp + 0x144], bx
call sub.MFC42.DLL_CString::AllocSysString
mov ecx, dword [0x100f0d50]
push ebp
push ebp
push ebp
push ebp
push ecx
lea edx, [esp + 0x60]
mov dword [esp + 0x160], eax
push 1
push edx
mov edx, dword [edi + 8]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x6c], ebp
mov eax, dword [edx + 0x267c]
push ebp
push ecx
push 0xc
push eax
call fcn.1003dd60
add esp, 0x30
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
mov dword [esp + 0x1c], eax
js 0x1007d461
cmp dword [esp + 0x4c], ebp
jle 0x1007d461
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x18], ebp
jg 0x1007d461
lea edx, [esp + 0x10]
lea ecx, [esp + 0x28]
push edx
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.10098090
add esp, 8
lea ebp, [esp + 0xc4]
mov ebx, 0xc
push ebp
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
add ebp, 0x10
dec ebx
jne 0x1007d47f
mov edx, dword [esp + 0x28]
mov eax, dword [edx - 8]
test eax, eax
jne 0x1007d4bf
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [ecx + 0x25d4]
lea ecx, [esp + 0x2c]
lea eax, [edx + esi + 0x81]
push eax
push str.Cousin__s.CurrentMember__s_
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x18]
call fcn.100aea2e
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x194]
inc eax
dec ecx
mov dword [esp + 0x20], eax
cmp eax, ecx
jle 0x1007d04e
push 0x100ec3d4
lea ecx, [esp + 0x18]
call fcn.100ae91a
push 0x100ec3d4
lea ecx, [esp + 0x34]
call fcn.100ae91a
lea edx, [esp + 0x14]
lea ecx, [esp + 0x40]
push edx
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x18]
lea ecx, [esp + 0x44]
push eax
push 0x100e78b4
push ecx
mov byte [esp + 0x198], 0x12
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x190], 0x13
call fcn.100aea2e
lea ecx, [esp + 0x44]
mov byte [esp + 0x18c], 0x12
call fcn.100ae920
mov eax, dword [0x100f0d60]
test eax, eax
je 0x1007d57f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
lea edx, [esp + 0x54]
push str.Iif_IsEmpty__s__Iif_IsEmpty__s__Null_0___s_
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x1007d58d
lea eax, [esp + 0x14]
lea ecx, [esp + 0x48]
push eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x40]
mov byte [esp + 0x18c], 0xd
call fcn.100ae920
lea ecx, [esp + 0x30]
mov byte [esp + 0x18c], 0xc
call fcn.100ae920
lea ecx, [esp + 0x18]
mov byte [esp + 0x18c], 0xb
call fcn.100ae920
lea ecx, [esp + 0x70]
mov byte [esp + 0x18c], 0xa
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x28]
mov byte [esp + 0x18c], 9
call fcn.100ae920
lea ecx, [esp + 0x24]
mov byte [esp + 0x18c], 8
call fcn.100ae920
lea ecx, [esp + 0x10]
mov byte [esp + 0x18c], 7
call fcn.100ae920
xor ebx, ebx
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0x200001
cmp ecx, 0x200001
jne 0x1007d620
push str.USE_EQUAL_ALLOCATION
jmp 0x1007d658
mov edx, eax
and edx, 1
cmp dl, 1
jne 0x1007d631
push str.USE_EQUAL_INCREMENT
jmp 0x1007d658
mov ecx, eax
and ecx, 0x200002
cmp ecx, 0x200002
jne 0x1007d648
push str.USE_WEIGHTED_ALLOCATION
jmp 0x1007d658
and eax, 2
cmp al, 2
jne 0x1007d87b
push str.USE_WEIGHTED_INCREMENT
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp + 0xe0]
xor esi, esi
cmp eax, ebx
jle 0x1007d695
push esi
mov ecx, ebp
call fcn.10077ff0
mov edx, dword [esp + 0xa4]
push eax
push edx
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov eax, dword [ebp + 0xe0]
inc esi
cmp esi, eax
jl 0x1007d66d
lea eax, [esp + 0x58]
lea ecx, [esp + 0x9c]
push eax
push 0
push 0x10
push ecx
call fcn.10095d00
mov ebx, dword [sym.imp.MSVCRT.dll_setlocale]
push 0
push 4
call ebx
add esp, 0x18
lea ecx, [esp + 0x50]
push eax
call sub.MFC42.DLL_CString::operator_1
push 0x100ec348
push 4
call ebx
fld qword [ebp + 0x100]
add esp, 8
call sub.MSVCRT.dll__ftol
fld qword [ebp + 0x100]
mov ecx, eax
fst qword [esp + 0x5c]
mov dword [esp + 0x44], ecx
fild dword [esp + 0x44]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x40
je 0x1007d70f
push ecx
lea edx, [esp + 0x3c]
push 0x100e06b4
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp 0x1007d74c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
lea edx, [esp + 0x40]
push 0x100ec304
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0x38]
push 0x30
push 0
call sub.MFC42.DLL_CString::GetBuffer
push eax
call fcn.10037a50
add esp, 8
lea ecx, [esp + 0x38]
push 0xffffffffffffffff
call sub.MFC42.DLL_CString::ReleaseBuffer
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx - 8]
test eax, eax
mov eax, 0x100f029c
je 0x1007d761
mov eax, str._BY
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
lea esi, [edi + 0x16c8]
push eax
push ecx
mov ecx, dword [edi + 0xc]
push edx
call fcn.1000fe40
mov eax, dword [eax + 0x18]
add eax, 8
push eax
push str.UPDATE_CUBE___s__SET__s_s__s_s_s
push esi
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x70]
push ecx
push 4
call ebx
add esp, 0x28
mov ecx, 0x100f0818
call fcn.100882b0
test eax, eax
je 0x1007d7ce
mov ebx, dword [esi]
push str._r_n_r_n
push str.__Simulation_r_n
mov ecx, 0x100f0818
call fcn.100882e0
push eax
push ebx
mov ecx, 0x100f0818
call fcn.10088520
mov edx, dword [edi + 8]
mov dword [esp + 0x20], 0
mov eax, dword [edx + 8]
lea edx, [esp + 0x20]
push edx
push 0x100e0928
mov eax, dword [eax + 0x94]
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
mov dword [esp + 0x1c], eax
jl 0x1007d8ae
mov ecx, dword [edi + 8]
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0x170]
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x1007d84f
mov ecx, esi
call sub.MFC42.DLL_CString::AllocSysString
mov esi, eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x1c]
mov ecx, dword [eax]
push edx
push esi
push eax
call dword [ecx + 0x18]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x1007d84f
test byte [edi + 0x168c], 2
je 0x1007d84f
mov ecx, dword [edi + 8]
push 0
mov eax, dword [ecx]
call dword [eax + 0x5c]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x1007d8ae
test dword [ebp + 8], 0x4000000
jne 0x1007d8c2
mov edx, dword [edi + 0xc]
push 0
push 1
mov ecx, dword [edx + 8]
call fcn.1006fb60
jmp 0x1007d8ae
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x1007d88e
cmp dword [eax + 0x654], 0x32
jl 0x1007d894
mov dword [esp + 0x2c], ebx
jmp 0x1007d8ae
push 0x1021
push 0x40
add eax, 0x640
push ebx
push eax
call fcn.1009bf70
add esp, 0x10
mov dword [esp + 0x2c], eax
test dword [ebp + 8], 0x4000000
jne 0x1007d8c2
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 8]
call fcn.1006fbd0
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
jge 0x1007da06
cmp dword [esp + 0x2c], esi
jne 0x1007d8ff
mov edx, dword [edi + 8]
mov eax, dword [edx + 8]
cmp eax, esi
je 0x1007d8ff
cmp dword [eax + 0x654], 0x32
jge 0x1007d8ff
push 0x1006
push 0x40
add eax, 0x640
push esi
push eax
call fcn.1009bf70
add esp, 0x10
mov eax, dword [edi + 8]
mov dword [esp + 0x20], esi
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x94]
lea ecx, [esp + 0x20]
push ecx
push 0x100e0960
mov edx, dword [eax]
push eax
call dword [edx]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], esi
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], esi
cmp eax, esi
jle 0x1007d9f8
mov ecx, dword [esp + 0x18]
mov ebp, 0x10
mov edx, dword [ecx + ebp - 8]
test edx, edx
je 0x1007d9de
cmp word [edx], 0
je 0x1007d9de
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
test eax, eax
je 0x1007d97e
cmp dword [eax + 0x654], 0x32
jl 0x1007d982
xor ebx, ebx
jmp 0x1007d9a0
push edx
push 0x1007
push 0x40
add eax, 0x640
push 0
push eax
call fcn.1009bf70
mov ecx, dword [esp + 0x2c]
add esp, 0x14
mov ebx, eax
mov eax, dword [ecx + ebp - 4]
xor esi, esi
test eax, eax
jle 0x1007d9de
mov edx, dword [ecx + ebp]
cmp dword [edx + esi*4], 0
je 0x1007d9d5
mov eax, edx
mov eax, dword [eax + esi*4]
cmp word [eax], 0
je 0x1007d9d5
test ebx, ebx
je 0x1007d9d5
push eax
push 0x1007
push ebx
call fcn.1009c140
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [ecx + ebp - 4]
inc esi
cmp esi, eax
jl 0x1007d9aa
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
inc edx
add ebp, 0x14
cmp edx, eax
mov dword [esp + 0x40], edx
jl 0x1007d95d
jmp 0x1007d9fc
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.10096620
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ecx, dword [esp + 0x6c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x48]
mov byte [esp + 0x18c], 6
call fcn.100ae920
lea ecx, [esp + 0x14]
mov byte [esp + 0x18c], 5
call fcn.100ae920
lea ecx, [esp + 0x88]
mov byte [esp + 0x18c], 4
call fcn.100ae920
lea ecx, [esp + 0x38]
mov byte [esp + 0x18c], 3
call fcn.100ae920
lea ecx, [esp + 0x3c]
mov byte [esp + 0x18c], 2
call fcn.100ae920
lea ecx, [esp + 0x9c]
mov byte [esp + 0x18c], 1
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x58]
mov byte [esp + 0x18c], 0
call fcn.100ae920
lea ecx, [esp + 0x50]
mov dword [esp + 0x18c], 0xffffffff
call fcn.100ae920
mov eax, esi
pop esi
jmp 0x1007dab4
xor eax, eax
mov ecx, dword [esp + 0x180]
pop edi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x180
ret 4