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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10bd540b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x494
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
cmp ebx, edi
mov dword [ebp - 0x10], esp
je 0x1091bae8
mov eax, dword [ebx + 0x24]
cmp eax, edi
je 0x1091bae8
cmp eax, 0x10cca798
je 0x1091bae4
mov eax, dword [eax + 0x28]
cmp eax, edi
jne 0x1091bad4
jmp 0x1091bae8
or dword [ebx + 0x2c], 1
mov eax, dword [ebp + 0x14]
push 0x100
push eax
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
call dword [sym.imp.MSVCR70.dll_wcsncpy]
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
mov word [ebp - 0xae], di
call dword [sym.imp.MSVCR70.dll_wcslen]
add esp, 0x10
cmp eax, edi
jle 0x1091bb42
mov esi, dword [0x10c70b8c]
lea edx, reloc.ole32.dll_CoCreateGuid
mov cx, word [edx]
cmp cx, si
je 0x1091bb42
cmp cx, 0x2f
je 0x1091bb42
cmp cx, 0x3a
je 0x1091bb42
dec eax
sub edx, 2
cmp eax, edi
jg 0x1091bb26
mov word [ebp + eax*2 - 0x2ac], di
lea eax, reloc.ole32.dll_CoCreateGuid
push 0x10c70b90
push eax
call dword [sym.imp.MSVCR70.dll_wcscat]
mov edx, dword [ebp + 0x14]
mov eax, dword [0x10c946bc]
mov ecx, dword [eax]
push edx
push str.Saving_file__s...
push edi
push edi
push eax
call dword [ecx + 0x14]
push 1
push edi
push ebx
mov dword [ebp - 0x4c], edi
call fcn.1091b6c0
mov edx, dword [0x10cc9e80]
mov ebx, dword [0x10cc9e84]
add esp, 0x28
or eax, reloc.ole32.dll_CoCreateGuid
inc eax
cmp eax, ebx
jge 0x1091bbc5
cmp dword [edx + eax*4], edi
je 0x1091bb90
cmp eax, ebx
jge 0x1091bbc5
mov esi, 0xfff8ffe7
mov ecx, dword [edx + eax*4]
and dword [ecx + 0x1c], esi
mov edx, dword [0x10cc9e80]
mov ebx, dword [0x10cc9e84]
inc eax
cmp eax, ebx
jge 0x1091bbca
cmp dword [edx + eax*4], edi
je 0x1091bbb5
cmp eax, ebx
jl 0x1091bba3
jmp 0x1091bbca
mov esi, 0xfff8ffe7
mov eax, dword [0x10cc9e60]
xor ecx, ecx
cmp eax, edi
jle 0x1091bbfa
mov eax, dword [0x10cc9e5c]
mov eax, dword [eax + ecx*4]
cmp eax, edi
je 0x1091bbf0
and dword [eax + 4], esi
mov edx, dword [0x10cc9e80]
mov ebx, dword [0x10cc9e84]
mov eax, dword [0x10cc9e60]
inc ecx
cmp ecx, eax
jl 0x1091bbd5
mov ecx, dword [ebp + 8]
mov eax, 1
mov dword [ebp - 0xa0], 0xaf
mov dword [ebp - 0x9c], 0x7d0
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], 3
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], reloc.ole32.dll_CoCreateGuid
mov dword [ebp - 0xa4], 0x10c0d058
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], eax
cmp dword [ebp + 0xc], edi
mov dword [ebp - 4], edi
je 0x1091bc88
lea edx, [ebp + 0xc]
push edx
lea ecx, [ebp - 0xa4]
call dword [0x10c0d070]
mov edx, dword [0x10cc9e80]
mov ebx, dword [0x10cc9e84]
or esi, reloc.ole32.dll_CoCreateGuid
jmp 0x1091bc90
inc esi
cmp esi, ebx
jge 0x1091bcfe
cmp dword [edx + esi*4], edi
je 0x1091bc90
cmp esi, ebx
jge 0x1091bcfe
mov edi, edi
mov eax, dword [edx + esi*4]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
test dword [eax + 0x1c], ecx
je 0x1091bcf0
mov eax, dword [eax + 0x18]
cmp eax, edi
mov ecx, dword [ebp + 8]
je 0x1091bcc3
cmp eax, ecx
je 0x1091bcce
mov eax, dword [eax + 0x18]
cmp eax, edi
jne 0x1091bcb8
xor eax, eax
cmp ecx, edi
sete al
cmp eax, edi
je 0x1091bcf0
mov eax, dword [ebp - 0xa4]
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xa4]
call dword [eax + 0x18]
mov edx, dword [0x10cc9e80]
mov ebx, dword [0x10cc9e84]
lea ecx, [ecx]
inc esi
cmp esi, ebx
jge 0x1091bcfe
cmp dword [edx + esi*4], edi
je 0x1091bcf0
cmp esi, ebx
jl 0x1091bca0
mov ebx, dword [ebp + 0x14]
mov esi, dword [sym.imp.MSVCR70.dll_wcsstr]
push str..sdc
push ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], 1
call esi
add esp, 8
test eax, eax
jne 0x1091bd6b
push str._i.utc
push ebx
call esi
add esp, 8
test eax, eax
jne 0x1091bd6b
mov ecx, dword [0x10c71aa8]
mov edx, dword [0x10c925b4]
push edi
push edi
push ecx
push edi
push edi
push eax
push edx
push 0x10cca450
call fcn.1091d380
add esp, 0x20
cmp eax, edi
je 0x1091bda7
push edi
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [ebp + 8]
push eax
call fcn.109597e0
mov edi, eax
mov dword [ebp - 0x20], edi
jmp 0x1091bdad
mov edx, dword [0x10c71aa8]
push edi
push edi
push edx
push edi
xor eax, eax
push edi
push eax
mov eax, dword [0x10c925b4]
push eax
push 0x10cca450
call fcn.1091d380
add esp, 0x20
cmp eax, edi
je 0x1091bda7
push 1
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [ebp + 8]
push eax
call fcn.109597e0
mov dword [ebp - 0x20], eax
jmp 0x1091bdaa
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x20]
mov esi, 0x10cc9e80
or ebx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [esi + 4]
inc ebx
cmp ebx, eax
jge 0x1091bed5
mov edx, dword [esi]
cmp dword [edx + ebx*4], 0
je 0x1091bdb5
lea esp, [esp]
cmp ebx, dword [esi + 4]
jge 0x1091bed5
mov eax, dword [esi]
mov ecx, dword [eax + ebx*4]
test byte [ecx + 0x1c], 0x10
je 0x1091bec0
mov edx, dword [esi]
mov eax, dword [edx + ebx*4]
mov eax, dword [eax + 0x1c]
xor ecx, ecx
mov edx, 1
and eax, 0x70000
mov dword [ebp - 0xa4], 0xaf
mov dword [ebp - 0xa0], 0x7d0
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], 3
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], reloc.ole32.dll_CoCreateGuid
mov dword [ebp - 0xa8], 0x10c0cf38
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], edx
mov ecx, dword [esi]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx]
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 2
call dword [edx + 0x28]
mov ecx, dword [esi]
mov edx, dword [ecx + ebx*4]
mov eax, dword [edx + 0x24]
mov edx, dword [ebp - 0xa8]
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x18], eax
call dword [edx + 0x18]
mov eax, dword [esi]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx + 0x18]
mov ecx, dword [0x10c925b4]
test eax, eax
je 0x1091beb2
cmp eax, ecx
je 0x1091beb2
mov eax, dword [eax + 0x18]
jmp 0x1091bea5
mov byte [ebp - 4], 1
mov dword [ebp - 0xa8], 0x10c0e918
mov eax, dword [esi + 4]
inc ebx
cmp ebx, eax
jge 0x1091bed5
mov edx, dword [esi]
cmp dword [edx + ebx*4], 0
je 0x1091bec0
jmp 0x1091bdd0
mov ecx, 0x10cc9e80
mov dword [ebp - 0x28], ecx
or eax, reloc.ole32.dll_CoCreateGuid
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
mov dword [ebp - 0x24], eax
jge 0x1091bef3
mov edx, dword [ecx]
cmp dword [edx + eax*4], 0
je 0x1091bee0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ecx + 4]
jge 0x1091c22f
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
test byte [eax + 0x1c], 0x18
mov dword [ebp - 0x14], eax
je 0x1091c209
mov edx, dword [0x10cc9e5c]
mov ecx, eax
mov eax, dword [ecx + 0x20]
mov eax, dword [edx + eax*4]
mov ebx, dword [eax + 4]
mov edx, 0x70010
or ebx, edx
mov dword [eax + 4], ebx
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x1091bf45
mov esi, dword [0x10cc9e5c]
mov eax, dword [eax + 0x20]
mov eax, dword [esi + eax*4]
or dword [eax + 4], edx
test byte [ecx + 0x1c], 8
je 0x1091c209
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + eax*4]
mov ebx, dword [eax + 4]
mov edx, 0x70010
or ebx, edx
mov dword [eax + 4], ebx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov esi, dword [0x10cc9e5c]
mov eax, dword [esi + eax*4]
or dword [eax + 4], edx
test byte [ecx + 0x1c], 4
jne 0x1091c209
mov edx, dword [0x10cc9e5c]
mov ebx, ecx
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push 0x10c6f8f8
push 0x10c7d0d8
call fcn.1090f4f0
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcslen]
lea esi, reloc.ole32.dll_CoCreateGuid
add esp, 0x10
test esi, esi
jne 0x1091bfcf
mov esi, 0x10c7d0d8
mov word [esi], 0
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1091bff2
push esi
push 0
call fcn.10915d90
push 0x10c6f8e8
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
add esp, 8
mov ecx, dword [ebx + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
mov ebx, dword [0x10c946bc]
push 0x10c7d0d8
push str.Referencers_of__s:
call fcn.109118d0
add esp, 0x10
mov ebx, 0x10cc9e80
or esi, reloc.ole32.dll_CoCreateGuid
lea esp, [esp]
mov eax, dword [ebx + 4]
inc esi
cmp esi, eax
mov dword [ebp - 0x18], esi
jge 0x1091c15d
mov eax, dword [ebx]
cmp dword [eax + esi*4], 0
je 0x1091c030
cmp esi, dword [ebx + 4]
jge 0x1091c15d
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov edx, dword [ebp - 0x24]
mov eax, dword [eax + edx*4]
mov ecx, dword [ebx]
mov ecx, dword [ecx + esi*4]
push eax
lea edx, [ebp - 0xa8]
push edx
call fcn.10918280
mov eax, dword [ebp - 0x64]
test eax, eax
mov byte [ebp - 4], 3
je 0x1091c12f
mov eax, dword [ebx]
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x1091c104
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push 0x10c6f8f8
push 0x10c7d0d8
call fcn.1090f4f0
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcslen]
lea esi, reloc.ole32.dll_CoCreateGuid
add esp, 0x10
test esi, esi
jne 0x1091c0c5
mov esi, 0x10c7d0d8
mov word [esi], 0
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1091c0e8
push esi
push 0
call fcn.10915d90
push 0x10c6f8e8
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
add esp, 8
mov ecx, dword [ebx + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
mov esi, dword [ebp - 0x18]
jmp 0x1091c114
push 0x10c6f900
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcscpy]
mov ebx, dword [0x10c946bc]
add esp, 8
push 0x10c7d0d8
push str.____s
call fcn.109118d0
add esp, 8
mov byte [ebp - 4], 1
mov dword [ebp - 0xa8], 0x10c0e918
lea ecx, [ecx]
mov ebx, 0x10cc9e80
mov eax, dword [ebx + 4]
inc esi
cmp esi, eax
mov dword [ebp - 0x18], esi
jge 0x1091c15d
mov eax, dword [ebx]
cmp dword [eax + esi*4], 0
je 0x1091c140
jmp 0x1091c047
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1091c1e0
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push 0x10c6f8f8
push 0x10c7d0d8
call fcn.1090f4f0
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcslen]
lea esi, reloc.ole32.dll_CoCreateGuid
add esp, 0x10
test esi, esi
jne 0x1091c1a4
mov esi, 0x10c7d0d8
mov word [esi], 0
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1091c1c7
push esi
push 0
call fcn.10915d90
push 0x10c6f8e8
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
add esp, 8
mov ecx, dword [ebx + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
jmp 0x1091c1f0
push 0x10c6f900
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcscpy]
mov eax, dword [ebp + 0x14]
add esp, 8
push 0x10c7d0d8
push eax
push str.Cant_save__s:_Graph_is_linked_to_external_private_object__s
call fcn.109120a0
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
nop
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
mov dword [ebp - 0x24], eax
jge 0x1091bef3
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
cmp dword [edx + eax*4], 0
je 0x1091c210
jmp 0x1091bef3
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
je 0x1091c2d4
lea eax, [ebx + 0x50]
mov edx, dword [eax]
lea ecx, [edi + 0x50]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
add ebx, 0x60
lea esi, [edi + 0x60]
cmp esi, ebx
mov dword [ecx + 0xc], eax
je 0x1091c288
mov eax, dword [ebx + 4]
push eax
push 8
mov ecx, esi
call fcn.10904550
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov eax, dword [esi]
shl ecx, 3
push ecx
push edx
push eax
call fcn.109040a0
mov ecx, dword [ebx + 4]
add esp, 0xc
mov dword [esi + 4], ecx
xor ebx, ebx
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ebp - 0x18], ecx
inc ecx
cmp ecx, eax
mov dword [esi + 4], ecx
jle 0x1091c377
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [esi]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [esi + 8], eax
mov ecx, dword [0x10c73bf0]
shl eax, 3
cmp edx, ebx
jne 0x1091c367
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091c375
xor ebx, ebx
lea edx, [ebp - 0x48]
push edx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.ole32.dll_CoCreateGuid]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
lea eax, [edi + 0x50]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
lea esi, [edi + 0x60]
lea eax, [ebp - 0x44]
cmp esi, eax
mov byte [ebp - 4], 4
je 0x1091c337
push ebx
push 8
mov ecx, esi
call fcn.10904550
mov ecx, dword [esi]
push ebx
push ebx
push ecx
call fcn.109040a0
add esp, 0xc
mov dword [esi + 4], ebx
push 8
push ebx
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.109119c0
mov eax, dword [ebp - 0x44]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x1091c28a
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
jmp 0x1091c28a
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
xor ebx, ebx
mov dword [esi], eax
mov ecx, dword [esi]
mov edx, dword [ebp - 0x18]
lea eax, [ecx + edx*8]
cmp eax, ebx
je 0x1091c388
mov dword [eax], ebx
mov dword [eax + 4], ebx
lea esi, [edi + 0xa4]
lea ecx, [edi + 0x2c]
call fcn.10957a80
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
mov dword [edi + 0x3c], eax
xor esi, esi
cmp esi, dword [0x10cc9e60]
jge 0x1091c426
mov ecx, dword [0x10cc9e5c]
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x1091c420
test byte [eax + 4], 0x10
je 0x1091c420
mov ebx, dword [edi + 0x70]
mov eax, dword [edi + 0x74]
lea ecx, [ebx + 1]
cmp ecx, eax
mov dword [ebp - 0x18], ebx
mov dword [edi + 0x70], ecx
jle 0x1091c41a
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi + 0x6c]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [edi + 0x74], eax
mov ecx, dword [0x10c73bf0]
shl eax, 2
test edx, edx
jne 0x1091c408
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
mov ecx, eax
mov dword [edi + 0x6c], eax
mov dword [ecx + ebx*4], esi
inc esi
jmp 0x1091c3a2
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x6c], eax
mov ecx, dword [edi + 0x6c]
mov dword [ecx + ebx*4], esi
inc esi
jmp 0x1091c3a2
mov esi, dword [ebp + 0x1c]
xor ecx, ecx
test esi, esi
mov dword [0x10c790d0], edi
je 0x1091c50f
xor edx, edx
cmp edx, dword [esi + 0x70]
mov dword [ebp - 0x14], edx
jge 0x1091c50c
xor eax, eax
lea esp, [esp]
cmp eax, dword [edi + 0x70]
jge 0x1091c46a
mov ebx, dword [edi + 0x6c]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [ebx + eax*4]
cmp ebx, dword [ecx + edx*4]
jne 0x1091c467
mov ecx, eax
jmp 0x1091c46d
inc eax
jmp 0x1091c450
or ecx, reloc.ole32.dll_CoCreateGuid
lea ebx, [edx*4]
mov edx, dword [esi + 0x6c]
cmp dword [ebx + edx], 0
mov dword [ebp - 0x18], ebx
je 0x1091c499
cmp ecx, reloc.ole32.dll_CoCreateGuid
je 0x1091c499
mov eax, dword [edi + 0x6c]
mov esi, dword [eax + ecx*4]
mov edx, dword [eax + ebx]
mov dword [eax + ebx], esi
mov esi, dword [ebp + 0x1c]
mov dword [eax + ecx*4], edx
jmp 0x1091c4f7
mov ecx, dword [edi + 0x70]
mov eax, dword [edi + 0x74]
inc ecx
cmp ecx, eax
mov dword [edi + 0x70], ecx
jle 0x1091c4e8
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi + 0x6c]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [edi + 0x74], eax
mov ecx, dword [0x10c73bf0]
shl eax, 2
test edx, edx
jne 0x1091c4d6
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091c4e5
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x6c], eax
mov ecx, dword [edi + 0x6c]
mov edx, dword [edi + 0x70]
mov eax, ecx
mov ecx, dword [ebx + ecx]
mov dword [eax + edx*4 - 4], ecx
mov eax, dword [esi + 0x6c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edi + 0x6c]
mov eax, dword [ebx + eax]
mov dword [ebx + ecx], eax
inc edx
jmp 0x1091c43b
mov ecx, dword [esi + 0x70]
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x6c]
push 0x1091b8c0
push 4
sub eax, ecx
lea edx, [edx + ecx*4]
push eax
push edx
call dword [sym.imp.MSVCR70.dll_qsort]
mov eax, dword [edi + 0x70]
add esp, 0x10
mov dword [edi + 0x38], eax
xor ebx, ebx
cmp ebx, dword [edi + 0x70]
jge 0x1091c569
mov eax, dword [edi + 0x6c]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x10cc9e5c]
mov eax, dword [ecx + eax*4]
push eax
lea esi, [edi + 0xa4]
call fcn.1093b4a0
mov edx, dword [edi + 0x6c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [edi + 0xf4]
add esp, 4
mov dword [ecx + eax*4], ebx
inc ebx
jmp 0x1091c534
mov ebx, 0x10cc9e80
or esi, reloc.ole32.dll_CoCreateGuid
mov eax, dword [ebx + 4]
inc esi
cmp esi, eax
jge 0x1091c65d
mov edx, dword [ebx]
cmp dword [edx + esi*4], 0
je 0x1091c571
cmp esi, dword [ebx + 4]
jge 0x1091c65d
mov eax, dword [ebx]
mov ecx, dword [eax + esi*4]
test byte [ecx + 0x1c], 8
je 0x1091c648
mov ecx, dword [edi + 0x7c]
mov eax, dword [edi + 0x80]
mov dword [ebp - 0x14], ecx
inc ecx
cmp ecx, eax
mov dword [edi + 0x7c], ecx
jle 0x1091c5fd
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi + 0x78]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [edi + 0x80], eax
mov ecx, dword [0x10c73bf0]
lea eax, [eax + eax*2]
shl eax, 3
test edx, edx
jne 0x1091c5e6
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091c5fa
mov ecx, dword [ecx]
push str.FArray
push eax
mov eax, ecx
mov ecx, dword [0x10c73bf0]
push edx
call dword [eax + 4]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [edi + 0x78]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*8]
test eax, eax
je 0x1091c648
mov ecx, dword [ebx]
mov ecx, dword [ecx + esi*4]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x20]
mov dword [eax], edx
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x20]
mov dword [eax + 4], edx
mov word [eax + 8], 0
mov word [eax + 0xa], 0xffff
mov edx, dword [ecx + 0x20]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
inc dword [0x10c925ac]
mov eax, dword [ebx + 4]
inc esi
cmp esi, eax
jge 0x1091c65d
mov eax, dword [ebx]
cmp dword [eax + esi*4], 0
je 0x1091c648
jmp 0x1091c585
mov eax, dword [edi + 0x7c]
mov ecx, dword [edi + 0x78]
push 0x1091b900
push 0x18
push eax
push ecx
mov dword [edi + 0x48], eax
mov dword [0x10c790d0], edi
call dword [sym.imp.MSVCR70.dll_qsort]
add esp, 0x10
mov eax, 0x10cc9e80
or esi, reloc.ole32.dll_CoCreateGuid
mov ecx, dword [eax + 4]
inc esi
cmp esi, ecx
jge 0x1091c6a0
mov ecx, dword [eax]
cmp dword [ecx + esi*4], 0
je 0x1091c686
jmp 0x1091c6a0
mov eax, 0x10cc9e80
cmp esi, dword [eax + 4]
jge 0x1091c7a2
mov edx, dword [eax]
mov eax, dword [edx + esi*4]
test byte [eax + 0x1c], 0x10
je 0x1091c784
mov ebx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
lea ecx, [ebx + 1]
cmp ecx, eax
mov dword [edi + 0x88], ecx
jle 0x1091c725
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi + 0x84]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [edi + 0x8c], eax
imul eax, eax, 0x1c
test edx, edx
mov ecx, dword [0x10c73bf0]
jne 0x1091c70b
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091c71f
mov ecx, dword [ecx]
push str.FArray
push eax
mov eax, ecx
mov ecx, dword [0x10c73bf0]
push edx
call dword [eax + 4]
mov dword [edi + 0x84], eax
mov eax, dword [edi + 0x84]
imul ebx, ebx, 0x1c
add ebx, eax
mov eax, ebx
je 0x1091c784
mov ecx, 0x10cc9e80
mov edx, dword [ecx]
mov ecx, dword [edx + esi*4]
xor ebx, ebx
cmp ecx, ebx
mov word [eax], bx
mov word [eax + 2], bx
mov word [eax + 4], bx
je 0x1091c75a
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
jmp 0x1091c760
mov dword [ebp - 0x24], ebx
lea edx, [ebp - 0x24]
cmp ecx, ebx
mov edx, dword [edx]
mov dword [eax + 8], edx
je 0x1091c774
mov edx, dword [ecx + 0x1c]
and edx, 0x67f01a5
jmp 0x1091c776
xor edx, edx
mov dword [eax + 0xc], edx
xor edx, edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov eax, 0x10cc9e80
mov ecx, dword [eax + 4]
inc esi
cmp esi, ecx
jge 0x1091c6a0
mov eax, dword [eax]
cmp dword [eax + esi*4], 0
je 0x1091c784
jmp 0x1091c6a0
mov eax, dword [ebp + 0x1c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x14], ebx
je 0x1091ccde
lea esi, [edi + 0x84]
push esi
lea ecx, [ebp - 0x44]
push ecx
call fcn.1091f1a0
mov edi, dword [edi + 0x88]
mov byte [ebp - 4], 6
xor eax, eax
mov edi, edi
cmp eax, dword [esi + 4]
jge 0x1091c7d8
inc eax
jmp 0x1091c7d0
push edi
push 0x1c
mov ecx, esi
call fcn.10904550
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov ecx, dword [ebp - 0x40]
cmp ecx, ebx
mov byte [ebp - 4], 7
mov esi, ecx
mov dword [ebp - 0x34], ecx
jle 0x1091c81e
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push str.FArray::Add
push eax
mov dword [ebp - 0x30], eax
call dword [edx]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
xor ecx, ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov eax, 8
lea esi, [ebp - 0x60]
mov byte [ebp - 4], al
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
call fcn.1091f9c0
mov byte [ebp - 4], 9
xor edi, edi
cmp edi, dword [ebp - 0x40]
mov dword [ebp - 0x18], edi
jge 0x1091c926
mov edx, dword [ebp - 0x44]
mov ecx, edi
imul ecx, ecx, 0x1c
mov ebx, dword [ecx + edx + 0x14]
test ebx, ebx
je 0x1091c8fc
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [0x10cc9e5c]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push 0x10c6f8f8
push 0x10c7d0d8
call fcn.1090f4f0
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcslen]
lea esi, reloc.ole32.dll_CoCreateGuid
add esp, 0x10
test esi, esi
jne 0x1091c8c0
mov esi, 0x10c7d0d8
mov word [esi], 0
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1091c8e3
push esi
push 0
call fcn.10915d90
push 0x10c6f8e8
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
add esp, 8
mov eax, dword [ebx + 0x20]
mov ecx, dword [0x10cc9e5c]
mov eax, dword [ecx + eax*4]
add eax, 0xc
push eax
push esi
call dword [sym.imp.MSVCR70.dll_wcscat]
jmp 0x1091c90c
push 0x10c6f900
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcscpy]
add esp, 8
lea edx, [ebp - 0x18]
push edx
mov ebx, 0x10c7d0d8
lea eax, [ebp - 0x60]
call fcn.1091f620
inc edi
jmp 0x1091c864
mov dword [ebp - 0x14], 0
lea ecx, [ecx]
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x88]
jge 0x1091cb3f
mov esi, dword [ebp - 0x20]
mov ebx, dword [esi + 0x28]
test ebx, ebx
je 0x1091c998
mov word [0x10c7d0d8], 0
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1091c97b
push 0x10c7d0d8
push 0
call fcn.10915d90
push 0x10c6f8e8
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcscat]
add esp, 8
mov ecx, dword [ebx + 0x20]
mov edx, dword [0x10cc9e5c]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push 0x10c7d0d8
call dword [sym.imp.MSVCR70.dll_wcscat]
jmp 0x1091c9a7
push 0x10c6f8ec
push 0x10c7d0d8
call fcn.1090f4f0
mov eax, dword [ebp - 0x14]
add esp, 8
push 0x10c7d0d8
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, edi
call fcn.10958130
push eax
lea ebx, [ebp - 0x60]
call fcn.1091f690
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
xor edi, edi
cmp eax, edi
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x28], edi
je 0x1091c9ec
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x28]
push 2
push eax
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.109119c0
mov eax, dword [ebp - 0x2c]
cmp eax, edi
mov byte [ebp - 4], 9
je 0x1091ca19
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [ebp - 0x2c], edi
mov ebx, dword [esi + 0x88]
mov eax, dword [ebp - 0x18]
lea ecx, [ebx + 1]
cmp eax, edi
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
mov dword [esi + 0x88], ecx
je 0x1091cac1
cmp ecx, eax
jle 0x1091ca8a
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [esi + 0x84]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [esi + 0x8c], eax
imul eax, eax, 0x1c
cmp edx, edi
mov ecx, dword [0x10c73bf0]
jne 0x1091ca78
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091ca84
mov edi, dword [ecx]
push str.FArray
push eax
push edx
call dword [edi + 4]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
imul ebx, ebx, 0x1c
add ebx, eax
je 0x1091caad
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov eax, dword [ebp - 0x44]
imul esi, esi, 0x1c
add esi, eax
mov ecx, 7
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov edx, dword [ecx]
mov byte [eax + edx], 1
inc dword [ebp - 0x14]
jmp 0x1091c930
cmp ecx, eax
jle 0x1091cb0e
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [esi + 0x84]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [esi + 0x8c], eax
imul eax, eax, 0x1c
cmp edx, edi
mov ecx, dword [0x10c73bf0]
jne 0x1091cafa
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091cb08
mov edi, dword [ecx]
push str.FArray
push eax
push edx
call dword [edi + 4]
xor edi, edi
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
imul ebx, ebx, 0x1c
add ebx, eax
mov eax, ebx
je 0x1091cb37
mov word [eax], di
mov word [eax + 2], di
mov word [eax + 4], di
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
inc dword [ebp - 0x14]
jmp 0x1091c930
mov eax, dword [edi + 0x88]
mov dword [ebp - 0x14], eax
xor ebx, ebx
cmp ebx, dword [ebp - 0x34]
mov dword [ebp - 0x18], ebx
jge 0x1091cbed
mov ecx, dword [ebp - 0x38]
cmp byte [ebx + ecx], 0
jne 0x1091cbe7
mov esi, dword [ebp - 0x20]
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x8c]
lea ecx, [edi + 1]
cmp ecx, eax
mov dword [esi + 0x88], ecx
jle 0x1091cbc9
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [esi + 0x84]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [esi + 0x8c], eax
imul eax, eax, 0x1c
test edx, edx
mov ecx, dword [0x10c73bf0]
jne 0x1091cbb4
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x1091cbc3
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [ebp - 0x18]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
imul edi, edi, 0x1c
add edi, eax
je 0x1091cbe7
mov eax, dword [ebp - 0x44]
mov esi, ebx
imul esi, esi, 0x1c
add esi, eax
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
inc ebx
jmp 0x1091cb4a
mov eax, dword [ebp - 0x54]
test eax, eax
mov byte [ebp - 4], 0xc
je 0x1091cc04
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
xor edi, edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov ebx, dword [ebp - 0x60]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x5c]
cmp edi, eax
jge 0x1091cc54
lea eax, [edi + edi*4]
lea esi, [ebx + eax*4]
add esi, 4
mov dword [ebp - 0x24], esi
push 0
push 2
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.10904550
mov ecx, dword [esi + 4]
push ecx
push 0
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.1090c7b0
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.109045d0
inc edi
jmp 0x1091cc13
push 0x14
push eax
push 0
lea ecx, [ebp - 0x60]
call fcn.109119c0
mov eax, dword [ebp - 0x60]
test eax, eax
mov byte [ebp - 4], 7
je 0x1091cc78
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x34]
push 1
push eax
push 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x10
call fcn.109119c0
mov eax, dword [ebp - 0x38]
test eax, eax
mov byte [ebp - 4], 6
je 0x1091cca3
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov ecx, dword [ebp - 0x40]
mov byte [ebp - 4], 0x11
xor eax, eax
lea esp, [esp]
cmp eax, ecx
jge 0x1091ccb7
inc eax
jmp 0x1091ccb0
push 0x1c
push ecx
push 0
lea ecx, [ebp - 0x44]
call fcn.109119c0
mov eax, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 1
je 0x1091ccdb
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edi + 0x88]
mov ebx, dword [edi + 0x84]
mov eax, edx
imul eax, eax, 0x1c
push 0x1091b950
push 0x1c
sub ecx, edx
add eax, ebx
push ecx
push eax
call dword [sym.imp.MSVCR70.dll_qsort]
mov eax, dword [edi + 0x88]
add esp, 0x10
mov dword [edi + 0x40], eax
xor eax, eax
cmp eax, dword [edi + 0x88]
jge 0x1091cd40
mov edx, dword [edi + 0x84]
mov ecx, eax
imul ecx, ecx, 0x1c
mov ecx, dword [ecx + edx + 0x14]
test ecx, ecx
je 0x1091cd3d
mov ecx, dword [ecx + 4]
mov esi, dword [edi + 0xe8]
lea edx, [eax + 1]
mov dword [esi + ecx*4], edx
inc eax
jmp 0x1091cd13
xor eax, eax
cmp eax, dword [edi + 0x7c]
jge 0x1091cd65
mov esi, dword [edi + 0x78]
lea ecx, [eax + eax*2]
mov ecx, dword [esi + ecx*8 + 0x10]
mov ecx, dword [ecx + 4]
mov esi, dword [edi + 0xe8]
or edx, reloc.ole32.dll_CoCreateGuid
sub edx, eax
mov dword [esi + ecx*4], edx
inc eax
jmp 0x1091cd42
xor ecx, ecx
cmp ecx, dword [edi + 0x88]
mov dword [ebp - 0x18], ecx
jge 0x1091ce4e
mov ebx, dword [edi + 0x84]
mov esi, ecx
imul esi, esi, 0x1c
mov eax, dword [esi + ebx + 0x14]
add esi, ebx
test eax, eax
je 0x1091ce48
mov eax, dword [eax + 0x24]
mov ecx, 0x10cc9b18
test eax, eax
je 0x1091cda4
cmp eax, ecx
je 0x1091cdba
mov eax, dword [eax + 0x28]
jmp 0x1091cd97
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 0x24]
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0xe8]
mov dx, word [ecx + eax*4]
mov word [esi], dx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x24]
mov ecx, 0x10cc98e8
test eax, eax
je 0x1091cded
cmp eax, ecx
je 0x1091cdd2
mov eax, dword [eax + 0x28]
jmp 0x1091cdc5
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x1091cded
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0xe8]
mov dx, word [ecx + eax*4]
mov word [esi + 2], dx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x18]
cmp eax, dword [ebp + 8]
je 0x1091ce09
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0xe8]
mov dx, word [ecx + eax*4]
mov word [esi + 4], dx
mov eax, dword [edi + 0xa4]
lea ebx, [edi + 0xa4]
mov ecx, ebx
call dword [eax + 0x28]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], eax
mov edx, dword [ecx]
push ebx
call dword [edx + 0x28]
mov ebx, dword [ebp - 0x18]
mov eax, dword [edi + 0x84]
imul ebx, ebx, 0x1c
lea ecx, [edi + 0xa4]
add ebx, eax
mov eax, dword [ecx]
call dword [eax + 0x28]
sub eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x18], eax
inc ecx
jmp 0x1091cd67
mov edx, dword [edi + 0xa4]
lea esi, [edi + 0xa4]
mov ecx, esi
mov dword [ebp + 8], esi
call dword [edx + 0x28]
mov dword [edi + 0x4c], eax
xor ebx, ebx
cmp ebx, dword [edi + 0x7c]
jge 0x1091cea1
mov ecx, dword [edi + 0x78]
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*8 + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x1091ce91
mov ecx, dword [ecx + 4]
mov edx, dword [edi + 0xe8]
mov cx, word [edx + ecx*4]
mov word [eax + 8], cx
mov edi, eax
call fcn.10957a00
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp + 8]
inc ebx
jmp 0x1091ce67
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x28]
mov dword [edi + 0x44], eax
xor esi, esi
lea ecx, [ecx]
cmp esi, dword [edi + 0x88]
jge 0x1091ced0
mov eax, dword [edi + 0x84]
mov ebx, esi
imul ebx, ebx, 0x1c
add ebx, eax
mov eax, dword [ebp + 8]
call fcn.10957950
inc esi
jmp 0x1091ceb0
mov eax, dword [0x10c946bc]
mov ecx, dword [eax]
push str.Closing
push 0
push 0
push eax
call dword [ecx + 0x14]
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x40]
mov esi, dword [ebp + 8]
mov dword [eax + edx*8 - 8], ecx
mov edx, dword [edi + 0x64]
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x60]
add esp, 0x10
mov dword [eax + edx*8 - 4], ecx
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x3c]
lea ecx, [edi + 0x2c]
call fcn.10957a80
mov esi, 1
mov dword [ebp - 0x4c], esi
jmp 0x1091cf5d
test edi, edi
mov dword [ebp - 4], reloc.ole32.dll_CoCreateGuid
je 0x1091cf71
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0xc]
test esi, esi
je 0x1091d11d
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x38]
call fcn.109046c0
mov edi, dword [0x10c946cc]
add edi, 0x6c
lea esi, [ebp + 8]
lea ebx, [ebp - 0x38]
call fcn.1091eeb0
xor ebx, ebx
test eax, eax
je 0x1091cfb3
mov ecx, dword [0x10c946cc]
cmp dword [ecx + 0x68], ebx
setg al
cmp al, bl
mov byte [ebp + 0xb], 1
jne 0x1091cfb6
mov byte [ebp + 0xb], bl
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x34], ebx
je 0x1091cfd9
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x34]
push 2
push eax
push ebx
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x14
call fcn.109119c0
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov dword [ebp - 4], reloc.ole32.dll_CoCreateGuid
je 0x1091d00c
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [ebp - 0x38], ebx
cmp byte [ebp + 0xb], bl
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
je 0x1091d096
mov eax, dword [0x10c946cc]
mov eax, dword [eax + 0x68]
dec eax
je 0x1091d048
dec eax
je 0x1091d03a
dec eax
jne 0x1091d05d
push 0x10c70cc4
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
jmp 0x1091d054
push 0x10c70cb8
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
jmp 0x1091d054
push 0x10c70cac
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
call dword [sym.imp.MSVCR70.dll_wcscpy]
add esp, 8
mov ecx, dword [0x10c71ab4]
mov edx, dword [ecx]
push ebx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
call dword [edx + 0x28]
mov esi, dword [sym.imp.MSVCR70.dll_wcscat]
lea ecx, reloc.ole32.dll_CoCreateGuid
push 0x10c70cd0
push ecx
call esi
mov edx, dword [ebp + 0x14]
push edx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
call esi
add esp, 0x10
jmp 0x1091d0aa
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
call dword [sym.imp.MSVCR70.dll_wcscpy]
add esp, 8
mov ecx, dword [0x10c71ab4]
mov eax, dword [ecx]
push ebx
push ebx
push 1
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
call dword [eax + 0x1c]
test eax, eax
jne 0x1091d109
mov ecx, dword [0x10c71ab4]
mov eax, dword [ecx]
push ebx
push ebx
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
call dword [eax + 0x14]
mov eax, dword [ebp + 0x14]
mov ebx, dword [0x10c946bc]
push eax
push 0x10c70cd4
call fcn.109118d0
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret