Function at 0x10a3d3b0
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10bd82da
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1ab4
call fcn.10b83a60
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x20], ecx
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], 0x23
push esi
push edi
jne 0x10a3d416
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a3d416
cmp byte [eax + 0x2d2], 0x16
mov dword [esp + 0x10], eax
je 0x10a3d41e
mov dword [esp + 0x10], 0
mov esi, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add esi, 7
and esi, 0xfffffff8
lea eax, reloc.ole32.dll_CoCreateGuid
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3d466
mov eax, 0x2a0
mov edi, 0x10c73cac
call fcn.109577c0
mov esi, dword [0x10c73cac]
add esi, 7
and esi, 0xfffffff8
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [0x10c73cac], ecx
test esi, esi
je 0x10a3d487
push fcn.10968f20
push 0x10a35af0
push 0x40
push 8
lea edx, [esi + 0x24]
push edx
call fcn.10b839c8
mov dword [esp + 0x20], esi
jmp 0x10a3d493
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [ebx + reloc.ole32.dll_CoCreateGuid], esi
mov dword [esi + 0xc], eax
mov dword [esi], ebx
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x10], eax
inc dword [0x10c92298]
jne 0x10a3d4f6
mov eax, dword [edx + 0x30]
xor ecx, ecx
test eax, eax
mov dword [0x10c92298], 1
jle 0x10a3d4f6
mov eax, dword [edx + 0x2c]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x10a3d4ee
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a3d4ee
mov dword [eax + 0xc], 0
mov eax, dword [edx + 0x30]
inc ecx
cmp ecx, eax
jl 0x10a3d4d3
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x10a3d536
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0x30]
cmp dword [edx + reloc.ole32.dll_CoCreateGuid], 0x23
je 0x10a3d536
mov dword [0x10ca777c], 0
mov ecx, 0x100
mov edi, 0x10ca766c
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
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ch, 2
mov ecx, dword [edi + 0x14]
je 0x10a3d55a
mov edx, dword [ecx]
add eax, 0x3c4
push eax
push 1
push edi
call dword [edx + 0x18]
jmp 0x10a3d566
mov eax, dword [ecx]
lea edx, [ebx + 0x14]
push edx
push 1
push edi
call dword [eax + 0x18]
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
lea edx, [ebx + 0x94]
push edx
push 2
push edi
call dword [eax + 0x18]
fld dword [ebx + 0x1b8]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10a3d592
mov eax, 1
jmp 0x10a3d594
xor eax, eax
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x1c]
mov eax, dword [0x10c9229c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], ecx
jne 0x10a3dc37
mov eax, dword [esp + 0x28]
xor edi, edi
mov dword [esi + 0x18], edi
mov ecx, dword [eax + 0xc0]
push 8
mov eax, 0x10c73cac
call fcn.10a40950
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], edi
mov ebx, dword [ebx + 4]
mov eax, dword [ebx + 0x30]
add esp, 4
cmp eax, edi
je 0x10a3d5f2
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], 5
mov dword [esp + 0xc], 1
je 0x10a3d5f6
mov dword [esp + 0xc], edi
mov ecx, dword [ebx + 0x30]
cmp dword [ecx + reloc.ole32.dll_CoCreateGuid], 0x24
jne 0x10a3d60c
mov dword [esp + 0x2c], 2
jmp 0x10a3d61a
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [edx + 0x30]
jge 0x10a3d940
jmp 0x10a3d630
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [ecx + edx*4]
test ebx, ebx
mov dword [esp + 0x38], ebx
je 0x10a3d928
mov eax, dword [0x10c9713c]
test eax, eax
je 0x10a3d65a
prefetchnta byte [ebx + 0xf8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x28]
test eax, eax
je 0x10a3d7c6
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test ah, 8
jne 0x10a3d7c6
mov esi, ebx
call fcn.10990c90
mov edi, eax
fld dword [edi + 0x90]
mov dword [esp + 0x18], edi
fsub dword [edi + 0x9c]
mov cl, 1
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 0x44
jp 0x10a3d6a4
xor cl, cl
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test ah, 0x20
je 0x10a3d6cf
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x24
je 0x10a3d6cf
cmp eax, 0x26
jne 0x10a3d7c2
test cl, cl
je 0x10a3d7c2
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10a3d78d
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a3d789
xor esi, esi
test eax, eax
jle 0x10a3d7c2
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3d745
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edi, dword [esp + 0x18]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + 8]
mov dword [0x10c73cac], edx
test eax, eax
je 0x10a3d763
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ecx + esi*4]
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + edx*4]
mov dword [eax], edi
mov dword [eax + 4], ecx
jmp 0x10a3d765
xor eax, eax
mov edx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [edx + esi*4]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 0x14]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
inc esi
cmp esi, eax
jl 0x10a3d700
jmp 0x10a3d7c2
test ecx, ecx
jne 0x10a3d7c2
push 1
push 8
mov ebx, 8
mov eax, 0x10c73cac
call fcn.1099e4d0
add esp, 8
test eax, eax
je 0x10a3d7b5
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x18]
mov dword [eax], edi
mov dword [eax + 4], ecx
jmp 0x10a3d7b7
xor eax, eax
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x38]
mov dword [edx + 0x18], eax
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x10a3d7e3
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x30]
cmp dword [ecx + reloc.ole32.dll_CoCreateGuid], 0x23
jne 0x10a3d928
cmp dword [esp + 0x48], reloc.ole32.dll_CoCreateGuid
jge 0x10a3d928
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, 5
je 0x10a3d80e
cmp eax, 0x24
jne 0x10a3d928
mov al, byte [ebx + 0x2d1]
test al, al
je 0x10a3d928
mov al, byte [ebx + 0x2d2]
fld dword [ebx + 0x174]
fcomp dword [0x10c109f8]
cmp al, 0x16
sete dl
movzx eax, dl
mov dword [esp + 0x38], eax
fnstsw ax
test ah, 0x44
jnp 0x10a3d85b
fld dword [ebx + 0x178]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3d85b
mov eax, 1
jmp 0x10a3d85d
xor eax, eax
movzx ecx, al
mov dword [esp + 0x18], ecx
mov ecx, ebx
call fcn.10990cf0
mov edx, dword [ebp + 8]
mov edi, eax
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x10a3d894
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test eax, 0x20000
jne 0x10a3d88f
test byte [edi + 0x34], 3
jne 0x10a3d88f
test ah, 0x81
je 0x10a3d894
call fcn.10a1de70
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x30]
cmp dword [edx + reloc.ole32.dll_CoCreateGuid], 0x24
jne 0x10a3d8be
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10a3d8be
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], edi
inc eax
mov dword [esp + 0x48], eax
fld dword [ebx + 0xf8]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3d928
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x10a3d8df
test byte [edi + 0x34], 3
je 0x10a3d928
mov ecx, dword [esp + 0x48]
mov dword [esp + ecx*4 + reloc.ole32.dll_CoCreateGuid], edi
inc ecx
test eax, eax
mov dword [esp + 0x48], ecx
je 0x10a3d928
mov eax, dword [ebp + 8]
push eax
push edi
call fcn.10a3cc80
push 1
push 8
mov ebx, 8
mov eax, 0x10c73cac
call fcn.1099e4d0
add esp, 8
test eax, eax
je 0x10a3d923
mov ecx, dword [esi + 0x1c]
mov edx, dword [edi]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x10a3d925
xor eax, eax
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x30]
inc eax
cmp eax, edx
mov dword [esp + 0x2c], eax
jl 0x10a3d630
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x10a3d97a
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x30]
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], 0x23
je 0x10a3d97a
test byte [eax + 0x5f0], 1
jne 0x10a3d97a
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a3d97a
mov esi, eax
call fcn.10990de0
mov esi, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 0x30]
cmp dword [ecx + reloc.ole32.dll_CoCreateGuid], 0x23
mov edi, dword [esp + 0x1c]
je 0x10a3db21
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
xor ebx, ebx
test eax, eax
jle 0x10a3da32
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [eax]
mov edx, dword [edx + ebx*4]
fld dword [eax + 0x3b0]
sub esp, 8
fstp qword [esp]
mov dword [esp + 0x3c], edx
call fcn.1099e510
test eax, eax
jne 0x10a3d9f5
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [eax + edx*4 - 4]
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [eax + ebx*4], edx
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 4
dec ebx
dec eax
push 1
push eax
call fcn.109119c0
jmp 0x10a3da23
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov edx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 0x30]
test eax, eax
je 0x10a3da23
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
cmp eax, 0x100
mov dword [esp + 0x40], eax
je 0x10a3da32
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
inc ebx
cmp ebx, eax
jl 0x10a3d9a1
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x10a3db21
lea edx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov eax, dword [edi + 0x2c]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax]
mov ebx, dword [ecx + edx*4]
fld dword [eax + 0x3b0]
sub esp, 8
mov edx, ebx
fstp qword [esp]
call fcn.1099e510
test eax, eax
jne 0x10a3db0a
cmp dword [ebx], 0
jne 0x10a3dac6
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
xor eax, eax
test edx, edx
jle 0x10a3dac6
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
add edi, 0x4ab0
mov dword [esp + 0x18], edi
mov edi, ecx
cmp dword [edi], ebx
je 0x10a3dab0
inc eax
add edi, 4
cmp eax, edx
jl 0x10a3daa2
jmp 0x10a3dac6
mov edi, dword [ecx + edx*4 - 4]
dec edx
push 4
push 1
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x20]
push edx
call fcn.109119c0
mov edi, dword [esp + 0x1c]
push 0
push edi
mov eax, 1
call fcn.109c9830
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov ebx, dword [edx + eax*4 - 4]
mov eax, dword [esp + 0x2c]
mov dword [edx + eax*4], ebx
mov edi, dword [edi + reloc.ole32.dll_CoCreateGuid]
dec eax
push 4
mov dword [esp + 0x30], eax
lea eax, [edi - 1]
push 1
push eax
call fcn.109119c0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x10a3da52
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x10a3dc00
mov eax, dword [esp + 0xc]
test eax, eax
je 0x10a3dc00
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xfc]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x34], ecx
jle 0x10a3dbd2
mov ebx, edx
jmp 0x10a3db60
mov eax, dword [ebx + 0xf8]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xec]
imul edi, edi, 0xa4
add edi, eax
mov eax, dword [edi + 0x98]
test eax, eax
mov dword [edi + 0x9c], 0
je 0x10a3dba9
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x34]
xor eax, eax
mov dword [edi + 0x98], eax
mov dword [edi + 0xa0], eax
inc dword [edi + 0x24]
mov eax, dword [edi + 8]
mov edx, dword [ebx + 0xe0]
imul eax, eax, 0x70
mov edi, dword [eax + edx + 0x6c]
lea eax, [eax + edx + 0x6c]
inc edi
mov dword [eax], edi
mov eax, dword [ebx + 0xfc]
inc ecx
cmp ecx, eax
mov dword [esp + 0x34], ecx
jl 0x10a3db60
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0xf8]
xor ebx, ebx
cmp eax, ebx
mov dword [edi + 0xfc], ebx
je 0x10a3dc00
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [edi + 0xf8], ebx
mov dword [edi + reloc.ole32.dll_CoCreateGuid], ebx
mov edx, dword [esp + 0x48]
lea eax, reloc.ole32.dll_CoCreateGuid
mov dword [0x10c922a0], eax
mov eax, dword [esp + 0x40]
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [0x10c9229c], esi
mov dword [0x10c922a4], ecx
mov dword [0x10c8bc00], edx
mov dword [0x10c8bbfc], eax
jmp 0x10a3dcaa
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x14], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [0x10c8bc00]
lea ecx, [eax*4]
mov dword [esi + 0x18], edx
mov edx, dword [0x10c922a0]
push ecx
push edx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
call fcn.109040a0
mov ecx, dword [0x10c8bbfc]
mov eax, dword [0x10c922a4]
add esp, 0xc
lea edx, [ecx*4]
push edx
push eax
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
call fcn.109040a0
mov edx, dword [0x10c8bc00]
mov ecx, dword [0x10c9229c]
mov eax, dword [0x10c8bbfc]
mov dword [esp + 0x54], edx
mov edx, dword [ecx + 0x1c]
add esp, 0xc
mov dword [esp + 0x40], eax
mov dword [esi + 0x1c], edx
mov edx, dword [0x10c73cac]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x98]
mov ecx, dword [0x10c73cb0]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3dcfb
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea ecx, [edx + ebx]
mov dword [0x10c73cac], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
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
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xc0]
mov edx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3dd71
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
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
mov ecx, dword [esp + 0x28]
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov eax, dword [ecx + 0xc0]
mov edx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3ddf5
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
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
mov ecx, dword [esp + 0x28]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [ecx + 0xc0]
mov edx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3de6b
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
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
mov ecx, dword [esp + 0x28]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [ecx + 0x98]
mov ecx, dword [0x10c73cb0]
add eax, 7
cdq
and edx, 7
add eax, edx
mov edx, dword [0x10c73cac]
mov ebx, eax
add edx, 7
sar ebx, 3
and edx, 0xfffffff8
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [esp + 0x38], ebx
mov dword [0x10c73cac], eax
jbe 0x10a3deec
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
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 eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esp + 0x38], ecx
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
lea eax, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov ebx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov edi, dword [0x10c73cb0]
mov dword [esp + 0x2c], eax
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + ebx*4]
cmp edx, edi
mov dword [0x10c73cac], edx
jbe 0x10a3dfb1
lea eax, [ebx*4 + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ebx*4]
mov dword [0x10c73cac], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov edx, dword [0x10c73cac]
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
add edx, 7
lea ebx, [ecx*4]
mov ecx, dword [0x10c73cb0]
and edx, 0xfffffff8
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e003
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
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
mov ecx, dword [esp + 0x1c]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [0x10c73cac]
mov ebx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ebx*4]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e076
lea eax, [ebx*4 + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + ebx*4]
mov dword [0x10c73cac], edx
mov ecx, dword [0x10c8bc04]
mov edx, dword [esp + 0x28]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [0x10c8bc04], eax
mov eax, dword [edx + 0xd8]
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x10c73cb0]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e0e3
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
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
mov ecx, dword [esp + 0x28]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [ecx + 0xd8]
mov edx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add edx, 7
and edx, 0xfffffff8
lea ebx, [eax*4]
lea eax, [edx + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e159
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edx, dword [0x10c73cac]
add edx, 7
and edx, 0xfffffff8
lea eax, [edx + ebx]
mov dword [0x10c73cac], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
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
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov edx, dword [ecx + 4]
cmp dword [edx + reloc.ole32.dll_CoCreateGuid], eax
je 0x10a3e350
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov ebx, 1
cmp ecx, ebx
jle 0x10a3e239
jmp 0x10a3e1d0
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e211
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3e222
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x10a3e224
xor eax, eax
mov edx, dword [esp + 0x28]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
inc ebx
cmp ebx, eax
jl 0x10a3e1d0
mov edi, dword [esp + 0x28]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, 1
xor edx, edx
call fcn.10bc3610
add eax, reloc.ole32.dll_CoCreateGuid
adc edx, reloc.ole32.dll_CoCreateGuid
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + 0xc], 0
jle 0x10a3e488
lea eax, [esi + 0x24]
mov dword [esp + 0x30], eax
mov edi, edi
mov ebx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add ebx, 7
and ebx, 0xfffffff8
lea eax, [ebx + 8]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e2c1
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov ebx, dword [0x10c73cac]
add ebx, 7
and ebx, 0xfffffff8
lea eax, [ebx + 8]
mov dword [0x10c73cac], eax
test ebx, ebx
je 0x10a3e323
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, reloc.ole32.dll_CoCreateGuid
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e307
mov eax, 0x20c
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [0x10c73cac], ecx
xor ecx, ecx
cmp eax, ecx
je 0x10a3e31a
mov dword [eax + reloc.ole32.dll_CoCreateGuid], ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x10a3e325
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x10a3e325
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov dword [ecx], ebx
add ecx, 8
inc eax
mov dword [esp + 0x30], ecx
cmp eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov dword [esp + 0xc], eax
jl 0x10a3e280
jmp 0x10a3e488
mov ebx, dword [0x10c73cac]
mov ecx, dword [0x10c73cb0]
add ebx, 7
and ebx, 0xfffffff8
lea eax, [ebx + 8]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e391
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov ebx, dword [0x10c73cac]
add ebx, 7
and ebx, 0xfffffff8
lea eax, [ebx + 8]
mov dword [0x10c73cac], eax
test ebx, ebx
je 0x10a3e3fa
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, reloc.ole32.dll_CoCreateGuid
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e3d7
mov eax, 0x20c
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [0x10c73cac], ecx
test eax, eax
mov edi, dword [ebp + 8]
je 0x10a3e3f1
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x24]
mov dword [ebx], eax
mov dword [ebx + 4], 0
jmp 0x10a3e3ff
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
jmp 0x10a3e3ff
mov edi, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov dword [esi + eax*8 + 0x24], ebx
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e44d
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edi, dword [ebp + 8]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3e462
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], edx
mov dword [eax + 4], 0
jmp 0x10a3e464
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, 1
xor edx, edx
call fcn.10bc3610
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push eax
mov edi, esi
call fcn.10a36100
mov eax, dword [ebx + 0xc]
add esp, 4
test eax, eax
jne 0x10a3e4dc
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x10a3e4dc
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
push 0
push 0
push 0
push 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
mov eax, dword [esp + 0x1c]
push eax
push 1
mov ecx, edi
call dword [edx + 0x10]
jmp 0x10a3e4df
mov edi, dword [ebp + 0xc]
mov edx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
jge 0x10a3e509
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
shl eax, 4
mov eax, dword [eax + ecx]
test eax, eax
jne 0x10a3e50e
mov edx, dword [edx + 0x2c]
mov eax, dword [edx]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jne 0x10a3e555
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test cl, 2
je 0x10a3e555
test cl, 1
je 0x10a3e555
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x30]
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp ecx, 0x24
je 0x10a3e555
cmp ecx, 0x26
je 0x10a3e555
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [edi]
push 0
push 0
push 0
push 0
push eax
push 1
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x58]
test eax, eax
mov dword [esp + 0x24], 0
je 0x10a3e624
mov eax, dword [esp + 0x48]
mov edi, dword [0x10c73cac]
mov edx, dword [esp + 0x40]
mov ecx, dword [0x10c73cb0]
lea ebx, [edx + eax]
add edi, 7
and edi, 0xfffffff8
lea ebx, [ebx*4 + 0x2c]
lea eax, [edi + ebx]
cmp eax, ecx
mov dword [0x10c73cac], eax
jbe 0x10a3e5be
lea eax, [ebx + 8]
mov edi, 0x10c73cac
call fcn.109577c0
mov edi, dword [0x10c73cac]
add edi, 7
and edi, 0xfffffff8
lea ecx, [edi + ebx]
mov dword [0x10c73cac], ecx
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
lea eax, [edi + 0x2c]
mov dword [edi + 0x24], ecx
shl ecx, 2
push ecx
lea edx, [ecx + eax]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], edx
mov dword [edi + 0x28], ebx
call fcn.109040a0
mov ecx, dword [edi + 0x1c]
add esp, 0xc
lea edx, [ebx*4]
push edx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
push ecx
call fcn.109040a0
mov edx, dword [esp + 0x34]
add esp, 0xc
xor eax, eax
mov dword [edi + 0x18], eax
mov dword [edi + 4], eax
mov ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov dword [edi + 8], ecx
mov dword [edi], eax
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x24
je 0x10a3e722
cmp eax, 0x26
je 0x10a3e722
mov ebx, dword [esi + 0x18]
test ebx, ebx
mov dword [esp + 0xc], ebx
je 0x10a3e722
mov edi, dword [ebx]
mov eax, dword [edi]
cmp byte [eax + 0x2d9], 0xb
jne 0x10a3e713
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10a3e713
lea edx, [esi + 0x24]
lea eax, [edi + 0x90]
push edx
call fcn.10a35b00
test eax, eax
je 0x10a3e713
mov eax, dword [esi]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [eax + 4]
mov eax, edi
call fcn.10a35d00
add esp, 4
test eax, eax
je 0x10a3e713
mov edx, dword [esi]
add edx, 0x194
push edi
push edx
call fcn.10a35da0
mov edx, dword [0x10c73cb0]
mov ebx, eax
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
add esp, 8
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3e6fc
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3e70a
mov ecx, dword [esi + 0x28]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x10a3e70c
xor eax, eax
mov ebx, dword [esp + 0xc]
mov dword [esi + 0x28], eax
mov ebx, dword [ebx + 4]
test ebx, ebx
mov dword [esp + 0xc], ebx
jne 0x10a3e653
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10a3ef6c
mov edi, eax
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0x54]
mov ebx, eax
imul ebx, ebx, 0x5c
add ebx, ecx
mov ecx, dword [edi + 0x18]
test ecx, ecx
jne 0x10a3eddf
mov eax, dword [ebp + 8]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test edx, edx
je 0x10a3e775
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + 0x20]
and eax, ecx
mov ecx, dword [ebx + 0x24]
and ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
or eax, ecx
je 0x10a3ef5e
mov ax, word [ebx + 0x56]
cmp ax, 0xffff
je 0x10a3e80d
test edx, edx
movsx eax, ax
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xa4]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x30], ecx
je 0x10a3e7f8
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + 0xc], eax
je 0x10a3ef5e
mov edx, dword [esp + 0xc]
mov ecx, dword [edx]
mov eax, 1
xor edx, edx
call fcn.10bc3610
and eax, dword [ebx + 0x20]
and edx, dword [ebx + 0x24]
or eax, edx
je 0x10a3e7e4
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
lea ecx, [esi + eax*8 + 0x24]
mov eax, dword [esp + 0x30]
push ecx
call fcn.10a35b00
test eax, eax
jne 0x10a3e80d
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x10a3e7b0
jmp 0x10a3ef5e
lea eax, [esi + 0x24]
push eax
mov eax, dword [esp + 0x34]
call fcn.10a35b00
test eax, eax
je 0x10a3ef5e
mov eax, dword [edi + 0x24]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0xc], edx
jle 0x10a3e906
mov edx, dword [esp + 0xc]
mov ecx, dword [edi + 0x20]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx]
mov al, byte [edx + 0x2d2]
cmp al, 0x13
mov byte [esp + 0x5f], al
jne 0x10a3e855
mov eax, dword [esp + 0x58]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
mov dword [esp + 0x58], eax
jmp 0x10a3e8e0
fld dword [ecx + 0x20]
mov eax, dword [ebp + 8]
fmul dword [ebx + 8]
mov eax, dword [eax + 4]
fld dword [ecx + 0x1c]
mov eax, dword [eax + 0x30]
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], 0x24
fmul dword [ebx + 4]
faddp st(1)
fld dword [ecx + 0x18]
fmul dword [ebx]
faddp st(1)
fsub dword [ebx + 0xc]
jne 0x10a3e8ad
fld dword [edx + 0x174]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3e8ad
fld dword [edx + 0x178]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3e8ad
fld dword [edx + 0x174]
jmp 0x10a3e8b4
mov al, byte [esp + 0x5f]
fld dword [ecx + 0x30]
fld st(0)
fchs
fld st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x10a3e8d3
mov eax, dword [esp + 0x58]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
mov dword [esp + 0x58], eax
fxch st(1)
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x10a3e8f0
mov eax, dword [esp + 0x54]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [edi + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x10a3e826
xor edx, edx
cmp dword [edi + 0x28], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
jle 0x10a3e9df
mov ecx, dword [edi + 0x1c]
fld dword [ebx]
mov ecx, dword [ecx + edx*4]
fmul dword [ecx + 0xb0]
fstp dword [esp + 0x44]
fld dword [ecx + 0xb4]
mov eax, dword [esp + 0x44]
fmul dword [ebx + 4]
and eax, 0x7fffffff
mov dword [esp + 0x44], eax
fstp dword [esp + 0x30]
fld dword [ecx + 0xb8]
mov eax, dword [esp + 0x30]
fmul dword [ebx + 8]
and eax, 0x7fffffff
mov dword [esp + 0x30], eax
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [esp + 0xc], eax
fld dword [esp + 0xc]
fadd dword [esp + 0x30]
fadd dword [esp + 0x44]
fld dword [ecx + 0xac]
fmul dword [ebx + 8]
fld dword [ecx + 0xa8]
fmul dword [ebx + 4]
faddp st(1)
fld dword [ecx + 0xa4]
fmul dword [ebx]
faddp st(1)
fsub dword [ebx + 0xc]
fld st(1)
fchs
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x10a3e9b6
mov eax, dword [esp + 0x50]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
mov dword [esp + 0x50], eax
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x10a3e9d1
mov eax, dword [esp + 0x4c]
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], ecx
inc eax
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x28]
inc edx
cmp edx, eax
jl 0x10a3e917
xor edx, edx
mov eax, dword [ebp + 8]
fld dword [eax + 0x19c]
fmul dword [ebx + 8]
fld dword [eax + 0x198]
fmul dword [ebx + 4]
faddp st(1)
fld dword [eax + 0x194]
fmul dword [ebx]
faddp st(1)
fsub dword [ebx + 0xc]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x41
jne 0x10a3ea17
mov eax, 1
jmp 0x10a3ea19
xor eax, eax
mov edx, 0xd
sub edx, eax
mov dword [edi + 0x18], 1
mov ecx, dword [ebx + edx*4]
mov edx, 1
sub edx, eax
mov dword [edi + 0xc], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x1c], eax
je 0x10a3ea55
test ecx, ecx
jne 0x10a3ea4e
mov al, byte [ebx + 0x5a]
test al, al
jbe 0x10a3ea6d
test byte [ebx + 0x5b], 0x21
jne 0x10a3ea6d
mov eax, 1
jmp 0x10a3ea6f
test ecx, ecx
je 0x10a3ea6d
mov al, byte [ebx + 0x5a]
test al, al
jbe 0x10a3ea66
test byte [ebx + 0x5b], 0x21
je 0x10a3ea6d
mov eax, 1
jmp 0x10a3ea6f
xor eax, eax
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, 0x27
sub ecx, eax
movsx edx, word [ebx + ecx*2]
mov dword [edi + 0x14], edx
lea ecx, [eax*4]
lea edx, [esp + 0x58]
sub edx, ecx
mov ecx, dword [edx]
shl eax, 0xa
mov dword [esp + 0x14], ecx
shl ecx, 2
push ecx
lea edx, reloc.ole32.dll_CoCreateGuid
sub edx, eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x20]
push edx
push eax
call fcn.109040a0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
shl eax, 2
lea edx, [esp + 0x5c]
sub edx, eax
mov eax, dword [edx]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x20], eax
add esp, 0xc
shl eax, 2
push eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x24], ecx
lea ecx, reloc.ole32.dll_CoCreateGuid
sub ecx, eax
push ecx
push edx
call fcn.109040a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + ecx*4 + 0x30]
add esp, 0xc
cmp eax, reloc.ole32.dll_CoCreateGuid
je 0x10a3ec40
mov eax, ecx
shl eax, 2
mov ecx, dword [esp + eax + 0x4c]
mov eax, dword [esp + eax + 0x54]
lea edx, [eax + ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x10c73cac]
add ecx, 7
and ecx, 0xfffffff8
lea edx, [edx*4 + 0x2c]
mov dword [esp + 0x44], ecx
add ecx, edx
mov dword [esp + 0x14], edx
cmp ecx, dword [0x10c73cb0]
mov dword [esp + 0x30], eax
mov dword [0x10c73cac], ecx
jbe 0x10a3eb7e
mov eax, dword [esp + 0x14]
add eax, 8
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
add eax, 7
and eax, 0xfffffff8
mov dword [esp + 0x44], eax
add eax, edx
mov dword [0x10c73cac], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x14], edx
mov dword [ecx + 0x20], edx
lea edx, [edx + eax*4]
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], edx
mov ecx, dword [esp + 0xc]
shl eax, 2
push eax
mov eax, dword [esp + 0x18]
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
push eax
call fcn.109040a0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x18]
lea edx, [ecx*4]
add esp, 0xc
push edx
mov edx, dword [esp + 0x48]
lea ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [edx + 0x1c]
push ecx
push eax
call fcn.109040a0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
mov edx, dword [ebx + ecx*4 + 0x30]
add esp, 0xc
test ecx, ecx
mov dword [eax + 4], edx
mov eax, dword [edi + 8]
je 0x10a3ec0f
test eax, eax
jne 0x10a3ec08
mov al, byte [ebx + 0x5a]
test al, al
jbe 0x10a3ec27
test byte [ebx + 0x5b], 0x21
jne 0x10a3ec27
mov ecx, 1
jmp 0x10a3ec29
test eax, eax
je 0x10a3ec27
mov al, byte [ebx + 0x5a]
test al, al
jbe 0x10a3ec20
test byte [ebx + 0x5b], 0x21
je 0x10a3ec27
mov ecx, 1
jmp 0x10a3ec29
xor ecx, ecx
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 8], ecx
mov dword [eax + 0x18], 0
mov edi, eax
jmp 0x10a3ef60
mov ecx, dword [esp + 0x1c]
cmp word [ebx + ecx*2 + 0x4c], 0xffff
je 0x10a3ef64
mov eax, ecx
mov ecx, dword [esp + eax*4 + 0x54]
test ecx, ecx
mov dword [esp + 0x30], ecx
je 0x10a3ed0c
mov edx, dword [0x10c73cb0]
shl eax, 8
add eax, ecx
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], 0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ecx*4 + 4]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3ecc3
mov eax, dword [esp + 0x30]
lea eax, [eax*4 + 0xc]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + edx*4 + 4]
mov dword [0x10c73cac], ecx
mov edx, dword [esp + 0x1c]
movsx ecx, word [ebx + edx*2 + 0x4c]
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov ecx, dword [esp + 0x20]
lea eax, reloc.ole32.dll_CoCreateGuid
movsx edx, word [ebx + ecx*2 + 0x4c]
push eax
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.109040a0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + eax*4 + 0x4c]
test ecx, ecx
mov dword [esp + 0x40], ecx
je 0x10a3edc2
mov edx, dword [0x10c73cb0]
shl eax, 8
add eax, ecx
mov dword [esp + eax*4 + reloc.ole32.dll_CoCreateGuid], 0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ecx*4 + 4]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3ed7d
mov eax, dword [esp + 0x40]
lea eax, [eax*4 + 0xc]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + edx*4 + 4]
mov dword [0x10c73cac], ecx
mov edx, dword [esp + 0x1c]
movsx ecx, word [ebx + edx*2 + 0x4c]
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov ecx, dword [esp + 0x20]
lea eax, reloc.ole32.dll_CoCreateGuid
movsx edx, word [ebx + ecx*2 + 0x4c]
push eax
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.109040a0
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
movsx ecx, word [ebx + eax*2 + 0x4c]
push edx
push ecx
push esi
call fcn.10a392b0
add esp, 0xc
jmp 0x10a3ef64
mov edx, dword [edi + 0x28]
mov ecx, dword [edi + 0x1c]
push edx
mov edx, dword [edi + 0x24]
push ecx
mov ecx, dword [edi + 0x20]
push edx
push ecx
push eax
push esi
call fcn.10a3a490
mov eax, dword [edi + 0xc]
add esp, 0x18
cmp eax, reloc.ole32.dll_CoCreateGuid
je 0x10a3ee16
mov edx, dword [edi + 0x10]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov dword [edi + 0x18], 0
jmp 0x10a3ef64
cmp dword [edi + 0x14], reloc.ole32.dll_CoCreateGuid
je 0x10a3ef5e
mov ebx, dword [edi + 0x24]
test ebx, ebx
je 0x10a3eeb6
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ebx*4 + 4]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3ee74
lea eax, [ebx*4 + 0xc]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edi, dword [esp + 0x24]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ebx*4 + 4]
mov dword [0x10c73cac], ecx
mov edx, dword [edi + 0x14]
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [ecx + edx*4], eax
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x14]
shl edx, 2
push edx
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
push eax
mov eax, dword [edx + ecx*4]
push eax
call fcn.109040a0
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi + 0x24]
mov ecx, dword [edx + ecx*4]
add esp, 0xc
mov dword [ecx + eax*4], 0
mov ebx, dword [edi + 0x28]
test ebx, ebx
je 0x10a3ef4c
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + ebx*4 + 4]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3ef0a
lea eax, [ebx*4 + 0xc]
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edi, dword [esp + 0x24]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + ebx*4 + 4]
mov dword [0x10c73cac], edx
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x14]
shl eax, 2
push eax
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
push ecx
mov ecx, dword [eax + edx*4]
push ecx
call fcn.109040a0
mov edx, dword [edi + 0x14]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [edi + 0x28]
mov edx, dword [eax + edx*4]
add esp, 0xc
mov dword [edx + ecx*4], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x14]
push eax
push ecx
push esi
call fcn.10a392b0
add esp, 0xc
mov edi, dword [edi]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x10a3e730
mov eax, dword [esi + 0x18]
test eax, eax
mov dword [esp + 0x30], eax
je 0x10a3f4bd
jmp 0x10a3ef81
mov eax, dword [esp + 0x30]
mov ebx, dword [eax]
mov eax, dword [ebx]
cmp byte [eax + 0x2d9], 0xb
jne 0x10a3ef9c
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
jne 0x10a3f4aa
lea edx, [esi + 0x24]
lea eax, [ebx + 0x90]
push edx
call fcn.10a35b00
test eax, eax
je 0x10a3f4aa
mov eax, dword [esi]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [eax + 4]
mov eax, ebx
call fcn.10a35d00
add esp, 4
test eax, eax
je 0x10a3f4aa
mov edx, dword [ebx]
test dword [edx + reloc.ole32.dll_CoCreateGuid], 0x20000
je 0x10a3f039
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f020
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3f031
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x10a3f033
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x30]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp edx, 0x26
jne 0x10a3f141
mov ecx, dword [ebx]
fld dword [ecx + 0x180]
fcomp dword [0x10c10a40]
fnstsw ax
test ah, 5
jp 0x10a3f0e8
fld dword [ecx + 0x180]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3f4aa
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f0c1
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3f0db
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f4aa
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f4aa
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f129
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + 8]
mov dword [0x10c73cac], edx
test eax, eax
je 0x10a3f4a2
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x10a3f4a4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], 0x24
jne 0x10a3f1e6
mov edi, dword [ebx]
fld dword [edi + 0x170]
fcomp dword [0x10c10a40]
fnstsw ax
test ah, 5
jp 0x10a3f1e6
fld dword [edi + 0x170]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a3f4aa
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f1c8
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3f0db
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f4aa
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x10a3f437
cmp edx, 0x24
je 0x10a3f437
mov eax, dword [ebx]
cmp byte [eax + 0x2e7], 0
je 0x10a3f275
cmp edx, 5
jne 0x10a3f275
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f24e
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + 8]
mov dword [0x10c73cac], edx
test eax, eax
je 0x10a3f268
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f4aa
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f4aa
test dword [eax + reloc.ole32.dll_CoCreateGuid], 0x20000
jne 0x10a3f4aa
fld dword [ecx + 0x194]
mov edx, dword [esp + 0x38]
fld dword [ecx + 0x198]
mov eax, dword [edx]
test eax, eax
fld dword [ecx + 0x19c]
fld dword [ebx + 0xb0]
mov dword [esp + 0xc], edx
fsub st(1)
fstp dword [esp + 0x14]
fstp st(0)
fsubr dword [ebx + 0xac]
fld dword [ebx + 0xa8]
fsub st(2)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fstp dword [esp + 0x44]
fstp st(0)
fstp st(0)
fstp st(0)
je 0x10a3f3b3
mov edx, dword [edx]
mov edi, dword [edx]
test edi, edi
jne 0x10a3f344
fld dword [ecx + 0x194]
mov eax, dword [edx + 4]
fld dword [ecx + 0x198]
add eax, 0xa8
fld dword [ecx + 0x19c]
fld dword [eax + 8]
fsub st(1)
fstp dword [esp + 0x14]
fstp st(0)
fsubr dword [eax + 4]
fld dword [eax]
fsub st(2)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fcomp dword [esp + 0x44]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
je 0x10a3f3a1
test edi, edi
je 0x10a3f3b3
mov eax, dword [edx + 4]
fld dword [ecx + 0x198]
mov edi, dword [esi + 0xc]
imul eax, eax, 0x5c
add eax, dword [edi + 0x54]
fmul dword [eax + 4]
fld dword [ecx + 0x19c]
fmul dword [eax + 8]
faddp st(1)
fld dword [ecx + 0x194]
fmul dword [eax]
faddp st(1)
fsub dword [eax + 0xc]
fld dword [ebx + 0xac]
fmul dword [eax + 4]
fld dword [ebx + 0xb0]
fmul dword [eax + 8]
faddp st(1)
fld dword [ebx + 0xa8]
fmul dword [eax]
faddp st(1)
fsub dword [eax + 0xc]
fmulp st(1)
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x41
jne 0x10a3f3b3
mov eax, dword [edx + 0x18]
add edx, 0x18
test eax, eax
mov dword [esp + 0xc], edx
jne 0x10a3f2e3
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 0x1c]
cmp ecx, edx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], ebx
mov dword [0x10c73cac], ecx
jbe 0x10a3f400
mov eax, 0x24
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 0x1c]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3f420
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov ecx, 6
lea esi, [esp + 0x60]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov dword [eax + 0x18], edx
jmp 0x10a3f422
xor eax, eax
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov dword [ebx + 0xc4], 0
jmp 0x10a3f4aa
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10a3f450
mov esi, dword [ebx]
mov edi, eax
call fcn.10a37310
test eax, eax
mov esi, dword [esp + 0x20]
je 0x10a3f4aa
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a3f491
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea edx, [eax + 8]
mov dword [0x10c73cac], edx
test eax, eax
je 0x10a3f4a2
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x10a3f4a4
xor eax, eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x10a3ef7d
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + 0x10], eax
je 0x10a3f6f5
jmp 0x10a3f4d5
mov eax, dword [esp + 0x10]
mov edi, dword [esi]
mov ecx, dword [eax]
fld dword [edi + 0x194]
fld dword [edi + 0x198]
add edi, 0x194
fld dword [edi + 8]
mov eax, dword [esp + 0x38]
fld dword [ecx + 0xb0]
mov edx, dword [eax]
test edx, edx
fsub st(1)
mov dword [esp + 0x24], eax
fstp dword [esp + 0x14]
fstp st(0)
fsubr dword [ecx + 0xac]
fld dword [ecx + 0xa8]
fsub st(2)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fstp dword [esp + 0xc]
fstp st(0)
fstp st(0)
fstp st(0)
je 0x10a3f66d
lea ebx, [ebx]
mov edx, dword [esp + 0x24]
mov ebx, dword [edx]
cmp dword [ebx], 0
je 0x10a3f59c
mov eax, dword [ebx + 4]
fld dword [edi + 4]
mov edx, dword [esi + 0xc]
imul eax, eax, 0x5c
add eax, dword [edx + 0x54]
fmul dword [eax + 4]
fld dword [edi + 8]
fmul dword [eax + 8]
faddp st(1)
fld dword [eax]
fmul dword [edi]
faddp st(1)
fsub dword [eax + 0xc]
fld dword [ecx + 0xac]
fmul dword [eax + 4]
fld dword [ecx + 0xb0]
fmul dword [eax + 8]
faddp st(1)
fld dword [ecx + 0xa8]
fmul dword [eax]
faddp st(1)
fsub dword [eax + 0xc]
fmulp st(1)
fcomp dword [0x10c109f8]
jmp 0x10a3f654
mov edx, dword [ebx + 4]
fld dword [ecx + 0xb0]
fsub dword [edx + 0xb0]
mov eax, dword [edx]
test byte [eax + 0x2f6], 8
fld dword [ecx + 0xac]
fsub dword [edx + 0xac]
fld dword [ecx + 0xa8]
fsub dword [edx + 0xa8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fld dword [edx + 0xb4]
fadd dword [ecx + 0xb4]
je 0x10a3f60e
fld st(0)
fmul st(1)
fxch st(1)
fxch st(2)
fcompp
fnstsw ax
fstp st(0)
test ah, 5
jp 0x10a3f612
call fcn.10a38fb0
test eax, eax
je 0x10a3f66d
jmp 0x10a3f65b
fstp st(0)
fstp st(0)
fld dword [edi]
fld dword [edi + 4]
fld dword [edi + 8]
fld dword [edx + 0xb0]
fsub st(1)
fstp dword [esp + 0x14]
fstp st(0)
fsubr dword [edx + 0xac]
fld dword [edx + 0xa8]
fsub st(2)
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fcomp dword [esp + 0xc]
fstp st(0)
fstp st(0)
fstp st(0)
fnstsw ax
test ah, 0x41
jne 0x10a3f66d
add ebx, 0x18
mov edx, ebx
cmp dword [edx], 0
mov dword [esp + 0x24], ebx
jne 0x10a3f540
mov eax, dword [0x10c73cac]
mov edx, dword [0x10c73cb0]
add eax, 7
and eax, 0xfffffff8
mov dword [esp + 0x64], ecx
lea ecx, [eax + 0x1c]
cmp ecx, edx
mov dword [esp + 0x60], 0
mov dword [0x10c73cac], ecx
jbe 0x10a3f6ba
mov eax, 0x24
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 0x1c]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a3f6da
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
mov ecx, 6
lea esi, [esp + 0x60]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov dword [eax + 0x18], edx
jmp 0x10a3f6dc
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10a3f4d1
mov edi, dword [ebp + 8]
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
lea eax, reloc.ole32.dll_CoCreateGuid
xor ebx, ebx
push eax
mov dword [esi + 0x20], ebx
call fcn.10a409c0
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x30]
cmp dword [edx + reloc.ole32.dll_CoCreateGuid], 0x23
je 0x10a3f9e0
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp eax, ebx
lea ecx, [esp + 0x54]
lea edx, [esp + 0x38]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], eax
lea edi, [esp + 0x4c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc], edx
je 0x10a3f822
jmp 0x10a3f760
mov eax, dword [edi + 4]
mov ebx, dword [eax]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push ebx
push esi
call fcn.10a37610
mov ecx, dword [ebx + 0xec]
add esp, 0xc
test ecx, ecx
je 0x10a3f7ee
test eax, eax
mov eax, dword [ebx + 0xc8]
je 0x10a3f7be
test eax, eax
je 0x10a3f7d8
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ebx
push ecx
call fcn.10a4e040
mov eax, dword [edi + 4]
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 4], ecx
add esp, 0x10
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a3f815
test eax, eax
je 0x10a3f7d8
mov eax, dword [edi + 4]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x10], eax
jmp 0x10a3f815
mov eax, dword [edi + 4]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0xc]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov dword [esp + 0xc], eax
jmp 0x10a3f815
test eax, eax
je 0x10a3f812
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ebx
push ecx
call fcn.10a4e040
mov edx, dword [edi + 4]
mov eax, dword [edx + 4]
add esp, 0x10
mov dword [edi + 4], eax
jmp 0x10a3f815
mov edi, dword [edi + 4]
mov eax, dword [edi + 4]
test eax, eax
jne 0x10a3f760
xor ebx, ebx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], edx
mov edx, dword [esp + 0xc]
mov dword [eax + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], ecx
mov dword [edx + 4], ebx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x30]
cmp dword [edx + reloc.ole32.dll_CoCreateGuid], 5
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
jne 0x10a3f8be
cmp eax, ebx
mov dword [esp + 0x50], eax
lea edi, [esp + 0x4c]
je 0x10a3f8b2
mov eax, dword [edi + 4]
mov ebx, dword [eax]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push ebx
push esi
call fcn.10a37610
mov eax, dword [ebx + 0xec]
add esp, 0xc
test eax, eax
jne 0x10a3f8a8
mov dword [ebx + 0xc4], 0
mov edx, dword [edi + 4]
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
jmp 0x10a3f8ab
mov edi, dword [edi + 4]
mov eax, dword [edi + 4]
test eax, eax
jne 0x10a3f872
mov ecx, dword [esp + 0x50]
mov dword [esi + reloc.ole32.dll_CoCreateGuid], ecx
jmp 0x10a3f8d7
cmp eax, ebx
je 0x10a3f8d1
mov edx, dword [eax]
mov dword [edx + 0xc4], ebx
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10a3f8c2
mov dword [esi + reloc.ole32.dll_CoCreateGuid], ebx
mov edi, dword [esi + reloc.ole32.dll_CoCreateGuid]
test edi, edi
je 0x10a3f8fc
mov ecx, dword [edi]
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
push ecx
push esi
call fcn.10a37610
mov edi, dword [edi + 4]
add esp, 0xc
test edi, edi
jne 0x10a3f8e1
mov eax, dword [ebp + 8]
add eax, 0x114
push eax
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
call fcn.10a409c0
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test edx, edx
mov dword [esp + 0x14], edx
je 0x10a3f9e0
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edx]
mov eax, dword [ecx + eax*4]
test eax, eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], ecx
je 0x10a3f9c2
jmp 0x10a3f950
mov eax, dword [ecx + 4]
mov edi, dword [eax]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ebx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
jne 0x10a3f9a9
mov eax, dword [edi + 0x34]
test al, al
js 0x10a3f99f
lea ebx, [edi + 0x50]
lea esi, reloc.ole32.dll_CoCreateGuid
call fcn.10951870
mov edx, dword [edi + 0x34]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
shl eax, 8
xor eax, edx
and eax, 0x100
mov ebx, edx
mov edx, dword [esp + 0x14]
xor eax, ebx
or eax, 0x80
mov dword [edi + 0x34], eax
shr eax, 8
and eax, 1
test eax, eax
je 0x10a3f9b2
mov ecx, dword [ecx + 4]
mov dword [esp + 0x38], ecx
jmp 0x10a3f9bb
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x10a3f950
mov ecx, dword [edx]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4], edi
mov edx, dword [edx + 4]
test edx, edx
mov dword [esp + 0x14], edx
jne 0x10a3f924
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
push 0
mov ecx, edi
call dword [edx + 0x9c]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
jne 0x10a3fd22
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov ebx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
jne 0x10a3fd22
mov ebx, dword [ecx + 0xc]
test ebx, ebx
jne 0x10a3fd22
mov ecx, dword [eax + 0x30]
cmp dword [ecx + reloc.ole32.dll_CoCreateGuid], 5
mov ebx, 1
jne 0x10a3fd24
mov edx, dword [edi]
push 0
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + 0x5c]
test eax, eax
jne 0x10a3faa4
mov ebx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
je 0x10a3faa4
lea esp, [esp]
mov ecx, dword [ebx]
mov eax, dword [ecx]
push 1
push edi
call dword [eax + 8]
mov ecx, dword [ebx]
test ecx, ecx
je 0x10a3fa76
mov edx, dword [ecx]
push 1
call dword [edx]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a3fa60
mov eax, dword [edi]
push ebx
push ebx
push 0x3f800000
push 1
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], 0xff
mov ecx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x10]
mov edx, dword [esi]
mov eax, dword [esp + 0x2c]
push edi
push edx
push eax
call fcn.10a4b900
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
push esi
mov dword [edi + 0x1c], 1
call fcn.10a374b0
mov edx, dword [edi]
add esp, 0x10
push 0
mov ecx, edi
mov dword [0x10c9229c], 0
call dword [edx + 0x6c]
push 0
push 1
push 1
call fcn.10a3af80
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
add esp, 0xc
push 0
mov ecx, edi
call dword [eax + 0x28]
mov edx, dword [edi]
push 5
mov ecx, edi
call dword [edx + 0x6c]
mov esi, dword [esp + 0x20]
push 0
push 0
push 1
call fcn.10a3af80
mov ebx, dword [esi + 0x20]
add esp, 0xc
test ebx, ebx
je 0x10a3fbfd
jmp 0x10a3fb30
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
shr edx, 0xf
and edx, 1
mov dword [edi + 0x24], edx
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
shr edx, 0xe
and dl, 1
mov byte [edi + 0x20], dl
mov eax, dword [ebx]
mov edx, dword [edi]
push 4
mov ecx, edi
mov dword [edi + 0x18], eax
call dword [edx + 0x6c]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax]
push ecx
push edx
push esi
call fcn.10a37f70
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx]
mov dword [esp + 0x44], eax
mov eax, dword [esi]
add esp, 0xc
add eax, 0x14
push eax
push 1
push edi
call dword [edx + 0x18]
mov eax, dword [esi]
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx]
add eax, 0x94
push eax
push 2
push edi
call dword [edx + 0x18]
mov eax, dword [edi]
push 8
mov ecx, edi
call dword [eax + 0x6c]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x28]
mov ecx, dword [esp + 0x38]
push ecx
push 1
push 0
call fcn.10a3af80
mov edx, dword [edi]
add esp, 0xc
mov ecx, edi
call dword [edx + 0x2c]
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x28]
mov edx, dword [edi]
push 7
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [esp + 0x38]
push eax
push 0
push 0
call fcn.10a3af80
mov ebx, dword [ebx + 4]
add esp, 0xc
test ebx, ebx
jne 0x10a3fb30
mov edx, dword [edi]
xor ebx, ebx
push 6
mov ecx, edi
mov dword [edi + 0x24], ebx
mov dword [edi + 0x18], ebx
call dword [edx + 0x6c]
mov esi, dword [esp + 0x20]
push ebx
push ebx
push 2
call fcn.10a3af80
mov eax, dword [edi]
add esp, 0xc
mov ecx, edi
mov dword [0x10c9229c], esi
call dword [eax + 0x2c]
mov edx, dword [edi]
push ebx
mov ecx, edi
call dword [edx + 0x6c]
push 1
push ebx
mov ebx, esi
call fcn.10a3b900
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + 0x5c]
add esp, 8
test eax, eax
je 0x10a400d4
mov eax, esi
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
test esi, esi
je 0x10a3fc76
mov ebx, dword [ebp + 8]
mov ecx, dword [esi]
push ebx
push ecx
call fcn.10a505e0
mov esi, dword [esi + 4]
test esi, esi
mov edi, dword [ebp + 0xc]
jne 0x10a3fc63
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a400ad
mov edx, dword [edi]
mov ecx, edi
call dword [edx]
mov eax, dword [0x10ccad1c]
test eax, eax
jne 0x10a3fecf
mov ecx, dword [0x10c71aa8]
mov edx, dword [0x10c925b4]
xor eax, eax
push eax
push eax
push ecx
push eax
push eax
push eax
push edx
push 0x10cc2a30
call fcn.1091d380
mov esi, eax
add esp, 0x20
test esi, esi
je 0x10a3fccd
push esi
call dword [0x10cc2b34]
add esp, 4
mov dword [0x10ccad1c], esi
mov esi, dword [0x10c92540]
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
add esi, 0x28
lea ecx, [ebx + 1]
cmp ecx, eax
mov dword [esp + 0x18], ebx
mov dword [esi + 4], ecx
jle 0x10a3fd79
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, 2
test edx, edx
jne 0x10a3fd67
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x10a3fd77
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x23
jne 0x10a40132
mov ecx, dword [ebp + 0xc]
push ecx
push edx
mov edx, dword [esp + 0x34]
push edx
call fcn.10a4b900
push 0
push 1
mov ebx, esi
call fcn.10a3b900
mov eax, dword [esp + 0x3c]
add esp, 8
mov dword [0x10c8bc04], eax
jmp 0x10a408e0
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [esp + 0x18]
mov dword [esi], eax
test byte [0x10d51a1c], 1
mov ecx, dword [esi]
mov dword [ecx + ebx*4], 0x10ccad1c
jne 0x10a3fe0e
mov edx, dword [0x10d51a1c]
mov esi, dword [0x10c96934]
mov ebx, dword [0x10c96930]
push 0
mov eax, 1
or edx, eax
push 0x100
mov dword [0x10d51a1c], edx
push esi
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0xff
mov edx, dword [esp + 0x1c]
push ebx
mov dword [0x10d51a08], 0x10c03738
mov dword [0x10d51a0c], edx
mov dword [0x10d51a10], eax
call fcn.10b83bf0
add eax, 0xe0
adc edx, 0
add ebx, 1
adc esi, 0
mov dword [0x10d51a14], eax
mov dword [0x10d51a18], edx
mov dword [0x10c96930], ebx
mov dword [0x10c96934], esi
mov esi, dword [0x10ccad1c]
lea ebx, [esi + 0x64]
mov dword [ebx], 0x10d51a08
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ecx, dword [ebx]
mov byte [esi + 0x5c], al
mov edx, dword [ecx]
call dword [edx + 0x30]
mov ecx, dword [ebx]
mov byte [esi + 0x5d], al
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [ebx]
mov byte [esi + 0x5e], al
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov ecx, dword [ebx]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x54], eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov edx, dword [esi + 0x54]
dec edx
cmp edx, reloc.ole32.dll_CoCreateGuid
mov dword [esi + 0x50], eax
mov dword [esi + 0x58], eax
jne 0x10a3fe62
xor dl, dl
jmp 0x10a3fe91
cmp edx, 0x10000
ja 0x10a3fe78
mov ecx, 0x100
cmp ecx, edx
sbb cl, cl
and ecx, 8
jmp 0x10a3fe87
mov ecx, 0x1000000
cmp ecx, edx
sbb cl, cl
and cl, 8
add cl, 0x10
shr edx, cl
mov dl, byte [edx + 0x10c78bc8]
add dl, cl
dec eax
cmp eax, reloc.ole32.dll_CoCreateGuid
mov byte [esi + 0x5f], dl
jne 0x10a3fe9e
xor al, al
jmp 0x10a3fecc
cmp eax, 0x10000
ja 0x10a3feb3
mov edx, 0x100
cmp edx, eax
sbb cl, cl
and ecx, 8
jmp 0x10a3fec2
mov ecx, 0x1000000
cmp ecx, eax
sbb cl, cl
and cl, 8
add cl, 0x10
shr eax, cl
mov al, byte [eax + 0x10c78bc8]
add al, cl
mov byte [esi + 0x60], al
mov eax, dword [0x10ccad18]
test eax, eax
jne 0x10a3ffa3
mov edx, dword [0x10c71aa8]
xor eax, eax
push eax
push eax
push edx
push eax
push eax
push eax
mov eax, dword [0x10c925b4]
push eax
push 0x10cc4470
call fcn.1091d380
mov esi, eax
add esp, 0x20
test esi, esi
je 0x10a3ff0d
push esi
call dword [0x10cc4574]
add esp, 4
mov dword [0x10ccad18], esi
mov esi, dword [0x10c92540]
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
add esi, 0x28
lea ecx, [ebx + 1]
cmp ecx, eax
mov dword [esp + 0x18], ebx
mov dword [esi + 4], ecx
jle 0x10a3ff70
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, 2
test edx, edx
jne 0x10a3ff5e
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x10a3ff6e
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [esp + 0x18]
mov dword [esi], eax
mov ecx, dword [esi]
mov dword [ecx + ebx*4], 0x10ccad18
mov edx, dword [0x10ccad18]
mov eax, dword [0x10ccad1c]
mov dword [edx + 0x4c], eax
mov ecx, dword [0x10ccad18]
mov byte [ecx + 0x50], 7
mov eax, dword [0x10ccad18]
and dword [eax + 0x54], 0xfffffffe
mov eax, dword [0x10ccad18]
or dword [eax + 0x54], 8
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [edi]
push eax
push 3
push 1
push 1
push 0xffffffffffffffff
not eax
push eax
push 8
mov ecx, edi
call dword [edx + 0x50]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push edi
add eax, 0xe4
push eax
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
call fcn.10a11ad0
mov ecx, dword [esi + 4]
fild dword [ecx + 0xa4]
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0xff
mov edx, dword [esp + 0x10]
push edx
mov edx, dword [0x10ccad18]
push edx
push 0x3f800000
push 0
push 0
push 0
push 0
push ecx
fstp dword [esp]
push ecx
fild dword [ecx + 0xa0]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 0
fstp dword [esp]
push 0
push 0
call fcn.10a11f50
mov dword [esp + 0x1f0], 0x10c037d0
lea esi, reloc.ole32.dll_CoCreateGuid
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 1
call fcn.10a11c60
lea eax, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x18], eax
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
push 0x18
push ecx
push 0
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 2
call fcn.109119c0
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 0xffffffff
je 0x10a400a6
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov esi, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test esi, esi
je 0x10a400d4
mov ecx, dword [esi]
mov edx, dword [ecx]
push 1
push edi
call dword [edx + 8]
mov ecx, dword [esi]
test ecx, ecx
je 0x10a400cd
mov eax, dword [ecx]
push 1
call dword [eax]
mov esi, dword [esi + 4]
test esi, esi
jne 0x10a400b7
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x28]
mov ebx, edi
mov edi, dword [esp + 0x20]
call fcn.10a3bff0
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x6c]
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
push 0x10cc9560
push 0
push esi
call dword [eax + 0x18]
mov edx, dword [esp + 0x34]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push edx
mov ebx, edi
call fcn.10a3bc40
mov eax, dword [esi]
add esp, 8
push 0
mov ecx, esi
call dword [eax + 0x6c]
mov esi, edi
jmp 0x10a408e0
test ebx, ebx
je 0x10a40394
cmp eax, 0x24
jne 0x10a40243
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x3c]
mov ecx, dword [esi]
mov edx, dword [esp + 0x2c]
push edi
push ecx
push edx
call fcn.10a4b900
push 0
push 1
mov ebx, esi
call fcn.10a3b900
mov eax, dword [esp + 0x50]
add esp, 8
test eax, eax
je 0x10a40197
mov eax, dword [edi]
push 2
mov ecx, edi
call dword [eax + 0x6c]
push 0
push 0
push 3
call fcn.10a3af80
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a4023c
mov edx, dword [edi]
push 3
mov ecx, edi
call dword [edx + 0x6c]
mov ebx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
je 0x10a4023c
lea esp, [esp]
mov ecx, dword [ebx]
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
push ecx
push esi
call fcn.10a37610
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
mov edi, dword [ebx]
add esp, 0xc
call dword [edx]
fld dword [edi + 8]
mov eax, dword [esi]
fmul dword [eax + reloc.ole32.dll_CoCreateGuid]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10a401fc
mov eax, 1
jmp 0x10a401fe
xor eax, eax
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 0xf4]
push eax
mov eax, dword [edi + 0xe8]
push 0
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
mov ecx, edi
call fcn.10a14fe0
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 4]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a401c0
mov edi, dword [ebp + 0xc]
push 0
jmp 0x10a408d9
cmp eax, 0x26
jne 0x10a40394
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
push 0xd
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [edi]
push 0
push 0
push 1
mov ecx, edi
call dword [eax + 0x48]
mov ecx, dword [esi]
mov edx, dword [esp + 0x2c]
push edi
push ecx
push edx
call fcn.10a4b900
push 0
push 1
mov ebx, esi
call fcn.10a3b900
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
add esp, 8
push 0x10cc9560
push 0
push edi
call dword [eax + 0x18]
mov edx, dword [esp + 0x34]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push edx
call fcn.10a3bc40
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
add esp, 8
test eax, eax
je 0x10a40349
mov eax, dword [edi]
push 0xe
mov ecx, edi
call dword [eax + 0x6c]
mov edi, dword [esi + reloc.ole32.dll_CoCreateGuid]
test edi, edi
je 0x10a40349
jmp 0x10a402d0
mov edx, dword [edi]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push edx
push esi
call fcn.10a37610
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov ebx, dword [edi]
add esp, 0xc
call dword [eax]
mov ecx, dword [esi]
fld dword [ecx + 0x1b8]
fmul dword [ebx + 8]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10a4030c
mov eax, 1
jmp 0x10a4030e
xor eax, eax
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [ebx + 0xf4]
push eax
mov eax, dword [ebx + 0xe8]
push 0
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.10a14fe0
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, dword [edi + 4]
test edi, edi
jne 0x10a402d0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x10a4037c
mov ebx, dword [0x10c8bc04]
test ebx, ebx
je 0x10a4037c
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
push edx
call fcn.10a4a9c0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a40363
mov esi, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
push 0
mov dword [0x10c8bc04], eax
call dword [edx + 0x6c]
jmp 0x10a408e0
mov eax, dword [ecx + 0x70]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
jne 0x10a403ec
mov ebx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
je 0x10a403ec
mov ecx, dword [ebx]
mov edx, dword [ecx]
push 1
push edi
call dword [edx + 8]
mov ecx, dword [ebx]
test ecx, ecx
je 0x10a403be
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a403a8
mov edx, dword [edi]
push ebx
push ebx
push 0x3f800000
push 1
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], 0xff
mov eax, dword [esp + 0x20]
push eax
push ebx
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [edi + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x24
jne 0x10a4041a
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x3c]
jmp 0x10a40435
cmp eax, 0x26
jne 0x10a40435
mov edx, dword [edi]
push 0xd
mov ecx, edi
call dword [edx + 0x6c]
mov eax, dword [edi]
push 0
push 0
push 1
mov ecx, edi
call dword [eax + 0x48]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov edx, dword [esp + 0x2c]
push edi
push ecx
push edx
call fcn.10a4b900
push 0
push 1
mov ebx, esi
call fcn.10a3b900
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + 0x5c]
add esp, 8
test eax, eax
je 0x10a408bd
mov ebx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
je 0x10a40488
mov eax, dword [ebp + 8]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.10a505e0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a40472
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a40894
mov edx, dword [edi]
mov ecx, edi
call dword [edx]
mov eax, dword [0x10ccad14]
test eax, eax
jne 0x10a406a0
mov ecx, dword [0x10c71aa8]
mov edx, dword [0x10c925b4]
xor eax, eax
push eax
push eax
push ecx
push eax
push eax
push eax
push edx
push 0x10cc2a30
call fcn.1091d380
mov edi, eax
add esp, 0x20
test edi, edi
je 0x10a404db
push edi
call dword [0x10cc2b34]
add esp, 4
mov dword [0x10ccad14], edi
mov edi, dword [0x10c92540]
mov ebx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
add edi, 0x28
lea ecx, [ebx + 1]
cmp ecx, eax
mov dword [esp + 0x18], ebx
mov dword [edi + 4], ecx
jle 0x10a4053e
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [edi + 8], eax
mov ecx, dword [0x10c73bf0]
shl eax, 2
test edx, edx
jne 0x10a4052c
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x10a4053c
mov ebx, dword [ecx]
push str.FArray
push eax
push edx
call dword [ebx + 4]
mov ebx, dword [esp + 0x18]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [ecx + ebx*4], 0x10ccad14
mov cl, byte [0x10d51a1c]
mov eax, 2
test al, cl
jne 0x10a405d9
mov edx, dword [0x10d51a1c]
mov edi, dword [0x10c96934]
mov ebx, dword [0x10c96930]
push 0
or edx, eax
push 0x100
mov dword [0x10d51a1c], edx
push edi
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0xff
mov edx, dword [esp + 0x1c]
push ebx
mov dword [0x10d519f4], 0x10c03738
mov dword [0x10d519f8], edx
mov dword [0x10d519fc], 1
call fcn.10b83bf0
add eax, 0xe0
adc edx, 0
add ebx, 1
adc edi, 0
mov dword [0x10d51a00], eax
mov dword [0x10d51a04], edx
mov dword [0x10c96930], ebx
mov dword [0x10c96934], edi
mov ebx, dword [0x10ccad14]
lea edi, [ebx + 0x64]
mov dword [edi], 0x10d519f4
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ecx, dword [edi]
mov byte [ebx + 0x5c], al
mov edx, dword [ecx]
call dword [edx + 0x30]
mov ecx, dword [edi]
mov byte [ebx + 0x5d], al
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [edi]
mov byte [ebx + 0x5e], al
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov ecx, dword [edi]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x54], eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov edx, dword [ebx + 0x54]
mov edi, eax
dec edx
cmp edx, reloc.ole32.dll_CoCreateGuid
mov dword [ebx + 0x50], edi
mov dword [ebx + 0x58], edi
jne 0x10a4062f
xor dl, dl
jmp 0x10a4065e
cmp edx, 0x10000
ja 0x10a40645
mov ecx, 0x100
cmp ecx, edx
sbb cl, cl
and ecx, 8
jmp 0x10a40654
mov eax, 0x1000000
cmp eax, edx
sbb cl, cl
and cl, 8
add cl, 0x10
shr edx, cl
mov dl, byte [edx + 0x10c78bc8]
add dl, cl
dec edi
cmp edi, reloc.ole32.dll_CoCreateGuid
mov byte [ebx + 0x5f], dl
jne 0x10a4066b
xor al, al
jmp 0x10a4069a
cmp edi, 0x10000
ja 0x10a40681
mov ecx, 0x100
cmp ecx, edi
sbb cl, cl
and ecx, 8
jmp 0x10a40690
mov edx, 0x1000000
cmp edx, edi
sbb cl, cl
and cl, 8
add cl, 0x10
shr edi, cl
mov al, byte [edi + 0x10c78bc8]
add al, cl
mov edi, dword [ebp + 0xc]
mov byte [ebx + 0x60], al
mov eax, dword [0x10ccad10]
test eax, eax
jne 0x10a4077b
mov ecx, dword [0x10c71aa8]
mov edx, dword [0x10c925b4]
xor eax, eax
push eax
push eax
push ecx
push eax
push eax
push eax
push edx
push 0x10cc4470
call fcn.1091d380
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x10a406df
push ebx
call dword [0x10cc4574]
add esp, 4
mov dword [0x10ccad10], ebx
mov ebx, dword [0x10c92540]
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x30]
add ebx, 0x28
mov dword [esp + 0x38], ecx
inc ecx
cmp ecx, eax
mov dword [ebx + 4], ecx
jle 0x10a40744
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
mov edx, dword [ebx]
sar eax, 3
lea eax, [eax + ecx + 0x20]
mov dword [ebx + 8], eax
mov ecx, dword [0x10c73bf0]
shl eax, 2
test edx, edx
jne 0x10a4072e
mov edx, dword [ecx]
push str.FArray::Add
push eax
call dword [edx]
jmp 0x10a40742
mov ecx, dword [ecx]
push str.FArray
push eax
mov eax, ecx
mov ecx, dword [0x10c73bf0]
push edx
call dword [eax + 4]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov edx, dword [esp + 0x38]
mov dword [ecx + edx*4], 0x10ccad10
mov eax, dword [0x10ccad10]
mov ecx, dword [0x10ccad14]
mov dword [eax + 0x4c], ecx
mov edx, dword [0x10ccad10]
mov byte [edx + 0x50], 7
mov eax, dword [0x10ccad10]
and dword [eax + 0x54], 0xfffffffe
mov eax, dword [0x10ccad10]
or dword [eax + 0x54], 8
mov esi, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi]
push esi
push 3
push 1
push 1
push 0xffffffffffffffff
not esi
push esi
push 8
mov ecx, edi
call dword [eax + 0x50]
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
push edi
add ecx, 0xe4
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.10a11ad0
mov ecx, dword [esi + 4]
fild dword [ecx + 0xa4]
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0xff
mov edx, dword [esp + 0x10]
push edx
mov edx, dword [0x10ccad10]
push edx
push 0x3f800000
xor edi, edi
push edi
push edi
push edi
push edi
push ecx
fstp dword [esp]
push ecx
fild dword [ecx + 0xa0]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 3
fstp dword [esp]
push edi
push edi
call fcn.10a11f50
mov dword [esp + 0x78], 0x10c037d0
lea esi, [esp + 0x78]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 4
call fcn.10a11c60
lea eax, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x18], eax
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
push 0x18
push ecx
push edi
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 5
call fcn.109119c0
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, edi
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 0xffffffff
je 0x10a40877
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], edi
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], edi
mov dword [esp + reloc.ole32.dll_CoCreateGuid], edi
call dword [eax + 4]
mov esi, dword [esp + 0x20]
mov edi, dword [ebp + 0xc]
mov ebx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
je 0x10a408bd
mov edi, edi
mov ecx, dword [ebx]
mov edx, dword [ecx]
push 1
push edi
call dword [edx + 8]
mov ecx, dword [ebx]
test ecx, ecx
je 0x10a408b6
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10a408a0
mov edx, dword [esp + 0x34]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push edx
mov ebx, esi
call fcn.10a3bc40
mov ecx, dword [esp + 0x1c]
add esp, 8
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x6c]
cmp dword [0x10c9229c], esi
jne 0x10a408f2
mov dword [0x10c9229c], 0
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret