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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10bd7ec3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x340
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ecx + 0x94]
xor edx, edx
fld dword [ecx + 0x90]
fld dword [ecx + 0x8c]
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)
fsqrt
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x41
jne 0x10af8c6d
mov esi, 1
jmp 0x10af8c6f
xor esi, esi
cmp esi, dword [0x10ccacdc]
mov dword [0x10c913ac], esi
je 0x10af8cc9
mov ebx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ebx + 0x3b0]
fsub dword [0x10c91d2c]
fcomp dword [0x10c10a10]
fnstsw ax
test ah, 5
jp 0x10af8cb8
fld dword [ebx + 0x3b0]
fadd st(0), st(0)
fsub dword [0x10c91d2c]
fsub dword [0x10c10a10]
fstp dword [0x10c91d2c]
jmp 0x10af8cc3
mov eax, dword [ebx + reloc.ole32.dll_CoCreateGuid]
mov dword [0x10c91d2c], eax
mov dword [0x10ccacdc], esi
xor eax, eax
cmp esi, edx
sete al
mov dword [esp + 0x64], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [eax + 0x3b0]
fsub dword [0x10c91d2c]
fcom dword [0x10c1137c]
fnstsw ax
test ah, 0x41
jp 0x10af8d83
cmp esi, edx
fcom dword [0x10c109f8]
mov dword [esp + 0x64], 1
fnstsw ax
jne 0x10af8d41
test ah, 5
jp 0x10af8d22
fstp st(0)
fld dword [0x10c109f8]
fadd st(0), st(0)
fstp dword [0x10c91d30]
jmp 0x10af8d9d
fcom dword [0x10c1137c]
fnstsw ax
test ah, 5
jnp 0x10af8d37
fstp st(0)
fld dword [0x10c1137c]
fadd st(0), st(0)
fstp dword [0x10c91d30]
jmp 0x10af8d9d
test ah, 5
jp 0x10af8d5e
fstp st(0)
fld dword [0x10c109f8]
fadd st(0), st(0)
fsubr dword [0x10c109fc]
fstp dword [0x10c91d30]
jmp 0x10af8d9d
fcom dword [0x10c1137c]
fnstsw ax
test ah, 5
jnp 0x10af8d73
fstp st(0)
fld dword [0x10c1137c]
fadd st(0), st(0)
fsubr dword [0x10c109fc]
fstp dword [0x10c91d30]
jmp 0x10af8d9d
cmp esi, edx
fstp st(0)
mov dword [0x10c91d30], 0
jne 0x10af8d9d
mov dword [0x10c91d30], 0x3f7d70a4
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp ecx, edx
mov dword [esp + reloc.ole32.dll_CoCreateGuid], edx
je 0x10af8dc0
add ecx, 0x1ac
mov dword [esp + 0x58], ecx
jmp 0x10af8dcf
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
add eax, 0x1ac
mov dword [esp + 0x58], eax
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [ebx + 0x30]
push 1
lea eax, [esi + 0xe0]
push eax
lea ecx, [esi + 0x80]
push ecx
lea eax, [esp + 0xa8]
mov dword [esp + 0xa8], edx
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x14c]
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
push ecx
push esi
push ebx
lea edx, reloc.ole32.dll_CoCreateGuid
lea ecx, [ebx + 0xe4]
mov ebx, dword [esp + 0xa8]
push edx
call fcn.10a165a0
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0x28], ecx
mov dword [esp + 0x50], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [eax + 0x94]
add eax, 0x8c
fld dword [eax + 4]
mov byte [esp + 0x354], 1
fld dword [eax]
mov dword [esp + 0x44], 0x3f333333
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)
fsqrt
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 0x41
je 0x10af8e8d
mov dword [esp + 0x44], reloc.ole32.dll_CoCreateGuid
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10af925f
mov edx, dword [ecx]
call dword [edx + 0x13c]
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af8ec2
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af8ed7
fcom dword [0x10c11378]
fnstsw ax
test ah, 5
jnp 0x10af8ed7
fstp st(0)
fld dword [0x10c11378]
call fcn.10b83aa0
mov dword [esp + 0x5c], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10af8ef8
mov cl, 0x14
mov al, 0x60
mov dl, cl
jmp 0x10af8f0a
test al, 8
je 0x10af8f04
mov al, 0x60
mov cl, al
xor dl, dl
jmp 0x10af8f0a
mov al, 0x64
mov cl, 0x7b
mov dl, 0x5c
mov byte [esi + 0x52], al
mov byte [esi + 0x51], cl
mov byte [esi + 0x50], dl
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ecx + 0x88]
fsub dword [eax + 0x88]
add ecx, 0x80
fld dword [ecx + 4]
add eax, 0x80
fsub dword [eax + 4]
fld dword [ecx]
fsub dword [eax]
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)
fsqrt
fst dword [esp + 0x28]
fcomp dword [0x10c11374]
fnstsw ax
test ah, 5
jp 0x10af8f90
fld dword [esp + 0x28]
fsub dword [0x10c10be0]
fmul dword [0x10c1131c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 1
je 0x10af8fd2
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af8fd2
fld dword [0x10c10d08]
fsub dword [esp + 0x28]
fmul dword [0x10c1136c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af8fb7
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af8fcc
fcom dword [0x10c11370]
fnstsw ax
test ah, 5
jnp 0x10af8fcc
fstp st(0)
fld dword [0x10c11370]
fadd dword [0x10c11178]
fmul dword [0x10c10a5c]
fmul dword [esp + 0x44]
fmul dword [0x10c10a20]
call fcn.10b83aa0
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x53], al
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea edx, reloc.ole32.dll_CoCreateGuid
add eax, 0x80
push edx
lea esi, [esp + 0xa8]
call fcn.10a12d60
mov ecx, dword [esp + 0x50]
add ecx, 0x14
push ecx
lea esi, [esp + 0x70]
call fcn.1094ff40
fld dword [esp + 0x74]
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 1
jne 0x10af9065
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x164], 0x10c035fc
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
call fcn.10afb4d0
mov ecx, dword [esp + reloc.ole32.dll_CoCreateGuid]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x48], 5
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [eax + 0x24]
xor esi, esi
xor ebx, ebx
cmp eax, 0x10c9ac50
je 0x10af9097
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9ad5c]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10af909e
mov esi, 0x40
jmp 0x10af9102
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 0x10c98fe0
call fcn.10992b40
test eax, eax
je 0x10af90b6
xor esi, esi
jmp 0x10af9102
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 0x10c9fc30
call fcn.10992b40
test eax, eax
je 0x10af90ce
xor esi, esi
jmp 0x10af9102
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 0x10c9e420
call fcn.10992b40
test eax, eax
je 0x10af90e9
mov esi, 0x20
jmp 0x10af9102
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
push 0x10c9a6d8
call fcn.10992b40
test eax, eax
je 0x10af9107
mov esi, 0xe0
mov ebx, 0x60
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [eax + 0x88]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [ecx + 0x88]
mov dword [esp + 0x34], 0
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10af9140
fstp st(0)
mov dword [esp + 0x34], 1
jmp 0x10af9155
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10af9155
mov dword [esp + 0x34], reloc.ole32.dll_CoCreateGuid
fld dword [esp + 0x28]
call fcn.10b83aa0
mov edx, dword [0x10c91d30]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x70]
push ecx
push eax
push 1
push ebx
mov ebx, dword [esp + 0x84]
push esi
push ebx
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
push edx
call fcn.10af8460
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esi + 0x24]
cmp eax, 0x10c98fe0
je 0x10af91b2
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c990ec]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10af9211
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10af91d5
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af91ce
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af91ed
mov edi, 0x10c10928
jmp 0x10af91ed
test al, 8
je 0x10af91eb
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af91ce
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af91ed
xor edi, edi
mov eax, dword [0x10c91d30]
mov edx, dword [esp + 0x1c]
push eax
push edx
push 0xffffffffffffffff
mov eax, dword [esp + 0x78]
mov esi, dword [ebp + 0xc]
push ebx
push eax
push ecx
call fcn.10af8a30
mov edi, dword [ebp + 8]
jmp 0x10afae40
mov eax, dword [esi + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10af9234
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af922d
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af924c
mov edi, 0x10c10928
jmp 0x10af924c
test al, 8
je 0x10af924a
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af922d
mov edi, dword [ecx + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af924c
xor edi, edi
mov edx, dword [0x10c91d30]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x60]
push eax
push edx
jmp 0x10af91fa
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [esp + 0x38], 0
jle 0x10afae40
jmp 0x10af9280
mov ebx, dword [esp + 0x38]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea ebx, [ebx + ebx*4]
shl ebx, 2
lea esi, [ebx + ecx]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x24]
cmp eax, 0x10c9db60
mov dword [esp + 0x30], ebx
je 0x10af92be
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9dc6c]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10afa22d
test byte [ecx + 0x354], 8
mov dl, byte [esi + 9]
mov byte [esp + 0x57], dl
jne 0x10af9387
mov byte [esi + 9], 0xff
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
add eax, ebx
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor esi, esi
test ecx, ecx
jle 0x10af9316
mov edx, dword [esp + 0x58]
mov edx, dword [edx]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
lea esp, [esp]
cmp dword [eax], edx
je 0x10af930e
inc esi
add eax, 4
cmp esi, ecx
jl 0x10af9300
jmp 0x10af9316
mov eax, dword [esp + 0x28]
mov byte [eax + 9], 0
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov esi, dword [ecx + ebx]
add ecx, ebx
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + reloc.ole32.dll_CoCreateGuid]
xor eax, eax
test ecx, ecx
jle 0x10af9366
mov edx, dword [esp + 0x58]
mov esi, dword [esi + reloc.ole32.dll_CoCreateGuid]
mov dl, byte [edx + 8]
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
cmp dl, byte [esi + 0x1b4]
je 0x10af935e
mov esi, dword [esp + 0x1c]
inc eax
add esi, 4
cmp eax, ecx
mov dword [esp + 0x1c], esi
jl 0x10af9342
jmp 0x10af9366
mov eax, dword [esp + 0x28]
mov byte [eax + 9], 0
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ebx + ecx]
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x58]
mov cl, byte [ecx + 8]
cmp cl, byte [edx + 0x1b4]
jne 0x10af938b
mov byte [eax + 9], 0
jmp 0x10af938b
mov byte [esi + 9], 0
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov cl, byte [esp + 0x57]
lea eax, [ebx + edx]
cmp byte [eax + 9], cl
je 0x10af93ac
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld qword [ecx + 0x190]
fstp dword [eax + 4]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x38]
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
jle 0x10af942d
lea esp, [esp]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [ecx + esi*4]
test ecx, ecx
je 0x10af9422
mov edx, dword [ecx]
call dword [edx + 0x13c]
cmp dword [esp + 0x4c], eax
jge 0x10af93ff
mov dword [esp + 0x4c], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ecx + esi*4]
test byte [edx + 0x3e4], 4
je 0x10af9422
mov dword [esp + 0x2c], 1
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
inc esi
cmp esi, ecx
jl 0x10af93e0
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [eax + ebx]
mov esi, dword [edx + reloc.ole32.dll_CoCreateGuid]
xor ecx, ecx
cmp esi, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], ecx
jle 0x10af9c79
mov dword [esp + 0x60], ebx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + eax]
mov ecx, dword [edx + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x48]
cmp dword [ecx + edx*4], 0
je 0x10af9c55
mov ebx, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x38], ebx
lea ebx, [ebx + ebx*4]
shl ebx, 2
mov esi, dword [eax + ebx]
mov eax, dword [esi + 0x24]
cmp eax, 0x10c9e420
mov dword [esp + 0x30], ebx
je 0x10af94a4
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9e52c]
mov ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x10af94a9
mov ecx, 1
mov eax, dword [esi + 0x24]
cmp eax, 0x10c98fe0
mov dword [esp + 0x28], ecx
je 0x10af94d0
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c990ec]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x24], edx
jmp 0x10af94d8
mov dword [esp + 0x24], 1
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x10af94ed
test ecx, ecx
je 0x10af94ed
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
jmp 0x10af9505
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x13c]
cmp dword [esp + 0x4c], eax
mov dword [esp + 0x68], eax
jge 0x10af9505
mov dword [esp + 0x4c], eax
mov esi, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esi + ebx]
mov eax, dword [ecx + 0x24]
cmp eax, 0x10c9e420
mov dword [esp + 0x20], ecx
je 0x10af9533
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9e52c]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10af9542
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x10af9542
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10af954c
mov eax, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10af9565
mov al, 0x14
mov byte [esp + 0x42], 0x60
mov byte [esp + 0x41], al
mov byte [esp + 0x40], al
mov dword [esp + 0x2c], 1
jmp 0x10af9591
test al, 8
je 0x10af9582
mov al, 0x60
mov byte [esp + 0x42], al
mov byte [esp + 0x41], al
mov byte [esp + 0x40], 0
mov dword [esp + 0x34], 1
jmp 0x10af9591
mov byte [esp + 0x42], 0x64
mov byte [esp + 0x41], 0x7b
mov byte [esp + 0x40], 0x5c
mov ecx, dword [esp + 0x60]
cmp byte [ecx + esi + 9], 0
mov dl, byte [esi + ebx + 9]
lea eax, [esi + ebx + 9]
je 0x10af95b7
mov ecx, dword [esp + 0x58]
mov cl, byte [ecx + 8]
mov esi, dword [esp + 0x20]
cmp cl, byte [esi + 0x1b4]
jne 0x10af95c4
mov ecx, dword [esp + 0x20]
test byte [ecx + 0x3e4], 0xa
jne 0x10af95c9
mov byte [eax], 0
jmp 0x10af95cc
mov byte [eax], 0xff
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov cl, byte [eax + ebx + 9]
add eax, ebx
cmp cl, dl
je 0x10af95eb
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld qword [ecx + 0x190]
fstp dword [eax + 4]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [ebx + ecx + 9]
lea esi, [ebx + ecx]
mov cl, byte [esi + 8]
cmp al, cl
jbe 0x10af9635
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
test eax, eax
jge 0x10af9624
xor eax, eax
mov byte [esi + 8], al
jmp 0x10af966e
cmp eax, 0xff
jl 0x10af9630
mov eax, 0xff
mov byte [esi + 8], al
jmp 0x10af966e
jae 0x10af966e
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
mov ecx, 0xff
sub ecx, eax
jns 0x10af965e
xor ecx, ecx
jmp 0x10af966b
cmp ecx, 0xff
jl 0x10af966b
mov ecx, 0xff
mov byte [esi + 8], cl
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [ebx + edx + 8]
test al, al
jbe 0x10af9c55
mov esi, dword [ebp + 0xc]
mov al, byte [esp + 0x42]
mov cl, byte [esp + 0x41]
mov dl, byte [esp + 0x40]
mov byte [esi + 0x51], cl
mov byte [esi + 0x52], al
mov byte [esi + 0x50], dl
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x84]
add eax, 0x80
mov eax, dword [eax + 8]
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf4], edx
push ecx
lea edx, reloc.ole32.dll_CoCreateGuid
push edx
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + reloc.ole32.dll_CoCreateGuid], eax
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 0x3f800000
call fcn.1094fe60
fld dword [0x10c109fc]
fdiv dword [esp + reloc.ole32.dll_CoCreateGuid]
lea eax, [esp + 0xe0]
push eax
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [esp + 0x58]
add ecx, 0x14
mov dword [esp + 0xf4], 0x3f800000
fstp dword [esp + 0x28]
fld dword [esp + 0x110]
fmul dword [esp + 0x28]
fld dword [esp + 0x10c]
fmul dword [esp + 0x28]
fld dword [esp + 0x108]
fmul dword [esp + 0x28]
fstp dword [esp + 0xe8]
fstp dword [esp + 0xec]
fstp dword [esp + 0xf0]
call fcn.1094fe60
fld dword [eax + 8]
mov edx, dword [eax]
fcomp dword [0x10c109fc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
fnstsw ax
test ah, 1
je 0x10af9c55
fld dword [esp + 0x84]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10af9c55
fild dword [esi + 0x58]
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 5
jnp 0x10af9c55
fld dword [esp + 0x88]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10af9c55
fild dword [esi + 0x5c]
fcomp dword [esp + 0x88]
fnstsw ax
test ah, 5
jnp 0x10af9c55
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [ebx + edx]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ecx + 0x88]
fsub dword [eax + 0x88]
add ecx, 0x80
fld dword [ecx + 4]
add eax, 0x80
fsub dword [eax + 4]
fld dword [ecx]
fsub dword [eax]
mov eax, dword [esp + 0x64]
test eax, eax
fld st(1)
fmul st(2)
fld st(1)
fmul st(2)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fstp dword [esp + 0x20]
je 0x10af9a28
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x10af9a28
mov edx, dword [esp + 0x14]
xor esi, esi
test edx, edx
jle 0x10af993b
mov ecx, dword [esp + 0x10]
add ecx, 4
lea esp, [esp]
fld dword [ecx]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x10af987a
inc esi
add ecx, 0x10
cmp esi, edx
jl 0x10af9860
jmp 0x10af993b
push 1
push esi
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov ebx, esi
shl ebx, 4
mov dword [ebx + eax], ecx
mov eax, dword [esp + 0x24]
test eax, eax
mov edx, dword [esp + 0x10]
fstp dword [ebx + edx + 4]
je 0x10af98bd
mov eax, dword [esp + 0x10]
mov dword [ebx + eax + 8], reloc.ole32.dll_CoCreateGuid
jmp 0x10af98fa
fild dword [esp + 0x68]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af98d8
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af98ed
fcom dword [0x10c11378]
fnstsw ax
test ah, 5
jnp 0x10af98ed
fstp st(0)
fld dword [0x10c11378]
call fcn.10b83aa0
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx + 8], eax
mov eax, dword [esp + 0x30]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [eax + edx]
test byte [ecx + 0x3e4], 8
je 0x10af9929
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af9922
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af992b
mov eax, 0x10c10928
jmp 0x10af992b
xor eax, eax
mov edx, dword [esp + 0x10]
mov dword [ebx + edx + 0xc], eax
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
cmp edx, 2
jge 0x10af9a28
mov eax, dword [esp + 0x14]
cmp esi, eax
jne 0x10af9a28
push 1
push eax
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
shl ecx, 4
mov dword [ecx + edx - 0x10], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
shl ecx, 4
test eax, eax
fstp dword [ecx + edx - 0xc]
je 0x10af99a0
mov eax, dword [esp + 0x10]
shl esi, 4
mov dword [esi + eax + 8], reloc.ole32.dll_CoCreateGuid
jmp 0x10af99e4
fild dword [esp + 0x68]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af99bb
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af99d0
fcom dword [0x10c11378]
fnstsw ax
test ah, 5
jnp 0x10af99d0
fstp st(0)
fld dword [0x10c11378]
call fcn.10b83aa0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
shl ecx, 4
mov dword [ecx + edx - 8], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + eax]
test byte [edx + 0x3e4], 8
je 0x10af9a13
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af9a0c
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af9a15
mov eax, 0x10c10928
jmp 0x10af9a15
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
shl ecx, 4
mov dword [ecx + edx - 4], eax
fld dword [esp + 0x20]
fcomp dword [0x10c11374]
fnstsw ax
test ah, 5
jp 0x10af9a60
fld dword [esp + 0x20]
fsub dword [0x10c10be0]
fmul dword [0x10c1131c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 1
je 0x10af9aa2
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af9aa2
fld dword [0x10c10d08]
fsub dword [esp + 0x20]
fmul dword [0x10c1136c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af9a87
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af9a9c
fcom dword [0x10c11370]
fnstsw ax
test ah, 5
jnp 0x10af9a9c
fstp st(0)
fld dword [0x10c11370]
fadd dword [0x10c11178]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fmul dword [0x10c10a5c]
movzx ecx, byte [ebx + eax + 8]
mov dword [esp + 0x68], ecx
fimul dword [esp + 0x68]
fmul dword [esp + 0x44]
call fcn.10b83aa0
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x53], al
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [ebx + eax]
fld dword [edx + 0x88]
lea esi, [ebx + eax]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [eax + 0x88]
xor ecx, ecx
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10af9b00
fstp st(0)
mov ecx, 1
jmp 0x10af9b10
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10af9b10
or ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10af9b3c
test byte [edx + 0x3e4], 4
jne 0x10af9b95
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10af9b3c
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
cmp byte [eax + 0xadb], 1
jne 0x10af9c55
test byte [edx + 0x3e4], 4
jne 0x10af9b95
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10af9b5c
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x10af9b5c
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10af9b95
mov edx, dword [0x10c91d30]
fld dword [esp + 0x20]
push edx
push ecx
call fcn.10b83aa0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esi + 0x10]
push 1
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
push eax
mov eax, dword [ebp + 0xc]
call fcn.10af8460
jmp 0x10af9c52
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
cmp byte [eax + 0xadb], 1
jne 0x10af9bad
mov dl, byte [esi + 8]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x53], dl
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esp + 0x20]
push 0x3f800000
lea esi, [ebx + edx]
push ecx
call fcn.10b83aa0
mov ecx, dword [esi + 0xc]
mov ebx, dword [esp + 0x8c]
push eax
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x94]
push 1
push eax
mov eax, dword [ebp + 0xc]
push ecx
push esi
push ebx
call fcn.10af8460
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x10af9c52
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x10af9c52
mov eax, dword [ebp + 8]
mov edx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp byte [edx + 0xadb], 1
jne 0x10af9c17
mov dword [esp + 0xa0], reloc.ole32.dll_CoCreateGuid
jmp 0x10af9c24
mov ecx, dword [0x10c91d30]
mov dword [esp + 0xa0], ecx
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10af9c36
mov edi, dword [eax + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af9c3b
mov edi, 0x10c10928
mov edx, dword [esp + 0xa0]
push edx
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
mov esi, dword [ebp + 0xc]
push ebx
push eax
call fcn.10af8a30
mov edi, dword [ebp + 8]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov edx, dword [edx + eax]
mov esi, dword [edx + reloc.ole32.dll_CoCreateGuid]
inc ecx
cmp ecx, esi
mov dword [esp + 0x48], ecx
jl 0x10af9452
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea esi, [esi + esi*4]
shl esi, 2
mov cl, byte [esi + eax + 8]
lea ebx, [esi + eax]
mov al, byte [ebx + 9]
cmp al, cl
mov dword [esp + 0x60], esi
jbe 0x10af9cd1
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ebx + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
test eax, eax
jge 0x10af9cc0
xor eax, eax
mov byte [ebx + 8], al
jmp 0x10af9d0a
cmp eax, 0xff
jl 0x10af9ccc
mov eax, 0xff
mov byte [ebx + 8], al
jmp 0x10af9d0a
jae 0x10af9d0a
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ebx + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
mov ecx, 0xff
sub ecx, eax
jns 0x10af9cfa
xor ecx, ecx
jmp 0x10af9d07
cmp ecx, 0xff
jl 0x10af9d07
mov ecx, 0xff
mov byte [ebx + 8], cl
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea eax, [esi + ecx]
mov cl, byte [eax + 8]
test cl, cl
jbe 0x10afae29
mov eax, dword [eax]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [eax + 0x88]
fsub dword [ecx + 0x88]
add ecx, 0x80
fld dword [eax + 0x84]
mov edx, dword [eax + 0x80]
fsub dword [ecx + 4]
mov dword [esp + 0xd0], edx
fld dword [eax + 0x80]
mov edx, dword [eax + 0x88]
fsub dword [ecx]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0xd4], ecx
lea eax, [esp + 0xd0]
fld st(0)
push eax
fmul st(1)
lea ecx, [esp + 0xc4]
fld st(2)
push ecx
fmul st(3)
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], 0x3f800000
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fstp dword [esp + 0x28]
call fcn.1094fe60
fld dword [0x10c109fc]
fdiv dword [esp + 0xcc]
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0xa4]
push edx
lea eax, reloc.ole32.dll_CoCreateGuid
push eax
add ecx, 0x14
mov dword [esp + 0xb8], 0x3f800000
fstp dword [esp + 0x50]
fld dword [esp + 0xd0]
fmul dword [esp + 0x50]
fld dword [esp + 0xcc]
fmul dword [esp + 0x50]
fld dword [esp + 0xc8]
fmul dword [esp + 0x50]
fstp dword [esp + 0xac]
fstp dword [esp + 0xb0]
fstp dword [esp + 0xb4]
call fcn.1094fe60
fld dword [eax + 8]
mov ecx, dword [eax]
fcomp dword [0x10c109fc]
mov edx, dword [eax + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
fnstsw ax
test ah, 1
je 0x10afae29
fld dword [esp + 0x78]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov eax, dword [ebp + 0xc]
fild dword [eax + 0x58]
fcomp dword [esp + 0x78]
fnstsw ax
test ah, 5
jnp 0x10afae29
fld dword [esp + 0x7c]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov ecx, dword [ebp + 0xc]
fild dword [ecx + 0x5c]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10afa057
mov ecx, dword [esp + 0x14]
xor esi, esi
test ecx, ecx
jle 0x10af9f80
mov edx, dword [esp + 0x10]
add edx, 4
fld dword [edx]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x10af9ed1
inc esi
add edx, 0x10
cmp esi, ecx
jl 0x10af9eb7
jmp 0x10af9f80
push 1
push esi
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ebx, esi
shl ebx, 4
mov dword [ebx + edx], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov ecx, dword [esp + 0x10]
fstp dword [ebx + ecx + 4]
je 0x10af9f14
mov edx, dword [esp + 0x10]
mov dword [ebx + edx + 8], reloc.ole32.dll_CoCreateGuid
jmp 0x10af9f51
fild dword [esp + 0x4c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af9f2f
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10af9f44
fcom dword [0x10c11378]
fnstsw ax
test ah, 5
jnp 0x10af9f44
fstp st(0)
fld dword [0x10c11378]
call fcn.10b83aa0
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx + 8], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10af9f72
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10af9f6b
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10af9f74
mov eax, 0x10c10928
jmp 0x10af9f74
xor eax, eax
mov edx, dword [esp + 0x10]
mov dword [ebx + edx + 0xc], eax
mov ecx, dword [esp + 0x14]
cmp ecx, 2
jge 0x10afa057
cmp esi, ecx
jne 0x10afa057
push 1
push ecx
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
shl eax, 4
mov dword [eax + ecx - 0x10], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
shl eax, 4
fstp dword [eax + ecx - 0xc]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10af9fe1
mov edx, dword [esp + 0x10]
shl esi, 4
mov dword [esi + edx + 8], reloc.ole32.dll_CoCreateGuid
jmp 0x10afa025
fild dword [esp + 0x4c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10af9ffc
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10afa011
fcom dword [0x10c11378]
fnstsw ax
test ah, 5
jnp 0x10afa011
fstp st(0)
fld dword [0x10c11378]
call fcn.10b83aa0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
shl ecx, 4
mov dword [ecx + edx - 8], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10afa046
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10afa03f
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa048
mov eax, 0x10c10928
jmp 0x10afa048
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
shl ecx, 4
mov dword [ecx + edx - 4], eax
mov eax, dword [esp + 0x2c]
test eax, eax
mov esi, dword [ebp + 0xc]
mov byte [esi + 0x48], 5
je 0x10afa06e
mov cl, 0x14
mov al, 0x60
mov dl, cl
jmp 0x10afa084
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10afa07e
mov al, 0x60
mov cl, al
xor dl, dl
jmp 0x10afa084
mov al, 0x64
mov cl, 0x7b
mov dl, 0x5c
fld dword [0x10c10d08]
mov byte [esi + 0x52], al
fsub dword [esp + 0x20]
mov byte [esi + 0x51], cl
mov byte [esi + 0x50], dl
fmul dword [0x10c1136c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10afa0b4
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10afa0c9
fcom dword [0x10c11370]
fnstsw ax
test ah, 5
jnp 0x10afa0c9
fstp st(0)
fld dword [0x10c11370]
fadd dword [0x10c11178]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [esp + 0x60]
movzx ecx, byte [ebx + eax + 8]
mov dword [esp + 0x1c], ecx
fmul dword [0x10c10a5c]
fimul dword [esp + 0x1c]
fmul dword [esp + 0x44]
call fcn.10b83aa0
mov byte [esi + 0x53], al
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [ebx + edx]
fld dword [eax + 0x88]
add ebx, edx
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [edx + 0x88]
xor ecx, ecx
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10afa12d
fstp st(0)
mov ecx, 1
jmp 0x10afa13d
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10afa13d
or ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10afa1fc
cmp byte [edx + 0xadb], 1
jne 0x10afa158
mov dl, byte [ebx + 8]
mov byte [esi + 0x53], dl
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esp + 0x20]
mov edx, dword [esp + 0x60]
push 0x3f800000
lea ebx, [edx + eax]
push ecx
call fcn.10b83aa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [ebx + 0x10]
mov ebx, dword [esp + 0x88]
push 0
push eax
push ecx
push ebx
push edx
mov eax, esi
call fcn.10af8460
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x10afae26
mov eax, dword [ebp + 8]
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
cmp byte [ecx + 0xadb], 1
jne 0x10afa1be
mov dword [esp + 0x5c], reloc.ole32.dll_CoCreateGuid
jmp 0x10afa1c8
mov edx, dword [0x10c91d30]
mov dword [esp + 0x5c], edx
mov ecx, dword [eax + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10afa1da
mov edi, dword [eax + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa1df
mov edi, 0x10c10928
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov esi, dword [ebp + 0xc]
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push edx
push eax
call fcn.10af8a30
jmp 0x10afae26
mov eax, dword [0x10c91d30]
fld dword [esp + 0x20]
push eax
push ecx
call fcn.10b83aa0
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [esp + 0x88]
push 0
push ecx
mov ecx, dword [esp + 0x8c]
push edx
push eax
mov eax, esi
jmp 0x10afae20
mov eax, dword [ecx + 0x24]
cmp eax, 0x10c9fc30
je 0x10afa252
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9fd3c]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10afa5b1
mov al, byte [ecx + 0x3e4]
mov dl, byte [esi + 9]
and al, 4
neg al
sbb al, al
and eax, 0xff
mov byte [esi + 9], al
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea eax, [ebx + ecx]
cmp byte [eax + 9], dl
je 0x10afa286
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld qword [ecx + 0x190]
fstp dword [eax + 4]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [ebx + edx + 9]
mov cl, byte [ebx + edx + 8]
cmp al, cl
lea esi, [ebx + edx]
jbe 0x10afa2d1
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
test eax, eax
jge 0x10afa2c0
xor eax, eax
mov byte [esi + 8], al
jmp 0x10afa30a
cmp eax, 0xff
jl 0x10afa2cc
mov eax, 0xff
mov byte [esi + 8], al
jmp 0x10afa30a
jae 0x10afa30a
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
mov ecx, 0xff
sub ecx, eax
jns 0x10afa2fa
xor ecx, ecx
jmp 0x10afa307
cmp ecx, 0xff
jl 0x10afa307
mov ecx, 0xff
mov byte [esi + 8], cl
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea ecx, [ebx + eax]
mov al, byte [ecx + 8]
test al, al
jbe 0x10afae29
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov dl, byte [eax + 0xadb]
test dl, dl
jne 0x10afa34b
mov esi, dword [eax + reloc.ole32.dll_CoCreateGuid]
test esi, esi
je 0x10afa343
mov eax, dword [ecx]
call fcn.10ab97b0
test eax, eax
jne 0x10afa34b
mov al, 0x73
mov cl, 0x32
mov dl, 0xe
jmp 0x10afa351
mov cl, 0x14
mov al, 0x60
mov dl, cl
mov ebx, dword [ebp + 0xc]
mov byte [ebx + 0x52], al
mov byte [ebx + 0x50], dl
mov edx, dword [esp + 0x30]
mov byte [ebx + 0x51], cl
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea esi, [edx + ecx]
mov ecx, dword [esi]
fld dword [ecx + 0x88]
add eax, 0x80
fsub dword [eax + 8]
fld dword [ecx + 0x84]
fsub dword [eax + 4]
fld dword [ecx + 0x80]
fsub dword [eax]
mov al, byte [ecx + 0x3e4]
test al, 4
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)
fsqrt
fstp dword [esp + 0x34]
je 0x10afa3c5
movzx eax, byte [esi + 8]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jmp 0x10afa43c
fld dword [esp + 0x34]
fcomp dword [0x10c11374]
fnstsw ax
test ah, 5
jp 0x10afa3fd
fld dword [esp + 0x34]
fsub dword [0x10c10be0]
fmul dword [0x10c1131c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 1
je 0x10afa426
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10afa426
fld dword [0x10c10d08]
push 0x43070000
fsub dword [esp + 0x38]
push 0
push ecx
fmul dword [0x10c1136c]
fstp dword [esp]
call fcn.1094f040
fadd dword [0x10c11178]
add esp, 0xc
movzx ecx, byte [esi + 8]
fmul dword [0x10c10a5c]
mov dword [esp + 0x1c], ecx
fimul dword [esp + 0x1c]
fmul dword [esp + 0x44]
call fcn.10b83aa0
mov byte [ebx + 0x53], al
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edx]
lea ecx, reloc.ole32.dll_CoCreateGuid
add eax, 0x80
push ecx
lea esi, reloc.ole32.dll_CoCreateGuid
call fcn.10a12d60
mov edx, dword [esp + 0x50]
add edx, 0x14
push edx
lea esi, [esp + 0x94]
call fcn.1094ff40
fld dword [esp + 0x98]
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 1
je 0x10afae29
fld dword [esp + 0x90]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
fild dword [ebx + 0x58]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 5
jnp 0x10afae29
fld dword [esp + 0x94]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
fild dword [ebx + 0x5c]
fcomp dword [esp + 0x94]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx]
fld dword [edx + 0x88]
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [eax + 0x88]
mov dword [esp + 0x1c], 0
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10afa536
fstp st(0)
mov dword [esp + 0x1c], 1
jmp 0x10afa54b
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10afa54b
mov dword [esp + 0x1c], reloc.ole32.dll_CoCreateGuid
fld dword [esp + 0x34]
call fcn.10b83aa0
mov ecx, dword [esp + 0x1c]
push 0x3f800000
push ecx
mov ecx, dword [esp + 0x9c]
mov esi, eax
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
push esi
push 1
push edx
mov edx, dword [esp + 0xa4]
push eax
push ecx
push edx
mov eax, ebx
call fcn.10af8460
mov eax, dword [0x10c91d30]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [ebp + 8]
push esi
push 0xffffffffffffffff
push ecx
push edx
push eax
xor edi, edi
mov esi, ebx
call fcn.10af8a30
jmp 0x10afae26
mov eax, dword [ecx + 0x24]
cmp eax, 0x10c9a6d8
je 0x10afa5d6
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
xor edx, edx
div dword [0x10c9a7e4]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x10afaa85
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [edx + reloc.ole32.dll_CoCreateGuid]
cmp byte [eax + 0x3be], 4
jne 0x10afae29
mov edx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test dl, 4
je 0x10afa60b
mov al, 0x14
mov byte [esp + 0x3e], 0x60
mov byte [esp + 0x3d], al
mov byte [esp + 0x3c], al
jmp 0x10afa630
test dl, 8
je 0x10afa621
mov al, 0x60
mov byte [esp + 0x3e], al
mov byte [esp + 0x3d], al
mov byte [esp + 0x3c], 0
jmp 0x10afa630
mov byte [esp + 0x3e], 0x64
mov byte [esp + 0x3d], 0x7b
mov byte [esp + 0x3c], 0x5c
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ecx + 0x88]
fsub dword [eax + 0x88]
add eax, 0x80
test dl, 0xa
fld dword [ecx + 0x84]
fsub dword [eax + 4]
fld dword [ecx + 0x80]
mov cl, byte [esi + 9]
fsub dword [eax]
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)
fsqrt
fstp dword [esp + 0x24]
je 0x10afa693
fld dword [esp + 0x24]
fcomp dword [0x10c10b78]
fnstsw ax
test ah, 5
jp 0x10afa693
mov byte [esi + 9], 0xff
jmp 0x10afa697
mov byte [esi + 9], 0
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov ebx, dword [esp + 0x30]
lea eax, [ebx + edx]
cmp byte [eax + 9], cl
je 0x10afa6b8
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld qword [ecx + 0x190]
fstp dword [eax + 4]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov cl, byte [ebx + eax + 8]
lea esi, [ebx + eax]
mov al, byte [esi + 9]
cmp al, cl
jbe 0x10afa702
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
test eax, eax
jge 0x10afa6f1
xor eax, eax
mov byte [esi + 8], al
jmp 0x10afa73b
cmp eax, 0xff
jl 0x10afa6fd
mov eax, 0xff
mov byte [esi + 8], al
jmp 0x10afa73b
jae 0x10afa73b
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
mov ecx, 0xff
sub ecx, eax
jns 0x10afa72b
xor ecx, ecx
jmp 0x10afa738
cmp ecx, 0xff
jl 0x10afa738
mov ecx, 0xff
mov byte [esi + 8], cl
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [ebx + ecx + 8]
test al, al
jbe 0x10afae29
mov ebx, dword [ebp + 0xc]
mov dl, byte [esp + 0x3e]
mov al, byte [esp + 0x3d]
mov cl, byte [esp + 0x3c]
mov byte [ebx + 0x51], al
mov eax, dword [esp + 0x30]
mov byte [ebx + 0x50], cl
mov byte [ebx + 0x52], dl
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [eax + edx]
lea ecx, reloc.ole32.dll_CoCreateGuid
add eax, 0x80
push ecx
lea esi, reloc.ole32.dll_CoCreateGuid
call fcn.10a12d60
mov edx, dword [esp + 0x50]
add edx, 0x14
push edx
lea esi, [esp + 0xb8]
call fcn.1094ff40
fld dword [esp + 0xbc]
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 1
je 0x10afae29
fld dword [esp + 0xb4]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
fild dword [ebx + 0x58]
fcomp dword [esp + 0xb4]
fnstsw ax
test ah, 5
jnp 0x10afae29
fld dword [esp + 0xb8]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
fild dword [ebx + 0x5c]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10afa993
mov ecx, dword [esp + 0x14]
xor esi, esi
test ecx, ecx
jle 0x10afa8de
mov edx, dword [esp + 0x10]
add edx, 4
fld dword [edx]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x10afa84c
inc esi
add edx, 0x10
cmp esi, ecx
jl 0x10afa832
jmp 0x10afa8de
push 1
push esi
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov eax, esi
shl eax, 4
mov dword [eax + ecx], edx
mov ecx, dword [esp + 0x10]
fstp dword [eax + ecx + 4]
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 8], reloc.ole32.dll_CoCreateGuid
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + ecx]
mov ecx, dword [ecx + reloc.ole32.dll_CoCreateGuid]
test cl, 4
je 0x10afa8b6
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10afa8af
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa8cf
mov ecx, 0x10c10928
jmp 0x10afa8cf
test cl, 8
je 0x10afa8cd
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
test ecx, ecx
je 0x10afa8af
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa8cf
xor ecx, ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, 2
jge 0x10afa993
cmp esi, ecx
jne 0x10afa993
push 1
push ecx
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
shl eax, 4
mov dword [eax + ecx - 0x10], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
shl eax, 4
fstp dword [eax + ecx - 0xc]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
shl edx, 4
mov dword [edx + eax - 8], 0xffffffff
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + ecx]
mov eax, dword [eax + reloc.ole32.dll_CoCreateGuid]
test al, 4
je 0x10afa969
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10afa962
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa981
mov eax, 0x10c10928
jmp 0x10afa981
test al, 8
je 0x10afa97f
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
test eax, eax
je 0x10afa962
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
jmp 0x10afa981
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
shl ecx, 4
mov dword [ecx + edx - 4], eax
fld dword [esp + 0x24]
fcomp dword [0x10c11374]
fnstsw ax
test ah, 5
jp 0x10afa9c4
fld dword [esp + 0x24]
push 0
fsub dword [0x10c10be0]
push ecx
fmul dword [0x10c1131c]
fstp dword [esp]
call fcn.1090c860
add esp, 8
jmp 0x10afa9ed
fld dword [0x10c10d08]
push 0x43070000
fsub dword [esp + 0x28]
push 0
push ecx
fmul dword [0x10c1136c]
fstp dword [esp]
call fcn.1094f040
fadd dword [0x10c11178]
add esp, 0xc
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fmul dword [0x10c10a5c]
mov esi, dword [esp + 0x30]
movzx ecx, byte [esi + eax + 8]
mov dword [esp + 0x1c], ecx
fimul dword [esp + 0x1c]
fmul dword [esp + 0x44]
call fcn.10b83aa0
mov byte [ebx + 0x53], al
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esi + edx]
fld dword [eax + 0x88]
add esi, edx
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [edx + 0x88]
xor ecx, ecx
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10afaa4b
fstp st(0)
mov ecx, 1
jmp 0x10afaa5b
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10afaa5b
or ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [0x10c91d30]
fld dword [esp + 0x24]
push eax
push ecx
call fcn.10b83aa0
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [esp + 0xc4]
push 1
push ecx
mov ecx, dword [esp + 0xc8]
jmp 0x10afae19
test byte [ecx + 0x340], 0x40
mov dl, byte [esi + 9]
je 0x10afaaa6
mov eax, dword [esp + 0x58]
mov al, byte [eax + 8]
cmp al, byte [ecx + 0x1b4]
jne 0x10afaaa6
mov byte [esi + 9], 0xff
jmp 0x10afaaaa
mov byte [esi + 9], 0
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea eax, [ebx + ecx]
cmp byte [eax + 9], dl
je 0x10afaac7
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld qword [ecx + 0x190]
fstp dword [eax + 4]
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov al, byte [ebx + edx + 9]
mov cl, byte [ebx + edx + 8]
cmp al, cl
lea esi, [ebx + edx]
jbe 0x10afab12
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
test eax, eax
jge 0x10afab01
xor eax, eax
mov byte [esi + 8], al
jmp 0x10afab4b
cmp eax, 0xff
jl 0x10afab0d
mov eax, 0xff
mov byte [esi + 8], al
jmp 0x10afab4b
jae 0x10afab4b
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [esi + 4]
fsubr qword [eax + 0x190]
fmul qword [0x10c10df8]
call fcn.10b83aa0
mov ecx, 0xff
sub ecx, eax
jns 0x10afab3b
xor ecx, ecx
jmp 0x10afab48
cmp ecx, 0xff
jl 0x10afab48
mov ecx, 0xff
mov byte [esi + 8], cl
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea edx, [ebx + eax]
mov al, byte [edx + 8]
test al, al
jbe 0x10afae29
mov ecx, dword [edx]
mov eax, dword [edi + reloc.ole32.dll_CoCreateGuid]
fld dword [ecx + 0x88]
fsub dword [eax + 0x88]
add ecx, 0x80
fld dword [ecx + 4]
add eax, 0x80
fsub dword [eax + 4]
lea esi, reloc.ole32.dll_CoCreateGuid
fld dword [ecx]
lea ecx, reloc.ole32.dll_CoCreateGuid
fsub dword [eax]
mov eax, dword [edx]
add eax, 0x80
push ecx
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)
fsqrt
fstp dword [esp + 0x30]
call fcn.10a12d60
mov edx, dword [esp + 0x50]
add edx, 0x14
push edx
lea esi, [esp + 0x70]
call fcn.1094ff40
fld dword [esp + 0x74]
fcomp dword [0x10c109fc]
fnstsw ax
test ah, 1
je 0x10afae29
fld dword [esp + 0x6c]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov ebx, dword [ebp + 0xc]
fild dword [ebx + 0x58]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 5
jnp 0x10afae29
fld dword [esp + 0x70]
fcomp dword [0x10c109f8]
fnstsw ax
test ah, 5
jnp 0x10afae29
fild dword [ebx + 0x5c]
fcomp dword [esp + 0x70]
fnstsw ax
test ah, 5
jnp 0x10afae29
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10afad1f
mov ecx, dword [esp + 0x14]
xor esi, esi
test ecx, ecx
jle 0x10afacb6
mov edx, dword [esp + 0x10]
add edx, 4
fld dword [edx]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
je 0x10afac6a
inc esi
add edx, 0x10
cmp esi, ecx
jl 0x10afac53
jmp 0x10afacb6
push 1
push esi
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov ebx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
mov dword [eax + ecx], edx
mov ecx, dword [esp + 0x10]
fstp dword [eax + ecx + 4]
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 8], reloc.ole32.dll_CoCreateGuid
mov ecx, dword [esp + 0x10]
mov dword [eax + ecx + 0xc], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 2
jge 0x10afad1f
cmp esi, ecx
jne 0x10afad1f
push 1
push ecx
mov ebx, 0x10
lea eax, [esp + 0x18]
call fcn.10904450
fld dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov ebx, dword [ebp + 0xc]
shl edx, 4
mov dword [edx + eax - 0x10], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
shl edx, 4
fstp dword [edx + eax - 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
shl ecx, 4
mov dword [ecx + edx - 8], 0xffffffff
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
shl eax, 4
mov dword [eax + ecx - 4], 0
fld dword [esp + 0x2c]
mov byte [ebx + 0x48], 5
fcomp dword [0x10c11374]
fnstsw ax
test ah, 5
jp 0x10afad54
fld dword [esp + 0x2c]
push 0
fsub dword [0x10c10be0]
push ecx
fmul dword [0x10c1131c]
fstp dword [esp]
call fcn.1090c860
add esp, 8
jmp 0x10afad7d
fld dword [0x10c10d08]
push 0x43070000
fsub dword [esp + 0x30]
push 0
push ecx
fmul dword [0x10c1136c]
fstp dword [esp]
call fcn.1094f040
fadd dword [0x10c11178]
add esp, 0xc
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fmul dword [0x10c10a5c]
mov esi, dword [esp + 0x30]
movzx eax, byte [esi + edx + 8]
mov dword [esp + 0x1c], eax
mov byte [ebx + 0x52], 0x64
mov byte [ebx + 0x51], 0x7b
fimul dword [esp + 0x1c]
mov byte [ebx + 0x50], 0x5c
fmul dword [esp + 0x44]
call fcn.10b83aa0
mov byte [ebx + 0x53], al
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
mov eax, dword [esi + edx]
fld dword [eax + 0x88]
add esi, edx
mov edx, dword [edi + reloc.ole32.dll_CoCreateGuid]
fsub dword [edx + 0x88]
xor ecx, ecx
fcom dword [0x10c10af0]
fnstsw ax
test ah, 0x41
jne 0x10afade7
fstp st(0)
mov ecx, 1
jmp 0x10afadf7
fcomp dword [0x10c10e6c]
fnstsw ax
test ah, 5
jp 0x10afadf7
or ecx, reloc.ole32.dll_CoCreateGuid
mov eax, dword [0x10c91d30]
fld dword [esp + 0x2c]
push eax
push ecx
call fcn.10b83aa0
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [esp + 0x7c]
push 0
push ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0xc]
push edx
push eax
mov eax, ebx
push ecx
call fcn.10af8460
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x10af9280
mov eax, dword [esp + 0x64]
xor ebx, ebx
cmp eax, ebx
je 0x10afb02c
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x14]
cmp ecx, 2
mov eax, ecx
jle 0x10afae62
mov eax, 2
cmp dword [esp + 0x1c], eax
jge 0x10afb030
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + edx]
mov ecx, dword [edi + reloc.ole32.dll_CoCreateGuid]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x80]
mov ecx, dword [eax + 0x84]
add eax, 0x80
mov dword [esp + 0xa4], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xa8], ecx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], 0x3f800000
call fcn.1094fe60
fld dword [0x10c109fc]
fdiv dword [esp + 0xcc]
lea eax, [esp + 0xd0]
push eax
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
mov ecx, dword [esp + 0x58]
add ecx, 0x14
mov dword [esp + 0xe4], 0x3f800000
fld dword [esp + 0xc8]
fmul st(1)
fld dword [esp + 0xcc]
fmul st(2)
fld dword [esp + 0xd0]
fmul st(3)
fstp dword [esp + 0xf0]
mov edx, dword [esp + 0xf0]
fxch st(1)
fstp dword [esp + 0xd8]
mov dword [esp + 0xe0], edx
fstp dword [esp + 0xdc]
fstp st(0)
call fcn.1094fe60
mov esi, dword [esp + 0x10]
fld dword [ebx + esi + 4]
mov edx, dword [eax]
fcomp dword [0x10c11374]
mov eax, dword [eax + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
fnstsw ax
test ah, 5
jp 0x10afaf8e
fld dword [ebx + esi + 4]
fsub dword [0x10c10be0]
fmul dword [0x10c1131c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 1
je 0x10afafd0
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10afafd0
fld dword [0x10c10d08]
fsub dword [ebx + esi + 4]
fmul dword [0x10c1136c]
fcom dword [0x10c109f8]
fnstsw ax
test ah, 5
jp 0x10afafb5
fstp st(0)
fld dword [0x10c109f8]
jmp 0x10afafca
fcom dword [0x10c11370]
fnstsw ax
test ah, 5
jnp 0x10afafca
fstp st(0)
fld dword [0x10c11370]
fadd dword [0x10c11178]
fmul dword [0x10c10a5c]
fmul dword [esp + 0x44]
fmul dword [0x10c10a20]
call fcn.10b83aa0
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x10c91d30]
mov byte [ecx + 0x53], al
fld dword [ebx + esi + 4]
push edx
call fcn.10b83aa0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [ebx + esi + 8]
push eax
push ecx
push edx
push edi
mov edi, dword [ebx + esi + 0xc]
mov esi, dword [ebp + 0xc]
call fcn.10af8a30
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 8]
inc ecx
mov dword [esp + 0x1c], ecx
add ebx, 0x10
jmp 0x10afae52
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x160], 0x10c035fc
push 0x10
push ecx
push 0
lea ecx, [esp + 0x1c]
mov dword [esp + reloc.ole32.dll_CoCreateGuid], 2
call fcn.109119c0
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + reloc.ole32.dll_CoCreateGuid], reloc.ole32.dll_CoCreateGuid
je 0x10afb073
mov ecx, dword [0x10c73bf0]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
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 0xc