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

Disassembly:
sub esp, 0xe0
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dl, byte [eax + 0x2e8]
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
push ebx
push ebp
xor ebx, ebx
test dl, 0x20
push esi
push edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
je 0x10a36f15
mov eax, dword [eax + 4]
mov ecx, 0x100
mul ecx
mov esi, eax
mov edi, edx
add esi, 0x30
adc edi, ebx
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
push esi
mov eax, 8
lea ebx, [esp + 0x3c]
mov ecx, 0x10ca77f0
call fcn.109ff220
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x1c], eax
jne 0x10a36468
push ebx
push 8
push 0x124
lea edx, [esp + 0x40]
push edx
push edi
push esi
push 0x10ca77f0
call fcn.10b20120
mov dword [esp + 0x1c], eax
mov dword [eax + reloc.ole32.dll_CoCreateGuid], ebx
mov dword [esp + 0x14], 1
cmp dword [eax + reloc.ole32.dll_CoCreateGuid], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
jle 0x10a36568
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
lea ebp, [ebx + 0x14]
jmp 0x10a36490
mov ecx, dword [ebx]
test ecx, ecx
je 0x10a3654a
mov eax, dword [ebx + 4]
test eax, eax
jl 0x10a364b4
cmp eax, dword [0x10cc9e84]
jge 0x10a364b4
mov edx, dword [0x10cc9e80]
mov eax, dword [edx + eax*4]
jmp 0x10a364b6
xor eax, eax
cmp ecx, eax
jne 0x10a3654a
mov eax, dword [ebx + 8]
cmp eax, dword [ecx + 0x24]
jne 0x10a3654a
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test ah, ah
js 0x10a3654a
call fcn.10990cf0
test eax, eax
je 0x10a3654a
cmp dword [esp + 0x10], edi
je 0x10a364f3
lea edi, [ebp - 0x14]
mov ecx, 6
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
and dword [ebp], reloc.ole32.dll_CoCreateGuid
mov ecx, dword [ebx]
call fcn.10990cf0
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov esi, eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 4], edx
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
push eax
call fcn.10a36290
mov eax, dword [esi + 0x38]
add esp, 0x14
test eax, eax
jle 0x10a3654a
inc dword [esp + 0x10]
add ebp, 0x18
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
inc edi
add ebx, 0x18
cmp edi, eax
mov dword [esp + 0x18], edi
jl 0x10a36490
mov eax, ecx
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov dword [eax + reloc.ole32.dll_CoCreateGuid], edx
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
xor edi, edi
cmp eax, ebx
jle 0x10a365d5
mov ebp, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov ebx, eax
jmp 0x10a36590
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 4], edx
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [ebp + edi*4]
push eax
call fcn.10a36290
add esp, 0x14
inc edi
cmp edi, ebx
jl 0x10a36590
mov esi, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
push 0x10a36240
push 4
push esi
push ecx
call dword [sym.imp.MSVCR70.dll_qsort]
xor eax, eax
add esp, 0x10
test esi, esi
mov dword [esp + 0x10], eax
jle 0x10a36706
jmp 0x10a36610
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [edx + eax*4]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x18], ebx
jle 0x10a3664f
mov edi, dword [ebx]
mov edx, esi
cmp dword [edx], edi
je 0x10a36646
mov ebp, dword [esi + reloc.ole32.dll_CoCreateGuid]
inc ecx
add edx, 0x18
cmp ecx, ebp
jl 0x10a36632
jmp 0x10a3664f
cmp ecx, reloc.ole32.dll_CoCreateGuid
jne 0x10a366de
mov edi, dword [ebx + 0x38]
test edi, edi
jle 0x10a366ee
cmp eax, 0xc
jge 0x10a3666a
mov ecx, eax
inc eax
mov dword [esi + reloc.ole32.dll_CoCreateGuid], eax
jmp 0x10a366a8
or ebp, reloc.ole32.dll_CoCreateGuid
xor esi, esi
test eax, eax
jle 0x10a366ee
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx]
call fcn.10990cf0
mov eax, dword [eax + 0x38]
cmp eax, edi
jge 0x10a36689
mov ebp, esi
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
inc esi
add ebx, 0x18
cmp esi, ecx
jl 0x10a36677
cmp ebp, reloc.ole32.dll_CoCreateGuid
je 0x10a366ee
mov ebx, dword [esp + 0x18]
mov ecx, ebp
mov esi, eax
cmp ecx, reloc.ole32.dll_CoCreateGuid
je 0x10a366ee
lea edx, [ecx + ecx*2]
lea eax, [esi + edx*8]
mov edx, dword [ebx]
mov dword [eax], edx
mov edx, dword [ebx]
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x24]
mov dword [eax + 8], edx
mov edx, dword [eax + 0x14]
and edx, 0xfffffff9
mov dword [eax + 0xc], 0x60000000
mov dword [eax + 0x10], 0xbfd66666
mov dword [eax + 0x14], edx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + eax*8 + 0x14]
lea eax, [esi + eax*8 + 0x14]
or ecx, 1
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x10a36610
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 0x10a36260
push 0x18
push ecx
push edi
call dword [sym.imp.MSVCR70.dll_qsort]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ebp, dword [esp + 0x40]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], 0
jle 0x10a3692b
mov ebx, dword [esp + 0xf4]
lea esi, [edi + 0x14]
mov ecx, dword [esi - 0x14]
call fcn.10990cf0
mov edx, dword [ebx + 4]
fld qword [edx + 0x130]
mov ecx, eax
fsub qword [0x10c11200]
fcomp qword [esi - 8]
fnstsw ax
test ah, 1
jne 0x10a36911
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [esp + 0x38], eax
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esi]
lea eax, [edx + edx]
xor eax, edx
and eax, 4
xor eax, edx
test al, 1
mov dword [esi], eax
je 0x10a368d9
mov edx, dword [esi - 0x14]
test byte [edx + 0x2e9], 8
je 0x10a368d4
mov eax, dword [ecx]
cmp byte [eax + 0x2d2], 0x13
je 0x10a36810
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x44], edx
mov edx, dword [0x10ccacc0]
push edx
push 0x386
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
push ebp
lea edx, [esp + 0x84]
push edx
call fcn.10a1d200
mov ecx, dword [esi]
add eax, eax
xor eax, ecx
and eax, 2
xor ecx, eax
mov dword [esi], ecx
jmp 0x10a368de
fld dword [ecx + 0x24]
lea edx, [esp + 0x38]
fmul dword [0x10c10edc]
lea eax, [esp + 0x20]
fld dword [ecx + 0x28]
fmul dword [0x10c10edc]
fld dword [ecx + 0x2c]
mov ecx, dword [0x10ccacc0]
fmul dword [0x10c10edc]
push ecx
push 0x104
push edx
fstp dword [esp + 0x74]
fld dword [esp + 0x108]
push eax
fsub st(2)
push ebp
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
fstp dword [esp + 0x38]
fld dword [esp + 0x118]
fsub st(1)
fstp dword [esp + 0x3c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x11c]
fsub dword [esp + 0x80]
fstp dword [esp + 0x40]
call fcn.10a1d200
mov ecx, dword [esi]
lea edx, [eax + eax]
xor edx, ecx
and edx, 2
xor ecx, edx
mov al, cl
test al, 2
mov dword [esi], ecx
je 0x10a368de
mov eax, dword [0x10ccacc0]
push eax
push 0x382
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
lea edx, [esp + 0x2c]
push edx
push ebp
lea eax, [esp + 0x84]
push eax
call fcn.10a1d200
lea ecx, [eax + eax]
mov eax, dword [esi]
xor ecx, eax
and ecx, 2
xor eax, ecx
jmp 0x10a368dc
or eax, 2
jmp 0x10a368dc
and eax, 0xfffffffd
mov dword [esi], eax
mov edx, dword [esi - 0x14]
test dword [edx + reloc.ole32.dll_CoCreateGuid], 0x20000
je 0x10a368fb
mov eax, dword [esi]
lea ecx, [eax + eax]
xor ecx, eax
and ecx, 4
xor ecx, eax
mov dword [esi], ecx
fild dword [esp + 0x14]
mov edx, dword [ebx + 4]
fmul dword [0x10c11004]
fsubr qword [edx + 0x130]
fstp qword [esi - 8]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
inc eax
add esi, 0x18
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x10a36746
movzx eax, byte [ebp + 0x2e1]
cmp eax, 8
mov dword [esp + 0x14], 8
jge 0x10a36943
mov dword [esp + 0x14], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
jle 0x10a369f8
lea esi, [edi + 0x14]
mov edi, dword [esp + 0x2c]
mov edi, edi
mov ecx, dword [esi - 0x14]
call fcn.10990cf0
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x14]
cmp ecx, eax
jge 0x10a369dc
test byte [esi], 6
je 0x10a369dc
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 0x10a369c0
mov eax, 0x10
mov edi, 0x10c73cac
call fcn.109577c0
mov eax, dword [0x10c73cac]
mov edi, dword [esp + 0x2c]
add eax, 7
and eax, 0xfffffff8
lea ecx, [eax + 8]
mov dword [0x10c73cac], ecx
test eax, eax
je 0x10a369cd
mov dword [eax + 4], edi
mov dword [eax], ebp
mov edi, eax
jmp 0x10a369cf
xor edi, edi
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
inc ebx
add esi, 0x18
cmp ebx, eax
jl 0x10a36960
mov ebp, dword [esp + 0x30]
jmp 0x10a369fc
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
add dword [eax + 0x10], 0xff000000
mov ecx, dword [ebp + 0x24]
cmp ecx, 0x10cc1568
je 0x10a36a29
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10cc1674]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10a36a3e
mov eax, ecx
test eax, eax
je 0x10a36a3e
nop
cmp eax, 0x10cc1568
je 0x10a36a4b
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x10a36a30
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a36a3e
mov eax, dword [0x10ccacc0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov al, byte [ebp + 0x2e7]
test al, al
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
jne 0x10a36d69
cmp byte [ebp + 0x2d9], 2
jne 0x10a36ac3
mov ecx, dword [ebp + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10a36ac3
push ebp
call fcn.109df4e0
test eax, eax
je 0x10a36ac3
mov edx, dword [eax + 0x24]
test edx, edx
je 0x10a36ac3
cmp edx, 0x10cc0b90
je 0x10a36b4e
mov edx, dword [edx + 0x28]
test edx, edx
jne 0x10a36ab0
fld dword [ebp + 0x84]
mov edx, dword [ebp + 0x80]
fstp dword [esp + 0x48]
fld dword [ebp + 0x88]
mov dword [esp + 0x44], edx
fadd dword [0x10c10b4c]
lea eax, [esp + 0x44]
fstp dword [esp + 0x4c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
xor edi, edi
test eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
jle 0x10a36d69
mov ebp, dword [esp + 0xf4]
lea esi, [ebx + 0x14]
lea ecx, [ecx]
test byte [esi], 6
je 0x10a36cb0
mov ecx, dword [esi - 0x14]
test byte [ecx + 0x2e8], 8
je 0x10a36cb0
call fcn.10990cf0
mov ecx, eax
mov eax, dword [esi]
test al, 4
je 0x10a36b60
fld dword [0x10c109fc]
jmp 0x10a36b66
push 0
push 0
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.109b7b50
jmp 0x10a36aeb
fld dword [0x10c109f8]
test al, 2
je 0x10a36b72
fld dword [0x10c109fc]
jmp 0x10a36b78
fld dword [0x10c109f8]
mov edx, dword [ebp + 4]
fld qword [edx + 0x130]
fsub qword [esi - 8]
fmul qword [0x10c110e0]
fxch st(1)
fsub st(2)
fmulp st(1)
faddp st(1)
fcom dword [0x10c10a10]
fnstsw ax
test ah, 5
jp 0x10a36ba3
fadd st(0), st(0)
jmp 0x10a36bab
fstp st(0)
fld dword [0x10c109fc]
mov eax, dword [esi - 0x14]
mov dl, byte [eax + 0x2d2]
fmul dword [eax + 0xf8]
cmp dl, 0x13
jne 0x10a36c21
fld dword [esp + 0x38]
fsub dword [ecx + 0x24]
fld dword [esp + 0x3c]
fsub dword [ecx + 0x28]
fld dword [esp + 0x40]
fsub dword [ecx + 0x2c]
fstp dword [esp + 0x68]
fxch st(1)
fmul st(2)
fstp dword [esp + 0x44]
fmul st(1)
fld dword [esp + 0x68]
fmul st(2)
fld dword [esp + 0x44]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fxch st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x10]
fadd st(1)
fstp dword [esp + 0x10]
fld st(0)
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
jmp 0x10a36cae
fld dword [ecx + 0x18]
fsub dword [esp + 0x38]
fld dword [ecx + 0x1c]
fsub dword [esp + 0x3c]
fld dword [ecx + 0x20]
fsub dword [esp + 0x40]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fcom dword [ecx + 0x30]
fnstsw ax
test ah, 5
jp 0x10a36cac
fdiv dword [ecx + 0x30]
fsubr dword [0x10c109fc]
fmulp st(1)
fld st(0)
fmul dword [ecx + 0x18]
fld st(1)
fmul dword [ecx + 0x1c]
fld st(2)
fmul dword [ecx + 0x20]
fstp dword [esp + 0x58]
fxch st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x58]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x10]
fadd st(1)
fstp dword [esp + 0x10]
fld st(0)
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
jmp 0x10a36cae
fstp st(0)
fstp st(0)
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
inc edi
add esi, 0x18
cmp edi, eax
jl 0x10a36b20
fld dword [esp + 0x10]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x44
jnp 0x10a36d69
fld dword [0x10c109fc]
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
fdiv dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx]
lea ecx, [esp + 0x44]
fld st(0)
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
fmul dword [esp + 0x28]
fxch st(1)
fmul dword [edx + reloc.ole32.dll_CoCreateGuid]
lea edx, [esp + 0x50]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fsub dword [esp + 0x38]
fstp dword [esp + 0x44]
fld dword [esp + 0x24]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x48]
fsub dword [esp + 0x40]
fstp dword [esp + 0x4c]
call fcn.10a40e00
fld dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [eax]
add ecx, 0x480
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x10a36d73
fld dword [0x10c109f8]
mov edi, dword [esp + 0x30]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10a37044
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
fcom dword [0x10c10a20]
mov dword [ecx + 0x7c], edx
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
lea ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [ecx]
add edx, 0x70
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
fnstsw ax
mov ecx, dword [ecx + 8]
test ah, 0x41
mov dword [edx + 8], ecx
jne 0x10a36dcb
fstp st(0)
mov eax, 0xff
jmp 0x10a36dd3
call fcn.10b83aa0
movzx eax, al
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov byte [ecx + 0x8c], al
cmp byte [edi + 0x2d9], 2
jne 0x10a36e1f
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10a36e1f
push edi
call fcn.109df4e0
mov edx, dword [eax]
lea ecx, [esp + 0xb0]
push ecx
mov ecx, eax
call dword [edx + 0x10c]
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
jmp 0x10a36e28
lea esi, [esp + 0x70]
call fcn.1099e5b0
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xb0]
mov edx, dword [eax]
push ebp
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call dword [edx + 0x64]
lea esi, [esp + 0x70]
lea ebx, [esp + 0x50]
mov edi, eax
call fcn.10a17db0
mov eax, dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ecx + 0x4c]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
add edx, 0xfffffffd
mov dword [esp + 0x14], edx
mov esi, 0x1000
fmul dword [esp + 0x5c]
fidiv dword [esp + 0x14]
fld dword [eax + 0x48c]
fpatan
fmul dword [0x10c111f8]
fstp dword [ecx + 0x80]
mov ebx, dword [ebp + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
fld dword [esp + 0x5c]
mov eax, dword [edx + 0x4c]
fadd st(0), st(0)
sub eax, 3
mov dword [esp + 0x14], eax
fidiv dword [esp + 0x14]
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
test esi, eax
fstp dword [esp + 0x14]
je 0x10a36ed7
mov ecx, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a36ed7
push ebx
push eax
call fcn.10a19a20
test dword [ebx + reloc.ole32.dll_CoCreateGuid], esi
mov edx, dword [esp + 0x14]
mov dword [ebx + reloc.ole32.dll_CoCreateGuid], edx
je 0x10a36eff
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10a36eff
push eax
call fcn.10a198a0
or dword [ebx + reloc.ole32.dll_CoCreateGuid], 4
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
movzx eax, byte [eax + 0x2e1]
cmp eax, 8
jl 0x10a36f26
mov eax, 8
cmp ecx, eax
mov dword [esp + 0x14], eax
jle 0x10a36fab
xor edi, edi
cmp ecx, ebx
jle 0x10a36f87
mov ebp, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 4], edx
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [ebp + edi*4]
push eax
call fcn.10a36290
add esp, 0x14
inc edi
cmp edi, ebx
jl 0x10a36f42
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + reloc.ole32.dll_CoCreateGuid]
push 0x10a36240
push 4
push ecx
push edx
call dword [sym.imp.MSVCR70.dll_qsort]
mov ebx, dword [esp + 0x3c]
add esp, 0x10
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x34], ebp
jle 0x10a37037
mov ecx, dword [0x10c73cac]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [eax + ebp*4]
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x14]
jge 0x10a3702b
mov edx, dword [0x10c73cb0]
lea eax, [ecx + 7]
and eax, 0xfffffff8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [0x10c73cac], ecx
jbe 0x10a37012
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 0x10a37025
mov dword [eax + 4], ebx
mov dword [eax], esi
mov ecx, dword [0x10c73cac]
mov ebx, eax
jmp 0x10a37027
xor ebx, ebx
inc dword [esp + 0x34]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
inc ebp
cmp ebp, eax
jl 0x10a36fc2
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x2c]
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret