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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10061654
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x3c], ecx
mov esi, edx
mov dword [esp + 0x30], edi
call fcn.10027215
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.1002b3c0
mov dword [esp + 0xac], edi
add esi, 0xffffc925
mov edx, dword [esp + 0x34]
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x1002b072
cmp dword [eax + 0x10], esi
jge 0x1002b055
mov eax, dword [eax + 8]
jmp 0x1002b059
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1002b04b
cmp ecx, edx
je 0x1002b072
cmp esi, dword [ecx + 0x10]
jl 0x1002b072
mov dword [esp + 0x40], ecx
lea esi, [esp + 0x40]
jmp 0x1002b07a
mov dword [esp + 0x48], edx
lea esi, [esp + 0x48]
mov esi, dword [esi]
mov dword [esp + 0x10], 0x43cdf98a
mov dword [esp + 0xc], edi
jmp 0x1002b09a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x58], 0xc93b4e1a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1002b08a
push 2
pop ebx
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], edi
jl 0x1002b0fb
mov dword [esp + 0xc], 0x1da622a1
mov dword [esp + 0xc], edi
jmp 0x1002b0cc
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x64], 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1002b0bc
mov dword [esp + 0x64], 0x9c3fbb4
mov dword [esp + 0xc], edi
jmp 0x1002b0ef
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x58], edi
jne 0x1002b0f5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x1002b0e1
dec dword [esp + 0x10]
jns 0x1002b0ae
mov eax, dword [0x1007f184]
test al, 1
jne 0x1002b12f
or eax, 1
mov dword [0x1007f174], 7
mov dword [0x1007f184], eax
xor eax, eax
push 0x10061deb
mov dword [0x1007f170], edi
mov word [0x1007f160], ax
call fcn.10047df2
pop ecx
mov dword [esp + 0x18], 0xffff
lea ecx, [esp + 0x4c]
mov dword [esp + 0xc], 0x4bda99da
mov dword [esp + 0x44], edi
push 3
call fcn.10004840
mov dword [esp + 0x1c], 0x9c1c50d5
xor edx, edx
mov dword [esp + 0x20], 0x1a2955e3
mov dword [esp + 0x10], edx
jmp 0x1002b176
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x28], 0x9be1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x1002b166
mov dword [esp + 0x10], edx
jmp 0x1002b195
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x7520
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1002b182
cmp dword [esp + 0x18], edx
je 0x1002b1db
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], dl
je 0x1002b1bb
push edx
push 0x24af
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
xor edx, edx
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1002b2a4
push edx
push 0x21a2
call dword [sym.imp.USER32.dll_ValidateRect]
jmp 0x1002b2a4
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
jmp 0x1002b299
mov dword [esp + 0x24], 0xf2887cf2
mov dword [esp + 0x20], 0xccae
mov dword [esp + 0x24], 1
cmp dword [esp + 0x24], edx
jl 0x1002b295
mov dword [esp + 0x10], 0xfc2285fa
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1002b22b
push 0x296
push edx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
xor edx, edx
mov dword [esp + 0x10], 1
cmp dword [esp + 0x10], edx
jl 0x1002b28b
mov dword [esp + 0x1c], 5
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x28], edx
jne 0x1002b275
cmp dword [esp + 0x20], edx
je 0x1002b255
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
dec dword [esp + 0x10]
jns 0x1002b239
dec dword [esp + 0x24]
jns 0x1002b20a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jle 0x1002b1e8
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x4c]
mov edi, dword [eax + 4]
sub edi, dword [eax]
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x18]
setg cl
xor edx, edx
cmp ecx, edi
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edi, edi
sub ecx, dword [esp + 0xc]
je 0x1002b2e1
cmp dword [esp + 0x28], edi
je 0x1002b2e1
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
add ecx, 0x883eb999
cmp ecx, eax
lea ecx, [esp + 0x4c]
sete dl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
call fcn.1000489d
cmp esi, dword [esp + 0x34]
je 0x1002b347
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x8c]
call fcn.10022777
pop ecx
xor ebx, ebx
mov byte [esp + 0xac], 1
inc ebx
jmp 0x1002b35c
push 0x1007f160
lea ecx, [esp + 0x74]
call fcn.10007640
mov dword [esp + 0xac], ebx
mov esi, dword [esp + 0x3c]
mov ecx, esi
push eax
mov dword [esp + 0x34], ebx
call fcn.10007640
or ebx, 4
test bl, 2
je 0x1002b383
push edi
push 1
lea ecx, [esp + 0x78]
and ebx, 0xfffffffd
call fcn.10004dd6
test bl, 1
je 0x1002b397
push edi
push 1
lea ecx, [esp + 0x90]
call fcn.10004dd6
lea ecx, [esp + 0x34]
call fcn.1000c583
mov ecx, dword [esp + 0xa4]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret