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

Disassembly:
push 0xffffffffffffffff
push 0x10187b40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x54]
xor ebp, ebp
cmp ecx, ebp
push edi
mov dword [esp + 0x28], 0xef00ffff
je 0x10021595
mov eax, dword [0x1019175c]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
push ebp
lea eax, [esp + 0x30]
push ebp
lea edx, [esp + 0x3c]
push eax
push edx
lea eax, [esp + 0x48]
push ebp
push eax
lea edx, [esp + 0x30]
push ebp
lea eax, [esp + 0x38]
push edx
push eax
lea edx, [esp + 0x44]
lea eax, [esp + 0x48]
push edx
push eax
lea edx, [esp + 0x68]
lea eax, [esp + 0x6c]
push edx
push eax
lea edx, [esp + 0x44]
lea eax, [esp + 0x78]
push edx
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x90], 4
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x74], ebp
call fcn.100209a0
test eax, eax
je 0x100214f7
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], 0x927c0
cmp eax, 2
mov edi, 4
jne 0x100212f9
mov edi, 8
jmp 0x100212fe
cmp eax, 3
je 0x1002130f
mov ecx, dword [esp + 0x10]
push ecx
call fcn.1002d580
add esp, 4
cmp eax, ebp
je 0x1002131c
mov edi, 0x10
mov dword [esp + 0x30], 0x1b7740
cmp dword [0x101f1d98], ebp
je 0x10021348
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
push edi
push edx
push eax
push str.DWMExecute___s___d___d_
push 0x101b3304
push 0xffffffffffffffff
push 0x101f1d2c
call fcn.100066b0
add esp, 0x1c
cmp edi, 0x10
jne 0x1002135a
call fcn.1006cf80
test eax, eax
je 0x100214ef
push edi
mov ecx, esi
call fcn.10027250
mov ebx, eax
test ebx, ebx
jne 0x10021381
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, 0xa
jl 0x1002135a
test ebx, ebx
je 0x10021542
push 0
mov ecx, dword [esp + 0x5c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
lea ebp, [esi + 8]
lea ebx, [esi + 4]
call fcn.100547f0
mov edx, dword [esp + 0x84]
add esp, 4
shl eax, 1
mov ecx, ebp
push eax
push edx
lea eax, [esi + 0x14e4]
neg ecx
push 0x10
push eax
sbb ecx, ecx
mov eax, ebx
and ecx, 4
lea edx, [esi + 0xc]
neg eax
push ecx
push ebp
sbb eax, eax
push 0x14d8
and eax, 4
push edx
push eax
push ebx
push 4
call fcn.1001f420
add esp, 0x54
mov dword [esp + 0x14], eax
test eax, eax
je 0x1002154a
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x14]
push ecx
push edx
push edi
mov ecx, esi
call fcn.10027ee0
test eax, eax
je 0x1002154a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1002154a
lea ecx, [eax + 0x34]
test ecx, ecx
je 0x1002154a
mov edx, dword [eax + 8]
lea ecx, [edx + eax + 0x35]
test ecx, ecx
je 0x1002154a
mov ecx, dword [0x101f1d98]
test ecx, ecx
je 0x10021485
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
shr edx, 1
push edx
lea edx, [ecx + eax + 0x35]
push edx
lea ecx, [esp + 0x60]
call fcn.10033370
mov eax, dword [eax]
mov byte [esp + 0x50], 5
push eax
push str.GenerateDWMResultXml__s_
push 0x101b3304
push 0xffffffffffffffff
push 0x101f1d2c
call fcn.100066b0
add esp, 0x14
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 4
call fcn.10033760
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x5c]
mov ecx, dword [eax + 0x34]
test esi, esi
mov dword [esp + 0x28], ecx
je 0x100214cf
mov edi, dword [esp + 0x60]
test edi, edi
jbe 0x100214cf
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
shr edx, 1
push edx
lea edx, [ecx + eax + 0x35]
push edx
lea ecx, [esp + 0x60]
call fcn.10033370
mov eax, dword [esp + 0x58]
push edi
push eax
push esi
call fcn.10054a00
add esp, 0xc
lea ecx, [esp + 0x58]
call fcn.10033760
mov eax, dword [esp + 0x14]
push eax
mov dword [ebx], 0
mov dword [ebp], 0
call fcn.10054626
add esp, 4
mov dword [esp + 0x14], 0
jmp 0x1002154a
mov dword [esp + 0x28], 0xef000003
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 3
call fcn.10033760
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 2
call fcn.10033760
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 1
call fcn.10033760
lea ecx, [esp + 0x24]
mov byte [esp + 0x50], 0
call fcn.10033760
lea ecx, [esp + 0x10]
mov dword [esp + 0x50], 0xffffffff
call fcn.10033760
jmp 0x10021595
mov dword [esp + 0x28], 0xef001004
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 3
call fcn.10033760
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 2
call fcn.10033760
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 1
call fcn.10033760
lea ecx, [esp + 0x24]
mov byte [esp + 0x50], 0
call fcn.10033760
lea ecx, [esp + 0x10]
mov dword [esp + 0x50], 0xffffffff
call fcn.10033760
xor ebp, ebp
cmp dword [0x101f1d98], ebp
je 0x100215bf
mov esi, dword [esp + 0x28]
push esi
push 0x101b3548
push 0x101b3304
push 0xffffffffffffffff
push 0x101f1d2c
call fcn.100066b0
add esp, 0x14
mov eax, esi
jmp 0x100215c3
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x44
ret 0xc