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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10bd5cb7
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
mov ebp, dword [esp + reloc.ole32.dll_CoCreateGuid]
push edi
mov edi, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi + 0x2c]
xor ebx, ebx
cmp eax, ebx
jne 0x10a0df56
mov eax, dword [ebp + 0x68]
cmp dword [eax + 0x38], ebp
push esi
jne 0x10a0da1d
fld qword [eax + 0x44]
fsub qword [ebp + 0xe4]
fcom qword [0x10c10ad8]
fnstsw ax
test ah, 1
jne 0x10a0da1b
mov esi, dword [ebp + 0x30]
cmp esi, ebx
je 0x10a0da1b
call fcn.10b83aa0
call fcn.10a0ed60
jmp 0x10a0da1d
fstp st(0)
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 0x44]
mov dword [ebp + 0xe4], ecx
mov edx, dword [eax + 0x48]
push 0x4000
lea ecx, [esp + 0x18]
mov dword [ebp + 0xe8], edx
mov eax, dword [edi]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], ebx
call dword [eax + 0xc]
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x14]
sub edx, eax
sub edx, 0x2000
and edx, 0x3fff
lea esi, reloc.ole32.dll_CoCreateGuid
cmp esi, eax
mov dword [esp + 0x14], esi
jle 0x10a0da89
mov ecx, esi
sub ecx, eax
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
dec ecx
add eax, ecx
mov dword [ebp + reloc.ole32.dll_CoCreateGuid], eax
mov dword [ebp + reloc.ole32.dll_CoCreateGuid], esi
jmp 0x10a0da8f
inc dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ebp]
push 1
push esi
mov ecx, ebp
call dword [edx + 0x6c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
jne 0x10a0df55
jmp 0x10a0dab1
mov esi, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [ebp + 0x6c]
cmp eax, 1
je 0x10a0df55
cmp eax, 4
je 0x10a0df55
mov cx, word [edi + 0x4e]
xor dl, dl
cmp cx, word [edi + 0x4c]
jae 0x10a0dafa
mov ebx, dword [edi + 0x40]
movzx eax, cx
mov esi, eax
shr esi, 3
mov bl, byte [esi + ebx]
and eax, 7
test byte [eax + 0x10c41088], bl
je 0x10a0daed
mov dl, 1
mov esi, dword [esp + 0x14]
inc ecx
mov word [edi + 0x4e], cx
xor ebx, ebx
jmp 0x10a0db01
mov dword [edi + 0x2c], 1
cmp dword [edi + 0x2c], ebx
movzx eax, dl
jne 0x10a0df55
cmp eax, ebx
je 0x10a0dc23
mov edx, dword [edi]
push 0x4000
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call dword [edx + 0xc]
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x10]
sub ecx, eax
sub ecx, 0x2000
and ecx, 0x3fff
lea esi, reloc.ole32.dll_CoCreateGuid
cmp dword [edi + 0x2c], ebx
mov dword [esp + 0x18], esi
jne 0x10a0df55
cmp esi, eax
jle 0x10a0db7f
lea ebx, [eax + 1]
cmp ebx, esi
jge 0x10a0db79
push ebp
call fcn.10a0d970
mov ecx, dword [ebp + reloc.ole32.dll_CoCreateGuid]
inc ebx
inc ecx
cmp ebx, esi
mov dword [ebp + reloc.ole32.dll_CoCreateGuid], ecx
jl 0x10a0db61
mov dword [ebp + reloc.ole32.dll_CoCreateGuid], esi
mov eax, esi
and eax, 0xff
cmp dword [ebp + eax*4 + reloc.ole32.dll_CoCreateGuid], esi
jne 0x10a0dbc3
mov edx, dword [ebp + 0x68]
fld qword [edx + 0x44]
fsub qword [ebp + eax*8 + 0x2dc]
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
fld qword [ebp + 0x220]
inc eax
fmul qword [0x10c10af8]
mov dword [ebp + reloc.ole32.dll_CoCreateGuid], eax
fsubp st(1)
fadd dword [ebp + 0x1d8]
fstp dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [ebp + reloc.ole32.dll_CoCreateGuid]
dec ebx
js 0x10a0df21
jmp 0x10a0dbe0
mov esi, dword [esp + 0x18]
jmp 0x10a0dbe0
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx + 0x44]
test eax, eax
je 0x10a0dc0b
cmp dword [eax + 0x6c], esi
jne 0x10a0dc04
mov dl, byte [eax + 0x70]
test dl, dl
mov byte [eax + 0x73], 1
je 0x10a0dc04
or byte [ecx + 0x56], 0x10
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x10a0dbf0
cmp dword [ecx + 0x30], esi
jne 0x10a0dc14
or byte [ecx + 0x56], 0x10
mov esi, ecx
call fcn.109dfcb0
dec ebx
jns 0x10a0dbd2
jmp 0x10a0df21
push ebx
push ebx
lea ecx, [esp + 0x24]
push ecx
call fcn.10b20b70
mov dword [esp + 0x1c], 0x10c047c0
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x54], 0x2710
mov edx, edi
mov dword [esp + reloc.ole32.dll_CoCreateGuid], ebx
call fcn.10b20e00
test al, al
mov dword [esp + 0x80], esi
je 0x10a0dc7a
call fcn.10b20e00
mov byte [esp + 0x84], al
call fcn.10b20e00
mov byte [esp + 0x85], al
jmp 0x10a0dc8a
mov byte [esp + 0x84], 0
mov byte [esp + 0x85], 0
mov edx, edi
call fcn.10b20e00
mov edx, dword [edi]
mov byte [esp + 0x86], al
push 0x1ff
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call dword [edx + 0xc]
mov al, byte [esp + 0x86]
test al, al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
je 0x10a0dd19
mov edx, dword [edi]
push 0x400
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call dword [edx + 0xc]
mov ecx, dword [esp + 0x74]
mov eax, dword [ebp + ecx*4 + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x10]
sub edx, eax
sub edx, 0x200
and edx, 0x3ff
lea eax, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x7c], eax
mov al, byte [esp + 0x86]
test al, al
jne 0x10a0dd1f
mov al, byte [esp + 0x84]
test al, al
jne 0x10a0dd1f
mov dword [esp + 0x78], ebx
jmp 0x10a0dd39
mov dword [esp + 0x7c], ebx
jmp 0x10a0dd08
mov edx, dword [edi]
push 8
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call dword [edx + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0xc0]
mov edx, dword [edi]
push eax
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call dword [edx + 0xc]
cmp dword [edi + 0x2c], ebx
jne 0x10a0df40
mov ebx, dword [esp + 0x10]
push edi
lea eax, [esp + 0x20]
call fcn.10b20c60
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x10a0df32
mov edx, dword [esp + 0x74]
mov ebx, dword [ebp + edx*4 + reloc.ole32.dll_CoCreateGuid]
test ebx, ebx
mov esi, dword [esp + 0x78]
jne 0x10a0dda0
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x10a0dda0
test edx, edx
jne 0x10a0df39
cmp esi, 1
jne 0x10a0df39
mov al, byte [esp + 0x86]
test al, al
je 0x10a0dde6
mov ecx, dword [esp + 0x7c]
sub ecx, dword [ebp + edx*4 + reloc.ole32.dll_CoCreateGuid]
sub ecx, 0x200
and ecx, 0x3ff
sub ecx, 0x200
test ecx, ecx
jg 0x10a0de20
lea edx, [esp + 0x1c]
push edx
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
call fcn.109dffa0
jmp 0x10a0df21
mov al, byte [esp + 0x84]
test al, al
je 0x10a0ddfc
mov al, byte [esp + 0x85]
test al, al
jne 0x10a0de20
test ebx, ebx
je 0x10a0de06
cmp dword [ebx + 0x30], reloc.ole32.dll_CoCreateGuid
jne 0x10a0de20
lea eax, [esp + 0x1c]
push eax
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
call fcn.109dffa0
jmp 0x10a0df21
test ebx, ebx
jne 0x10a0dec4
mov eax, esi
call fcn.109e04e0
test eax, eax
je 0x10a0df40
push ebx
push ebp
mov eax, edx
mov ecx, esi
call fcn.10a0e450
mov ecx, dword [ebp + 0x68]
mov ecx, dword [ecx + 0x3c]
mov edx, dword [ecx]
mov ebx, eax
push ebx
call dword [edx + 8]
test eax, eax
jne 0x10a0dec4
push 1
mov edi, ebx
lea esi, [esp + 0x8c]
call fcn.10a4a580
push 0
lea eax, [esp + 0x8c]
mov ecx, ebx
mov byte [esp + 0x108], 1
mov byte [esp + 0xfe], 1
call fcn.109e0090
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x70]
test ebx, ebx
je 0x10a0de99
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx + 0xc]
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x10a0dea8
mov dword [ebp + 0x6c], 1
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x108], 0
call fcn.109dffa0
lea ecx, [esp + 0x1c]
push ecx
jmp 0x10a0df0a
mov al, byte [esp + 0x84]
test al, al
je 0x10a0deda
mov edx, dword [esp + 0x14]
or byte [ebx + 0x56], 0x10
mov dword [ebx + 0x30], edx
lea eax, [esp + 0x1c]
push eax
mov edi, ebx
call fcn.109dfd70
inc dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [ebp + 0x68]
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x10a0df05
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10a0df05
mov dword [ebp + 0x6c], 1
lea edx, [esp + 0x1c]
push edx
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
call fcn.109dffa0
mov edi, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x10a0daab
jmp 0x10a0df55
lea edx, [esp + 0x1c]
push edx
jmp 0x10a0df45
lea eax, [esp + 0x1c]
push eax
jmp 0x10a0df45
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
call fcn.109dffa0
pop esi
mov ecx, dword [esp + 0xf8]
pop edi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf8
ret 8