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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov ecx, dword [0x10ed030]
mov ebx, 0x10ed030
cmp ecx, ebx
je 0x1089139
test byte [ecx + 0x1c], 1
je 0x1089139
cmp byte [ecx + 0x19], 5
jb 0x1089139
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0x10086ac
push 0x4f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cb22
mov ecx, dword [0x10ed030]
and dword [ebp - 4], 0
xor eax, eax
and dword [ebp - 8], 0
mov word [ebp - 0x18], ax
lea edi, [ebp - 0x16]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp dword [ebp - 8], 0x21
jae 0x1089a3d
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
shl edi, 3
push dword [edi + 0x10ed660]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], eax
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x10891be
test byte [eax + 0x1c], 2
je 0x10891be
cmp byte [eax + 0x19], 5
jb 0x10891be
movzx edx, word [ebp - 0x18]
mov ecx, dword [edi + 0x10ed660]
push edx
movzx edx, word [edi + 0x10ed664]
push edx
push dword [ebp - 4]
mov esi, 0x10086ac
push dword [ecx + 0x10]
push ecx
push esi
push 0x50
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082d42
mov eax, dword [0x10ed030]
jmp 0x10891c3
mov esi, 0x10086ac
cmp dword [ebp - 4], 0
jne 0x10899f8
xor ecx, ecx
cmp cx, word [ebp - 0x18]
je 0x10899f8
movzx ecx, word [edi + 0x10ed664]
cmp cx, word [ebp - 0x18]
je 0x108922f
mov dword [ebp - 4], 0x8000ffff
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 2
jb 0x1089a20
movzx edx, word [ebp - 0x18]
mov edi, dword [edi + 0x10ed660]
push edx
movzx ecx, cx
push ecx
push dword [edi + 0x10]
push edi
push esi
push 0x51
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082d05
jmp 0x1089a20
mov ecx, dword [ebp - 8]
cmp ecx, 0x20
ja case.default.0x108923b
jmp dword [ecx*4 + 0x1089a7d]
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x20
call fcn.01028b27
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push esi
push 0x52
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
jmp 0x1089a20
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x14], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x53
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010294b2
jmp 0x1089a20
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x18
call fcn.01028b27
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push esi
push 0x54
jmp 0x1089277
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x1c
call fcn.01028b27
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push esi
push 0x55
jmp 0x1089277
xor ecx, ecx
cmp cx, word [ebp - 0x10]
je 0x1089358
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x28], 1
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
xor edx, edx
xor ecx, ecx
cmp cx, word [ebp - 0x10]
setne dl
push edx
push esi
push 0x56
jmp 0x10892bd
xor ecx, ecx
cmp cx, word [ebp - 0x10]
je 0x108939b
mov eax, dword [ebp + 0xc]
and dword [eax + 0x28], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
xor edx, edx
xor ecx, ecx
cmp cx, word [ebp - 0x10]
setne dl
push edx
push esi
push 0x57
jmp 0x10892bd
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x2c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x58
jmp 0x10892bd
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x30], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x59
jmp 0x10892bd
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x34], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x5a
jmp 0x10892bd
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x38], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x5b
jmp 0x10892bd
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x40
call fcn.01028b27
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push esi
push 0x5c
jmp 0x1089277
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x44], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x5d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010294b2
jmp 0x1089a20
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x48], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x5e
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x4c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x5f
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x60
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x54], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x61
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x58], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x62
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x63
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x64
jmp 0x108951f
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x70], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x65
jmp 0x10892bd
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x10896d6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x74], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
movzx ecx, cl
push ecx
push esi
push 0x66
jmp 0x108951f
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x1089716
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x75], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
movzx ecx, cl
push ecx
push esi
push 0x67
jmp 0x108951f
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x1089756
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x76], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
movzx ecx, cl
push ecx
push esi
push 0x68
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x64], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x69
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x68], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x6a
jmp 0x108951f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x6c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x6b
jmp 0x108951f
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x10]
add edi, 4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push 0x10086ac
push 0x6c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082ca9
jmp 0x1089a20
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x24
call fcn.01028b27
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push esi
push 0x6d
jmp 0x1089277
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x3c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x6e
jmp 0x10892bd
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x10]
add edi, 0x78
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push 0x10086ac
push 0x6f
jmp 0x108985a
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x10]
add edi, 0x88
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push dword [ebp - 0x10]
push 0x10086ac
push 0x70
jmp 0x108985a
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x98], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x71
jmp 0x10892bd
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp + 0xc]
setne cl
mov dword [eax + 0x9c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
push ecx
push esi
push 0x72
jmp 0x10892bd
mov dword [ebp - 4], 0x8000ffff
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 2
jb 0x1089a20
push 0
push dword [ebp - 8]
push esi
push 0x73
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cd84
jmp 0x1089a20
cmp eax, ebx
je 0x1089a20
test byte [eax + 0x1c], 2
je 0x1089a20
cmp byte [eax + 0x19], 5
jb 0x1089a20
mov edi, dword [edi + 0x10ed660]
push dword [edi + 0x10]
push edi
push esi
push 0x74
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082cd4
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ole32.dll_PropVariantClear]
inc dword [ebp - 8]
cmp dword [ebp - 4], 0
mov ecx, dword [0x10ed030]
jge 0x108914f
pop edi
pop esi
cmp ecx, ebx
pop ebx
je 0x1089a75
test byte [ecx + 0x1c], 1
je 0x1089a75
movzx eax, byte [ecx + 0x19]
xor edx, edx
cmp dword [ebp - 4], edx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp eax, edx
jl 0x1089a75
push dword [ebp - 4]
push 0x10086ac
push 0x75
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010294b2
mov eax, dword [ebp - 4]
leave
ret 8