Function at 0x108900b
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 0x108904f
test byte [ecx + 0x1c], 1
je 0x108904f
cmp byte [ecx + 0x19], 5
jb 0x108904f
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0x10085bc
push 0x4f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102cde9
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 0x1089953
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 0x10890d4
test byte [eax + 0x1c], 2
je 0x10890d4
cmp byte [eax + 0x19], 5
jb 0x10890d4
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, 0x10085bc
push dword [ecx + 0x10]
push ecx
push esi
push 0x50
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082cad
mov eax, dword [0x10ed030]
jmp 0x10890d9
mov esi, 0x10085bc
cmp dword [ebp - 4], 0
jne 0x108990e
xor ecx, ecx
cmp cx, word [ebp - 0x18]
je 0x108990e
movzx ecx, word [edi + 0x10ed664]
cmp cx, word [ebp - 0x18]
je 0x1089145
mov dword [ebp - 4], 0x8000ffff
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 2
jb 0x1089936
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.01082c70
jmp 0x1089936
mov ecx, dword [ebp - 8]
cmp ecx, 0x20
ja case.default.0x1089151
jmp dword [ecx*4 + 0x1089993]
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x20
call fcn.01028b05
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push esi
push 0x52
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
jmp 0x1089936
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x53
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
jmp 0x1089936
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x18
call fcn.01028b05
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push esi
push 0x54
jmp 0x108918d
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x1c
call fcn.01028b05
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push esi
push 0x55
jmp 0x108918d
xor ecx, ecx
cmp cx, word [ebp - 0x10]
je 0x108926e
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x28], 1
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
xor edx, edx
xor ecx, ecx
cmp cx, word [ebp - 0x10]
setne dl
push edx
push esi
push 0x56
jmp 0x10891d3
xor ecx, ecx
cmp cx, word [ebp - 0x10]
je 0x10892b1
mov eax, dword [ebp + 0xc]
and dword [eax + 0x28], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
xor edx, edx
xor ecx, ecx
cmp cx, word [ebp - 0x10]
setne dl
push edx
push esi
push 0x57
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x58
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x59
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x5a
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x5b
jmp 0x10891d3
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x40
call fcn.01028b05
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push esi
push 0x5c
jmp 0x108918d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x44], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x5d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
jmp 0x1089936
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x48], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x5e
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x4c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x5f
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x60
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x54], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x61
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x58], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x62
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x63
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x64
jmp 0x1089435
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x65
jmp 0x10891d3
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x10895ec
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x74], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
movzx ecx, cl
push ecx
push esi
push 0x66
jmp 0x1089435
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x108962c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x75], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
movzx ecx, cl
push ecx
push esi
push 0x67
jmp 0x1089435
mov ecx, 0xff
cmp dword [ebp - 0x10], ecx
ja 0x108966c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x76], cl
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
movzx ecx, cl
push ecx
push esi
push 0x68
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x64], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x69
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x68], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x6a
jmp 0x1089435
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x6c], ecx
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x6b
jmp 0x1089435
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push 0x10085bc
push 0x6c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01082c14
jmp 0x1089936
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x10]
add ecx, 0x24
call fcn.01028b05
mov eax, dword [0x10ed030]
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push esi
push 0x6d
jmp 0x108918d
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x6e
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push 0x10085bc
push 0x6f
jmp 0x1089770
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push dword [ebp - 0x10]
push 0x10085bc
push 0x70
jmp 0x1089770
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x71
jmp 0x10891d3
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 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
push ecx
push esi
push 0x72
jmp 0x10891d3
mov dword [ebp - 4], 0x8000ffff
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 2
jb 0x1089936
push 0
push dword [ebp - 8]
push esi
push 0x73
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cca2
jmp 0x1089936
cmp eax, ebx
je 0x1089936
test byte [eax + 0x1c], 2
je 0x1089936
cmp byte [eax + 0x19], 5
jb 0x1089936
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.01082c3f
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 0x1089065
pop edi
pop esi
cmp ecx, ebx
pop ebx
je 0x108998b
test byte [ecx + 0x1c], 1
je 0x108998b
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 0x108998b
push dword [ebp - 4]
push 0x10085bc
push 0x75
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01027ecb
mov eax, dword [ebp - 4]
leave
ret 8