Function at 0x10ae032a
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x10bd4226
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, ecx
mov al, byte [esi + 0x2de]
or ebp, reloc.ole32.dll_CoCreateGuid
cmp al, 4
push edi
mov dword [esp + 0x14], esi
jne 0x10ae1dd7
mov edi, dword [esp + 0x4c]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae03aa
test byte [0x10d511f8], 1
jne 0x10ae0391
or dword [0x10d511f8], 1
xor edx, edx
push edx
mov eax, 0x110d0d
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], edx
call fcn.10917720
add esp, 0x18
mov dword [0x10d511f4], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511f4]
movzx edx, word [ecx + 0x56]
mov ebx, dword [esp + 0x54]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
jmp 0x10ae03ae
mov ebx, dword [esp + 0x54]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test al, 2
je 0x10ae0411
test byte [0x10d511f8], 2
jne 0x10ae03fe
or dword [0x10d511f8], 2
xor edx, edx
push edx
mov eax, 0xd1675
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 1
call fcn.10917720
add esp, 0x18
mov dword [0x10d511f0], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511f0]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10ae0474
test byte [0x10d511f8], 4
jne 0x10ae0461
or dword [0x10d511f8], 4
xor edx, edx
push edx
mov eax, 0xd1676
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 2
call fcn.10917720
add esp, 0x18
mov dword [0x10d511ec], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511ec]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov edx, dword [ecx]
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
push edi
call dword [edx + 0x58]
test eax, eax
je 0x10ae049c
xor eax, eax
cmp edi, esi
jmp 0x10ae04a8
mov eax, dword [esp + 0x5c]
mov byte [eax + 0x7e], 1
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x10ae0502
test byte [0x10d511f8], 8
jne 0x10ae04ef
or dword [0x10d511f8], 8
xor edx, edx
push edx
mov eax, 0xbe6b
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 3
call fcn.10917720
add esp, 0x18
mov dword [0x10d511e8], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511e8]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x2de]
mov edx, dword [esp + 0x4c]
cmp cl, byte [edx + 0x2de]
je 0x10ae056a
test byte [0x10d511f8], 0x10
jne 0x10ae0558
or dword [0x10d511f8], 0x10
xor edx, edx
push edx
mov eax, 0x254
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 4
call fcn.10917720
add esp, 0x18
mov dword [0x10d511e4], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511e4]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x2dd]
mov ecx, dword [esp + 0x4c]
cmp al, byte [ecx + 0x2dd]
je 0x10ae05d3
test byte [0x10d511f8], 0x20
jne 0x10ae05c0
or dword [0x10d511f8], 0x20
xor edx, edx
push edx
mov eax, 0x255
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 5
call fcn.10917720
add esp, 0x18
mov dword [0x10d511e0], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511e0]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esp + 0x4c]
xor edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test dh, 1
je 0x10ae063f
test byte [0x10d511f8], 0x40
jne 0x10ae062c
or dword [0x10d511f8], 0x40
xor edx, edx
push edx
mov eax, 0x815
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 6
call fcn.10917720
add esp, 0x18
mov dword [0x10d511dc], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511dc]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x2ee]
mov edx, dword [esp + 0x4c]
xor cl, byte [edx + 0x2ee]
test cl, 1
je 0x10ae06ad
mov al, byte [0x10d511f8]
test al, al
js 0x10ae069b
or dword [0x10d511f8], 0x80
xor edx, edx
push edx
mov eax, 0x81e
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 7
call fcn.10917720
add esp, 0x18
mov dword [0x10d511d8], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511d8]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x4c]
cmp eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae071a
mov eax, dword [0x10d511f8]
test ah, 1
jne 0x10ae0707
or eax, 0x100
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x84a
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 8
call fcn.10917720
add esp, 0x18
mov dword [0x10d511d4], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511d4]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esp + 0x4c]
cmp edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0787
mov eax, dword [0x10d511f8]
test ah, 2
jne 0x10ae0774
or eax, 0x200
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb3b1a
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 9
call fcn.10917720
add esp, 0x18
mov dword [0x10d511d0], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d511d0]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x4c]
cmp ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae07f3
mov eax, dword [0x10d511f8]
test ah, 4
jne 0x10ae07e1
or eax, 0x400
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb3b18
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0xa
call fcn.10917720
add esp, 0x18
mov dword [0x10d511cc], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511cc]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x14]
xor eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test ah, 0x10
je 0x10ae0863
mov eax, dword [0x10d511f8]
test ah, 8
jne 0x10ae0850
or eax, 0x800
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x7f6
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0xb
call fcn.10917720
add esp, 0x18
mov dword [0x10d511c8], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511c8]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
mov esi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov edi, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
push edi
call dword [eax + 0x58]
test eax, eax
je 0x10ae088b
xor eax, eax
cmp edi, esi
jmp 0x10ae0897
mov ecx, dword [esp + 0x5c]
xor eax, eax
mov byte [ecx + 0x7e], 1
test esi, esi
setne al
test eax, eax
je 0x10ae08f5
mov eax, dword [0x10d511f8]
test ah, 0x10
jne 0x10ae08e2
or eax, 0x1000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x6bb
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0xc
call fcn.10917720
add esp, 0x18
mov dword [0x10d511c4], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511c4]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x4c]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, 0x2000
je 0x10ae096a
mov edx, dword [0x10d511f8]
test eax, edx
jne 0x10ae0958
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0xb31d
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0xd
call fcn.10917720
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov dword [0x10d511c0], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511c0]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, 0x4000
je 0x10ae09db
mov edx, dword [0x10d511f8]
test eax, edx
jne 0x10ae09c9
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0xb31e
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0xe
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511bc], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511bc]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, 0x8000
je 0x10ae0a4c
mov edx, dword [0x10d511f8]
test eax, edx
jne 0x10ae0a3a
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0xb30d
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0xf
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511b8], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511b8]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0abb
mov eax, dword [0x10d511f8]
test eax, 0x10000
jne 0x10ae0aa8
or eax, 0x10000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb30c
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x10
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511b4], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511b4]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, 0x20000
je 0x10ae0b2c
mov edx, dword [0x10d511f8]
test eax, edx
jne 0x10ae0b1a
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0xbf9d3
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x11
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511b0], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511b0]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov eax, 0x40000
je 0x10ae0b9d
mov edx, dword [0x10d511f8]
test eax, edx
jne 0x10ae0b8b
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0xd5e53
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x12
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511ac], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511ac]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
xor eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10ae0c0e
mov eax, dword [0x10d511f8]
test eax, 0x80000
jne 0x10ae0bfb
or eax, 0x80000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb311
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x13
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511a8], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511a8]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor edx, edi
test dl, 1
mov edi, 0x100000
je 0x10ae0c80
mov eax, dword [0x10d511f8]
test edi, eax
jne 0x10ae0c6e
or eax, edi
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb563
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x14
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511a4], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d511a4]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov edi, 0x200000
je 0x10ae0cee
mov eax, dword [0x10d511f8]
test edi, eax
jne 0x10ae0cdb
or eax, edi
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb566
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x15
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d511a0], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d511a0]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [0x10d511f8]
test eax, 0x400000
jne 0x10ae0d3e
or eax, 0x400000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0xb5bb2
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x16
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5119c], eax
mov dword [esp + 0x44], ebp
jmp 0x10ae0d43
mov eax, dword [0x10d5119c]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0d5e
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0d7a
movzx edx, word [eax + 0x56]
inc edx
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0d98
movzx edx, word [eax + 0x56]
add edx, 2
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0db6
movzx eax, word [eax + 0x56]
add eax, 3
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0e24
mov eax, dword [0x10d511f8]
test eax, 0x800000
jne 0x10ae0e12
or eax, 0x800000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dffe
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x17
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51198], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51198]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0e93
mov eax, dword [0x10d511f8]
test eax, 0x1000000
jne 0x10ae0e80
or eax, 0x1000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dff6
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x18
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51194], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51194]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0f01
mov eax, dword [0x10d511f8]
test eax, 0x2000000
jne 0x10ae0eef
or eax, 0x2000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dff7
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x19
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51190], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51190]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0f70
mov eax, dword [0x10d511f8]
test eax, 0x4000000
jne 0x10ae0f5d
or eax, 0x4000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dff8
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1a
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5118c], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d5118c]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae0fe1
mov edx, dword [0x10d511f8]
mov eax, 0x8000000
test eax, edx
jne 0x10ae0fcf
mov ecx, edx
or ecx, eax
mov dword [0x10d511f8], ecx
xor edx, edx
push edx
mov eax, 0x10dff9
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1b
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51188], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51188]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1050
mov eax, dword [0x10d511f8]
test eax, 0x10000000
jne 0x10ae103d
or eax, 0x10000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dffa
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1c
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51184], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51184]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae10be
mov eax, dword [0x10d511f8]
test eax, 0x20000000
jne 0x10ae10ac
or eax, 0x20000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dffb
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1d
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51180], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51180]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae112d
mov eax, dword [0x10d511f8]
test eax, 0x40000000
jne 0x10ae111a
or eax, 0x40000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dffc
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1e
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5117c], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d5117c]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1198
mov eax, dword [0x10d511f8]
test eax, eax
js 0x10ae1186
or eax, 0x80000000
mov dword [0x10d511f8], eax
xor edx, edx
push edx
mov eax, 0x10dffd
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x1f
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51178], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51178]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1201
test byte [0x10d51174], 1
jne 0x10ae11ee
or dword [0x10d51174], 1
xor edx, edx
push edx
mov eax, 0x10e007
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x20
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51170], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51170]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1269
test byte [0x10d51174], 2
jne 0x10ae1257
or dword [0x10d51174], 2
xor edx, edx
push edx
mov eax, 0x10dfff
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x21
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5116c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5116c]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae12d2
test byte [0x10d51174], 4
jne 0x10ae12bf
or dword [0x10d51174], 4
xor edx, edx
push edx
mov eax, 0x10e000
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x22
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51168], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51168]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae133a
test byte [0x10d51174], 8
jne 0x10ae1328
or dword [0x10d51174], 8
xor edx, edx
push edx
mov eax, 0x10e001
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x23
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51164], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51164]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae13a3
test byte [0x10d51174], 0x10
jne 0x10ae1390
or dword [0x10d51174], 0x10
xor edx, edx
push edx
mov eax, 0x10e002
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x24
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51160], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51160]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae140b
test byte [0x10d51174], 0x20
jne 0x10ae13f9
or dword [0x10d51174], 0x20
xor edx, edx
push edx
mov eax, 0x10e003
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x25
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5115c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5115c]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1474
test byte [0x10d51174], 0x40
jne 0x10ae1461
or dword [0x10d51174], 0x40
xor edx, edx
push edx
mov eax, 0x10e004
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x26
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51158], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51158]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae14df
mov al, byte [0x10d51174]
test al, al
js 0x10ae14cd
or dword [0x10d51174], 0x80
xor edx, edx
push edx
mov eax, 0x10e005
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x27
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51154], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51154]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae154c
mov eax, dword [0x10d51174]
test ah, 1
jne 0x10ae1539
or eax, 0x100
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x10e006
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x28
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51150], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51150]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae15b8
mov eax, dword [0x10d51174]
test ah, 2
jne 0x10ae15a6
or eax, 0x200
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb5bb3
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x29
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5114c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5114c]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1625
mov eax, dword [0x10d51174]
test ah, 4
jne 0x10ae1612
or eax, 0x400
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb5bb4
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x2a
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51148], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51148]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1691
mov eax, dword [0x10d51174]
test ah, 8
jne 0x10ae167f
or eax, 0x800
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb5bb5
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x2b
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51144], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51144]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae16fe
mov eax, dword [0x10d51174]
test ah, 0x10
jne 0x10ae16eb
or eax, 0x1000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb5bb6
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x2c
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51140], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51140]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
jns 0x10ae1cd3
mov dl, byte [ecx + 0xab4]
cmp dl, byte [esi + 0xab4]
je 0x10ae1778
mov eax, dword [0x10d51174]
test ah, 0x20
jne 0x10ae1766
or eax, 0x2000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb56c
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x2d
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5113c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5113c]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test al, 0x20
je 0x10ae17e7
mov eax, dword [0x10d51174]
test ah, 0x40
jne 0x10ae17d4
or eax, 0x4000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xfdb
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x2e
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51138], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51138]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1852
mov eax, dword [0x10d51174]
test ah, ah
js 0x10ae1840
or eax, 0x8000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x55906
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x2f
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51134], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51134]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov al, byte [ecx + 0xad8]
cmp al, byte [esi + 0xad8]
je 0x10ae18c1
mov eax, dword [0x10d51174]
test eax, 0x10000
jne 0x10ae18ae
or eax, 0x10000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x66859
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x30
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51130], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51130]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov dl, byte [ecx + 0xad9]
cmp dl, byte [esi + 0xad9]
je 0x10ae192f
mov eax, dword [0x10d51174]
test eax, 0x20000
jne 0x10ae191d
or eax, 0x20000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x66866
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x31
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5112c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5112c]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov al, byte [ecx + 0x718]
cmp al, byte [esi + 0x718]
je 0x10ae199e
mov eax, dword [0x10d51174]
test eax, 0x40000
jne 0x10ae198b
or eax, 0x40000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x9799e
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x32
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51128], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51128]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
xor edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test edx, 0x4000000
je 0x10ae1a12
mov eax, dword [0x10d51174]
test eax, 0x80000
jne 0x10ae1a00
or eax, 0x80000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x97bde
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x33
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51124], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51124]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov al, byte [ecx + 0x2d8]
cmp al, byte [esi + 0x2d8]
je 0x10ae1a81
mov eax, dword [0x10d51174]
test eax, 0x100000
jne 0x10ae1a6e
or eax, 0x100000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x7b3
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0x34
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51120], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51120]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
cmp byte [ecx + 0x2dd], 2
jne 0x10ae1cd3
mov eax, dword [0x10d51174]
test edi, eax
jne 0x10ae1ad8
or eax, edi
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb432
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x35
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d5111c], eax
mov dword [esp + 0x44], ebp
jmp 0x10ae1add
mov eax, dword [0x10d5111c]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1af8
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1b14
movzx edx, word [eax + 0x56]
inc edx
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1b32
movzx edx, word [eax + 0x56]
add edx, 2
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1b50
movzx edx, word [eax + 0x56]
add edx, 3
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1b6e
movzx edx, word [eax + 0x56]
add edx, 4
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1b8c
movzx eax, word [eax + 0x56]
add eax, 5
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1bfa
mov eax, dword [0x10d51174]
test eax, 0x400000
jne 0x10ae1be8
or eax, 0x400000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb435
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x36
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51118], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51118]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1c69
mov eax, dword [0x10d51174]
test eax, 0x800000
jne 0x10ae1c56
or eax, 0x800000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0x6e1ed
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x37
call fcn.10917720
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
add esp, 0x18
mov dword [0x10d51114], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51114]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x54], ebx
mov dl, byte [ecx + 0xab3]
cmp dl, byte [esi + 0xab3]
je 0x10ae1cd3
mov eax, dword [0x10d51174]
test eax, 0x1000000
jne 0x10ae1cc1
or eax, 0x1000000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb56b
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x38
call fcn.10917720
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov dword [0x10d51110], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d51110]
movzx edx, word [eax + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
test byte [ecx + 0x2f4], 1
je 0x10ae1dd7
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x4c]
cmp ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1d4e
mov eax, dword [0x10d51174]
test eax, 0x2000000
jne 0x10ae1d3c
or eax, 0x2000000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb548
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x39
call fcn.10917720
add esp, 0x18
mov dword [0x10d5110c], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d5110c]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x14]
test byte [edx + 0xaf0], 0x20
je 0x10ae1dd7
mov eax, edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae1dd0
mov ecx, dword [0x10d51174]
test ecx, 0x4000000
jne 0x10ae1dbd
mov eax, ecx
or eax, 0x4000000
mov dword [0x10d51174], eax
xor edx, edx
push edx
mov eax, 0xb549
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x3a
call fcn.10917720
mov dword [0x10d51108], eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d51108]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x54], ebx
and dword [eax + reloc.ole32.dll_CoCreateGuid], 0xffffffdf
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2dd], 2
jne 0x10ae27dc
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx]
mov ebx, eax
mov edi, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push edi
call dword [edx + 0x58]
test eax, eax
je 0x10ae1e0e
xor eax, eax
cmp edi, esi
jmp 0x10ae1e1a
mov eax, dword [esp + 0x5c]
mov byte [eax + 0x7e], 1
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x10ae1e7f
mov ecx, dword [0x10d51174]
mov eax, 0x8000000
test eax, ecx
jne 0x10ae1e68
or ecx, eax
mov dword [0x10d51174], ecx
xor edx, edx
push edx
mov eax, 0x488b2
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0x3b
call fcn.10917720
add esp, 0x18
mov dword [0x10d51104], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d51104]
movzx edx, word [ecx + 0x56]
mov eax, dword [esp + 0x54]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x54], eax
test byte [ebx + 0x2f4], 1
jne 0x10ae27dc
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x28]
fild dword [eax + 0xb8]
mov ecx, dword [eax + 0x68]
fidiv dword [ecx + 0xf8]
fsubr dword [0x10c109fc]
fld dword [0x10c109f8]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10ae1ec3
fstp st(0)
mov dword [esp + 0x20], 0
jmp 0x10ae1ec7
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
fmul dword [0x10c10f10]
mov bl, byte [ecx + 0x2d8]
cmp byte [ecx + 0x4a6], bl
fsubr dword [0x10c109ec]
fstp dword [esp + 0x28]
jne 0x10ae1efb
test byte [ecx + 0x4a8], 1
mov byte [esp + 0x13], 0
je 0x10ae1f00
mov byte [esp + 0x13], 1
mov edx, dword [esp + 0x4c]
fld dword [edx + 0x750]
fcomp dword [ecx + 0x750]
fnstsw ax
test ah, 5
jp 0x10ae1f1e
mov byte [esp + 0x13], 1
jmp 0x10ae1f3c
mov al, byte [esp + 0x13]
test al, al
jne 0x10ae1f3c
cmp bl, 5
je 0x10ae2716
cmp bl, 0xc
je 0x10ae2716
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esp + 0x5c]
fld dword [edi + 0x3b0]
fsub dword [eax + 0x4c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fcomp dword [0x10c10b90]
mov dword [esp + 0x18], edx
fnstsw ax
test ah, 1
je 0x10ae1f79
test byte [ecx + 0x4a8], 1
jne 0x10ae1f79
xor eax, eax
jmp 0x10ae1f7e
mov eax, 1
or byte [esp + 0x13], al
jne 0x10ae2156
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
fld dword [ecx + 0x8c]
add esi, 0x8c
fcomp dword [esi]
fnstsw ax
test ah, 0x44
jp 0x10ae1fc5
fld dword [ecx + 0x90]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x44
jp 0x10ae1fc5
fld dword [ecx + 0x94]
fcomp dword [esi + 8]
fnstsw ax
test ah, 0x44
jnp 0x10ae1fda
mov ecx, esi
call fcn.109407a0
test eax, eax
je 0x10ae1fda
mov byte [esp + 0x13], 1
jmp 0x10ae2156
fld dword [esp + 0x1c]
fcomp dword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x10ae2156
cmp bl, 2
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x8c]
fld dword [ecx + 0x94]
mov edx, dword [ecx + 0x90]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
jne 0x10ae201c
fld dword [esp + 0x18]
fmul dword [0x10c10b78]
fsubp st(1)
fld dword [esi + 8]
fld dword [esi + 4]
fld dword [esi]
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 dword [esp + 0x24]
fstp st(0)
fstp st(0)
fstp st(0)
fsub dword [esi + 8]
fld dword [esp + 0x34]
fsub dword [esi + 4]
fld dword [esp + 0x30]
fsub dword [esi]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fld dword [esp + 0x24]
fmul dword [0x10c10c88]
fcompp
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10ae2081
mov byte [esp + 0x13], 1
jmp 0x10ae2156
cmp bl, 2
fld dword [esp + 0x18]
fmul dword [ecx + 0x94]
fld dword [esp + 0x18]
fmul dword [ecx + 0x90]
fld dword [esp + 0x18]
fmul dword [ecx + 0x8c]
fstp dword [esp + 0x30]
fxch st(1)
fadd dword [ecx + 0x88]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fadd dword [ecx + 0x84]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fadd dword [ecx + 0x80]
fstp dword [esp + 0x30]
jne 0x10ae20ea
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
fmul dword [0x10c10f20]
fsubr dword [esp + 0x1c]
fstp dword [esp + 0x38]
fld dword [esp + 0x24]
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 0x41
jne 0x10ae2103
fld dword [0x10c10e20]
jmp 0x10ae2109
fld dword [0x10c109fc]
mov eax, dword [esp + 0x14]
fld dword [eax + 0x88]
mov byte [esp + 0x13], 1
fsub dword [esp + 0x38]
fld dword [eax + 0x84]
fsub dword [esp + 0x2c]
fld dword [eax + 0x80]
fsub dword [esp + 0x30]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp st(4)
fstp st(0)
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
je 0x10ae2156
mov byte [esp + 0x13], 0
fld dword [edi + 0x3b0]
mov ecx, dword [esp + 0x5c]
fsub dword [ecx + 0x50]
fcomp dword [esp + 0x28]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x14]
je 0x10ae2277
test byte [eax + 0x4a8], 1
jne 0x10ae2277
mov cl, byte [esp + 0x13]
test cl, cl
jne 0x10ae2429
fld dword [esp + 0x20]
fcomp dword [0x10c10a10]
fnstsw ax
test ah, 0x41
jne 0x10ae2448
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0xe4]
sub eax, dword [ecx + 0xe4]
and eax, 0xffff
cmp eax, 0x7fff
jle 0x10ae21cd
mov edx, 0x10000
sub edx, eax
mov eax, edx
cmp eax, 0x708
jle 0x10ae2448
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x1c]
add eax, 0xe0
add ecx, 0xe0
call fcn.10992e20
add esp, 8
test eax, eax
je 0x10ae2448
mov ecx, dword [0x10d51174]
mov eax, 0x80000000
test eax, ecx
jne 0x10ae225b
or ecx, eax
mov dword [0x10d51174], ecx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
mov dword [ecx], reloc.ole32.dll_CoCreateGuid
mov ecx, esp
xor eax, eax
mov dword [esp + 0x34], esp
push ecx
mov dword [ecx], eax
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x10cc52a8
mov dword [esp + 0x54], 0x3f
mov dword [ecx], eax
call fcn.10992280
add esp, 0x10
mov dword [0x10d51100], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d51100]
movzx ecx, word [edx + 0x56]
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x54], eax
jmp 0x10ae2448
mov ecx, dword [esp + 0x4c]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae22f4
mov edx, dword [0x10d51174]
test edx, 0x10000000
jne 0x10ae22dd
mov ebx, edx
or ebx, 0x10000000
mov dword [0x10d51174], ebx
xor edx, edx
push edx
mov eax, 0xb537
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x3c
call fcn.10917720
mov ecx, dword [esp + 0x64]
mov dword [0x10d510fc], eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d510fc]
movzx esi, word [edx + 0x56]
mov edx, dword [esp + 0x54]
mov dword [edx], esi
add edx, 4
mov dword [esp + 0x54], edx
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae236d
mov edx, dword [0x10d51174]
test edx, 0x20000000
jne 0x10ae2356
mov ebx, edx
or ebx, 0x20000000
mov dword [0x10d51174], ebx
xor edx, edx
push edx
mov eax, 0xb536
push eax
xor ecx, ecx
push ecx
push edx
push 0x10c9a048
push 0x10cc8610
mov dword [esp + 0x5c], 0x3d
call fcn.10917720
mov ecx, dword [esp + 0x64]
mov dword [0x10d510f8], eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d510f8]
movzx esi, word [edx + 0x56]
mov edx, dword [esp + 0x54]
mov dword [edx], esi
add edx, 4
mov dword [esp + 0x54], edx
mov dl, byte [esp + 0x13]
test dl, dl
jne 0x10ae240a
mov edx, dword [eax + 0xe0]
cmp edx, dword [ecx + 0xe0]
jne 0x10ae23a3
mov edx, dword [eax + 0xe4]
cmp edx, dword [ecx + 0xe4]
jne 0x10ae23a3
mov edx, dword [eax + 0xe8]
cmp edx, dword [ecx + 0xe8]
je 0x10ae240a
mov ecx, dword [0x10d51174]
test ecx, 0x40000000
jne 0x10ae23f3
mov ebx, ecx
or ebx, 0x40000000
mov dword [0x10d51174], ebx
xor edx, edx
push edx
mov eax, 0x58a
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc52a8
push 0x10cc8610
mov dword [esp + 0x5c], 0x3e
call fcn.10917720
mov dword [0x10d510f4], eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d510f4]
movzx edx, word [ecx + 0x56]
mov ecx, dword [esp + 0x54]
mov dword [ecx], edx
add ecx, 4
mov dword [esp + 0x54], ecx
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov al, byte [esp + 0x13]
test al, al
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x50], ecx
je 0x10ae2448
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x4c], edx
and dword [eax + reloc.ole32.dll_CoCreateGuid], 0xfffffffe
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [esp + 0x13]
or ecx, 0x1000
test al, al
mov dword [edi + reloc.ole32.dll_CoCreateGuid], ecx
je 0x10ae2679
mov eax, edi
fld dword [eax + 0x88]
lea esi, reloc.ole32.dll_CoCreateGuid
fmul dword [0x10c10af4]
mov edx, esi
fld dword [eax + 0x84]
lea edi, [eax + 0xe0]
fmul dword [0x10c10af4]
lea ebp, [eax + 0x8c]
fld dword [eax + 0x80]
fmul dword [0x10c10af4]
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [edx], ecx
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov dword [edx + 4], ecx
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [edx + 8], ecx
lea edx, reloc.ole32.dll_CoCreateGuid
mov ecx, edi
mov ebx, dword [ecx]
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
add eax, 0x370
mov edx, ebp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
fld dword [edx + 0x3b0]
mov dword [esp + 0x20], ebx
fsub dword [ecx + reloc.ole32.dll_CoCreateGuid]
fcomp dword [0x10c10ed0]
fnstsw ax
test ah, 5
jp 0x10ae2603
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
xor eax, eax
mov al, byte [ecx + 0x744]
push eax
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
push edx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
push eax
push edx
lea eax, [esp + 0x34]
push eax
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
lea edx, [esp + 0x3c]
push edx
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
push ecx
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
call fcn.10ac1fe0
mov eax, dword [esp + 0x4c]
fld dword [eax + 0x750]
mov ecx, dword [esp + 0x14]
fcomp dword [ecx + 0x750]
mov ebx, ecx
mov edx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push edx
fnstsw ax
xor edx, edx
mov dl, byte [ebx + 0xab3]
test ah, 5
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push eax
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
mov ecx, esi
jp 0x10ae25d0
sub esp, 0x24
mov eax, esp
mov dword [esp + 0x68], esp
call fcn.10ae2d60
mov edx, dword [esp + 0x60]
mov eax, ebx
mov ebx, dword [esp + 0x5c]
call fcn.10ae74b0
jmp 0x10ae25ed
sub esp, 0x24
mov eax, esp
mov dword [esp + 0x68], esp
call fcn.10ae2d60
mov edx, dword [esp + 0x60]
mov eax, ebx
mov ebx, dword [esp + 0x5c]
call fcn.10ae7430
mov eax, dword [esp + 0x14]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + reloc.ole32.dll_CoCreateGuid], edx
jmp 0x10ae2624
sub esp, 0x24
mov ecx, esi
mov eax, esp
mov dword [esp + 0x50], esp
call fcn.10ae2d60
mov eax, dword [esp + 0x38]
call fcn.10ae73e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov esi, dword [eax + 0x80]
lea edx, [ecx + 0x80]
mov dword [edx], esi
mov esi, dword [eax + 0x84]
mov dword [edx + 4], esi
mov eax, dword [eax + 0x88]
mov dword [edx + 8], eax
mov eax, dword [edi]
lea edx, [ecx + 0xe0]
mov dword [edx], eax
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov edx, dword [ebp]
add ecx, 0x8c
mov dword [ecx], edx
mov eax, dword [ebp + 4]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 8]
mov dword [ecx + 8], edx
or ebp, reloc.ole32.dll_CoCreateGuid
jmp 0x10ae2716
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [eax + 0x3b0]
fsub dword [edi + reloc.ole32.dll_CoCreateGuid]
fcomp dword [0x10c10a78]
fnstsw ax
test ah, 5
jp 0x10ae2716
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
xor ecx, ecx
mov cl, byte [edi + 0x744]
push ecx
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push edx
push eax
push ecx
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea edx, [esp + 0x3c]
push edx
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
push edi
call fcn.10ac1fe0
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x28]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [edx + 0x30]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push eax
xor eax, eax
mov al, byte [edi + 0xab3]
push ecx
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
mov eax, edi
call fcn.10ae7380
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test ah, 1
jne 0x10ae27dc
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
fld dword [edx + 0x3b0]
mov ebx, dword [esp + 0x5c]
fsub qword [ebx + 0x74]
fcomp qword [0x10c10f18]
fnstsw ax
test ah, 5
jp 0x10ae27dc
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov edx, dword [ecx]
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
push edi
call dword [edx + 0x58]
test eax, eax
je 0x10ae2771
xor eax, eax
cmp edi, esi
jmp 0x10ae2779
xor eax, eax
mov byte [ebx + 0x7e], 1
test esi, esi
setne al
test eax, eax
je 0x10ae27d3
test byte [0x10d510f0], 1
jne 0x10ae27bc
or dword [0x10d510f0], 1
xor edx, edx
push edx
mov eax, 0x485
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x40
call fcn.10917720
add esp, 0x18
mov dword [0x10d510ec], eax
mov eax, dword [0x10d510ec]
movzx ecx, word [eax + 0x56]
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
add eax, 4
jmp 0x10ae2d44
mov eax, dword [esp + 0x54]
jmp 0x10ae2d44
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esp + 0x5c]
fld dword [edx + 0x3b0]
fstp qword [eax + 0x74]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test ah, 1
je 0x10ae28ab
mov edx, dword [0x10c9a0d0]
test dh, 8
je 0x10ae28ab
cmp byte [ecx + 0x2de], 4
jne 0x10ae28ab
test al, 4
je 0x10ae28ab
mov eax, dword [esp + 0x4c]
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2854
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2854
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
cmp ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
je 0x10ae28ab
test byte [0x10d510f0], 2
jne 0x10ae2894
or dword [0x10d510f0], 2
xor edx, edx
push edx
mov eax, 0x1049
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x41
call fcn.10917720
add esp, 0x18
mov dword [0x10d510e8], eax
mov dword [esp + 0x44], ebp
mov edx, dword [0x10d510e8]
movzx ecx, word [edx + 0x56]
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
push esi
mov ecx, edi
call fcn.10988610
mov ebx, eax
cmp byte [edi + 0x2de], 4
jne 0x10ae2d42
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae293b
test byte [0x10d510f0], 4
jne 0x10ae292c
or dword [0x10d510f0], 4
xor edx, edx
push edx
mov eax, 0x102c
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x42
call fcn.10917720
add esp, 0x18
mov dword [0x10d510e4], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d510e4]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
cmp byte [edi + 0x2de], 4
jne 0x10ae2d42
test byte [edi + 0x2ec], 4
je 0x10ae2d42
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov edx, dword [ecx]
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
push edi
call dword [edx + 0x58]
test eax, eax
je 0x10ae297d
xor eax, eax
cmp edi, esi
jmp 0x10ae2989
mov eax, dword [esp + 0x5c]
mov byte [eax + 0x7e], 1
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x10ae29df
test byte [0x10d510f0], 8
jne 0x10ae29d0
or dword [0x10d510f0], 8
xor edx, edx
push edx
mov eax, 0x485
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x43
call fcn.10917720
add esp, 0x18
mov dword [0x10d510e0], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d510e0]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x4c]
cmp ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
je 0x10ae2a43
test byte [0x10d510f0], 0x10
jne 0x10ae2a35
or dword [0x10d510f0], 0x10
xor edx, edx
push edx
mov eax, 0x102c
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x44
call fcn.10917720
add esp, 0x18
mov dword [0x10d510dc], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d510dc]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov edx, dword [esp + 0x14]
test byte [edx + 0x2f4], 1
jne 0x10ae2a62
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10ae2b0c
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10ae2a82
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx]
push eax
call dword [edx + 0x58]
test eax, eax
je 0x10ae2b0c
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov edx, dword [ecx]
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
push edi
call dword [edx + 0x58]
test eax, eax
je 0x10ae2aaa
xor eax, eax
cmp edi, esi
jmp 0x10ae2ab6
mov eax, dword [esp + 0x5c]
mov byte [eax + 0x7e], 1
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x10ae2b0c
test byte [0x10d510f0], 0x20
jne 0x10ae2afd
or dword [0x10d510f0], 0x20
xor edx, edx
push edx
mov eax, 0x8b6
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x45
call fcn.10917720
add esp, 0x18
mov dword [0x10d510d8], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d510d8]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
mov al, byte [esi + 0x4a5]
cmp al, byte [edi + 0x4a5]
je 0x10ae2b71
test byte [0x10d510f0], 0x40
jne 0x10ae2b62
or dword [0x10d510f0], 0x40
xor edx, edx
push edx
mov eax, 0x1048
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x46
call fcn.10917720
add esp, 0x18
mov dword [0x10d510d4], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [0x10d510d4]
movzx edx, word [ecx + 0x56]
mov dword [ebx], edx
add ebx, 4
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2b9b
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2b9b
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae2bec
mov al, byte [0x10d510f0]
test al, al
js 0x10ae2bde
or dword [0x10d510f0], 0x80
xor edx, edx
push edx
mov eax, 0x1047
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x47
call fcn.10917720
add esp, 0x18
mov dword [0x10d510d0], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d510d0]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae2c50
mov eax, dword [0x10d510f0]
test ah, 1
jne 0x10ae2c42
mov ecx, eax
or ecx, 0x100
mov dword [0x10d510f0], ecx
xor edx, edx
push edx
mov eax, 0x1046
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x48
call fcn.10917720
add esp, 0x18
mov dword [0x10d510cc], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d510cc]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
xor edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
test edx, 0x80000
je 0x10ae2cb9
mov ecx, dword [0x10d510f0]
mov eax, 0x200
test eax, ecx
jne 0x10ae2cab
or ecx, eax
mov dword [0x10d510f0], ecx
xor edx, edx
push edx
mov eax, 0xfeb
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x49
call fcn.10917720
add esp, 0x18
mov dword [0x10d510c8], eax
mov dword [esp + 0x44], ebp
mov eax, dword [0x10d510c8]
movzx ecx, word [eax + 0x56]
mov dword [ebx], ecx
add ebx, 4
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test ah, 1
jne 0x10ae2d42
mov edx, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2cee
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jne 0x10ae2cee
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
cmp ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
je 0x10ae2d42
mov ecx, dword [0x10d510f0]
mov eax, 0x400
test eax, ecx
jne 0x10ae2d33
mov ebp, ecx
or ebp, eax
mov dword [0x10d510f0], ebp
xor edx, edx
push edx
mov eax, 0x1049
push eax
xor ecx, ecx
push ecx
push edx
push 0x10cc1568
push 0x10cc8610
mov dword [esp + 0x5c], 0x4a
call fcn.10917720
add esp, 0x18
mov dword [0x10d510c4], eax
mov edx, dword [0x10d510c4]
movzx eax, word [edx + 0x56]
mov dword [ebx], eax
add ebx, 4
mov eax, ebx
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x38
ret 0x14