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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10087d3e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
push esi
mov dword [esp + 0x38], edx
xor ebx, ebx
mov dword [esp + 0x10], 0xf73838a1
mov esi, ecx
push edi
mov dword [esp + 0x10], ebx
jmp 0x1001df3f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xe0], 0x4a53aa9a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001df2c
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], bl
je 0x1001df5c
mov edx, 0x70c3
xor cl, cl
call fcn.1001d9e7
mov eax, dword [esp + 0x14]
mov dword [esp + 0xec], eax
cmp dword [esi + 0x10], ebx
jne 0x1001df73
xor al, al
jmp 0x1001e717
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], 0xa
jmp 0x1001e040
push dword [esp + 0x40]
movdqa xmm0, xmmword [0x10007ff0]
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0xcc]
mov dword [esp + 0x80], ebx
push eax
push ebx
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], ebx
movdqu xmmword [esp + 0xd4], xmm0
mov dword [esp + 0x90], ebx
call fcn.1001adcc
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x1c], 0xfaeb382e
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], 3
jg 0x1001e01c
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, dword [ecx + 4]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x1001dfee
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], bl
je 0x1001e033
push ebx
push 0x160a
push ebx
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
lea ecx, [esp + 0x78]
call fcn.10019976
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x12
jl 0x1001df88
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], bl
je 0x1001e063
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
push ebx
mov dword [esp + 0x18], 0xf75dcec3
push 0xd79
call fcn.1001e76a
xor eax, eax
mov dword [esp + 0x1c], ebx
inc eax
pop ecx
pop ecx
cmp dword [esp + 0x14], eax
jl 0x1001e1a6
push 2
lea ecx, [esp + 0x70]
mov edi, 0x7a3a11c1
call fcn.100198f4
mov dword [esp + 0xfc], ebx
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0x54], edi
lea eax, [esp + 0x70]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
push ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x24], 0x278c007c
push eax
call fcn.100221ad
xor edx, edx
add esp, 0xc
inc edx
mov dword [esp + 0x5c], edx
cmp dword [esp + 0x5c], ebx
jl 0x1001e182
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
cmp dword [eax + ecx*4], ebx
je 0x1001e140
mov dword [esp + 0x10], ebx
jmp 0x1001e102
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x34], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001e0f2
mov dword [esp + 0x34], ebx
jmp 0x1001e137
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001e12c
push ebx
push 0x12f6
push 0x48f0
call fcn.1001e805
add esp, 0xc
push ebx
call fcn.1001e7c1
dec dword [esp + 0x38]
pop ecx
cmp dword [esp + 0x34], 0xffffffe3
jl 0x1001e10e
jmp 0x1001e14d
push ebx
push 0x4956
call fcn.1002214e
pop ecx
pop ecx
mov edx, dword [esp + 0x6c]
cmp dword [edx + 4], ebx
je 0x1001e16f
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + ecx*4]
mov dword [edx + 4], eax
cmp eax, ebx
je 0x1001e16f
xor edx, edx
inc edx
mov eax, edx
jmp 0x1001e174
xor edx, edx
mov eax, ebx
inc edx
mov dword [esp + 0x1c], eax
dec dword [esp + 0x5c]
jns 0x1001e0df
or dword [esp + 0xfc], 0xffffffff
lea ecx, [esp + 0x6c]
call fcn.10019976
inc dword [esp + 0x14]
xor edi, edi
inc edi
cmp dword [esp + 0x14], edi
jge 0x1001e089
jmp 0x1001e1a9
xor edi, edi
inc edi
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.10020f7f
pop ecx
pop ecx
push 4
lea ecx, [esp + 0x48]
call fcn.100198f4
lea eax, [esp + 0xc0]
mov dword [esp + 0xfc], edi
push eax
push ebx
lea eax, [esp + 0x4c]
mov dword [esp + 0x38], 0xfffffffc
push 0x7e61
push eax
mov dword [esp + 0x2c], 0xc1348862
call fcn.1001e8f2
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.1002168d
mov edx, dword [esp + 0x60]
add esp, 0x1c
mov eax, dword [edx + 0xc]
neg eax
je 0x1001e23d
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov edx, dword [edx + 8]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, edx
setle al
xor ecx, ecx
cmp eax, 0x5984
mov eax, dword [esp + 0x44]
setge cl
sub ecx, dword [eax]
sub ecx, 0x189d9e62
mov ecx, edi
jne 0x1001e23f
mov ecx, ebx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
push 6
pop eax
cmp eax, ecx
mov eax, dword [esp + 0x44]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax + 4]
mov eax, dword [esp + 0x30]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, 0xfff7
sbb eax, eax
inc eax
cmp edi, eax
mov eax, dword [esp + 0x44]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax + 8]
setl dl
cmp edx, 0xefc16765
jne 0x1001e292
mov eax, edi
cmp dword [esp + 0x30], ebx
jne 0x1001e294
mov eax, ebx
xor ecx, ecx
cmp eax, 0x3cb8e004
mov eax, dword [esp + 0x44]
setge cl
or dword [esp + 0xfc], 0xffffffff
mov dword [eax], ecx
lea ecx, [esp + 0x44]
call fcn.10019976
cmp dword [esi + 0x14], 0x10
jb 0x1001e2bf
mov ecx, dword [esi]
jmp 0x1001e2c1
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x38], ecx
jb 0x1001e2cf
mov edx, dword [esi]
jmp 0x1001e2d1
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1001e714
mov al, byte [ecx]
cmp al, 0x30
jl 0x1001e50d
cmp al, 0x39
jg 0x1001e50d
mov dword [esp + 0x10], 0x76e6bacd
lea ecx, [esp + 0x60]
mov dword [esp + 0x14], 9
push 2
call fcn.100198f4
mov dword [esp + 0xfc], 2
lea ecx, [esp + 0xa4]
mov dword [esp + 0x1c], 0x142b622b
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], edi
push 3
call fcn.100198f4
push 2
lea ecx, [esp + 0x98]
mov byte [esp + 0x100], 3
call fcn.100198f4
mov byte [esp + 0xfc], 4
mov dword [esp + 0x24], ebx
jmp 0x1001e36c
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1001e35c
mov dword [esp + 0x24], ebx
jmp 0x1001e38b
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x1001e379
push ebx
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10021173
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp ecx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
setge dl
dec ecx
add ecx, edx
xor edx, edx
cmp ecx, eax
setle dl
cmp dword [esp + 0x10], edx
jne 0x1001e3f4
mov dword [esp + 0x14], ebx
jmp 0x1001e3e8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov dword [eax + ecx*4], 0xa96141e4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001e3d5
jmp 0x1001e4c7
mov dword [esp + 0x28], 0x4df6f978
mov dword [esp + 0x1c], 0x18ebdb8
mov dword [esp + 0x1c], 0xff68e10d
mov dword [esp + 0x1c], 0xf7b40076
mov dword [esp + 0x1c], 0x12ef314d
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x1c], 3
mov dword [esp + 0x1c], 0x610cb4e3
mov dword [esp + 0x1c], 0x48968f25
mov dword [esp + 0x1c], 0x8d6e8597
mov dword [esp + 0x14], ebx
jmp 0x1001e4b7
inc dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 4]
add eax, 0x37e0d1b3
je 0x1001e468
mov eax, edi
cmp dword [esp + 0x10], ebx
jne 0x1001e46a
mov eax, ebx
add eax, 0xfffffff7
je 0x1001e48f
mov dword [esp + 0x1c], 0xf215a609
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jmp 0x1001e4b3
mov dword [esp + 0x28], ebx
jmp 0x1001e4ac
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.10021383
add esp, 0xc
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 2
jl 0x1001e495
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x1001e44a
mov eax, dword [esp + 0x94]
dec dword [eax + 4]
lea ecx, [esp + 0x94]
call fcn.10019976
lea ecx, [esp + 0xa4]
call fcn.10019976
or dword [esp + 0xfc], 0xffffffff
lea ecx, [esp + 0x60]
call fcn.10019976
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.1002198d
mov ecx, dword [esp + 0x44]
add esp, 0xc
inc ecx
jmp 0x1001e2c1
mov eax, 0x9ff60657
xor ecx, ecx
mov dword [esp + 0x84], eax
inc ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x10], 0x95364446
mov dword [esp + 0x1c], 0x1a0734f0
mov dword [esp + 0x1c], 0x9e17716e
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 4
jge 0x1001e565
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xb0], ecx
inc dword [esp + 0x10]
jmp 0x1001e54d
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 3
jg 0x1001e663
push 5
pop esi
mov dword [esp + 0x20], esi
lea edx, [esp + 0x20]
call fcn.1001d9e7
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 3
jg 0x1001e651
xor edi, edi
mov dword [esp + 0x14], 0x622b6078
xor edx, edx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x84]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0xb0]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x84]
cmp dword [esp + 0x14], ebx
je 0x1001e5ed
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp eax, 0xd82c32b9
setne cl
cmp ecx, 0x12ef
jg 0x1001e614
lea ecx, [edi + 1]
cmp dword [esp + 0x10], ebx
jne 0x1001e616
mov ecx, ebx
mov eax, dword [esp + 0x20]
neg ecx
mov eax, dword [esp + eax*4 + 0x84]
sub ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x1001e595
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
push 1
pop ecx
jle 0x1001e577
mov eax, dword [esp + 0x3c]
mov dword [eax], ebx
mov dword [esp + 0x2c], 0x8ec0ae97
mov dword [esp + 0x40], 0x41fc9a57
mov dword [esp + 0x1c], 0xffffffff
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001e69f
push 0x6e71
push ebx
push 0x9f5
call fcn.1002128f
add esp, 0xc
mov dword [esp + 0x2c], ebx
jmp 0x1001e708
mov dword [esp + 0x10], 0xf5cd53bc
mov dword [esp + 0x10], ebx
jmp 0x1001e6c2
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001e6b3
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], ebx
jl 0x1001e6ec
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd4], 0x328f6c74
dec dword [esp + 0x10]
jns 0x1001e6d7
push 0x3edf
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.10021cd3
add esp, 0x10
dec dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xfffffffe
jg 0x1001e6a5
jmp 0x1001df6c
xor eax, eax
inc eax
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret