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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10087a56
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc], 0x68ec0ae9
push esi
mov dword [esp + 0x24], 0x6848
push edi
mov dword [esp + 0x34], 0xfffffff7
mov dword [esp + 0x24], 8
push 0
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x58], edx
mov dword [esp + 0x18], 0xfffffff7
pop ebx
jmp 0x1006cd96
mov dword [esp + 0x20], 0xad386cce
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1006cd1e
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [esp + 0x20], ebx
jmp 0x1006cd8b
mov dword [esp + 0x18], 0x4ce3
cmp dword [esp + 0x18], 0x4e46
jle 0x1006cd68
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1008bbb8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1001fc14
inc edi
cmp edi, 0x165
jl 0x1006cd3a
inc esi
cmp esi, 0x38c2
jl 0x1006cd38
push ebx
push ebx
call dword [sym.imp.USER32.dll_ValidateRect]
cmp dword [esp + 0x14], ebx
jne 0x1006cd92
cmp dword [esp + 0x18], 0x490d
jge 0x1006cd87
mov edx, 0x1000f8d8
mov ecx, 0x1008bbb8
call fcn.100228da
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff5
jle 0x1006cd24
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffffe
je 0x1006cd04
push 1
mov dword [esp + 0x18], 0xe
pop edi
jmp 0x1006cfc8
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x18], 0x1999
cmp dword [esp + 0x18], 0x1bbd
jle 0x1006ce04
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1008bbb8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1001fc14
inc edi
cmp edi, 0x6006
jl 0x1006cddb
inc esi
cmp esi, 0x4ff9
jl 0x1006cdd9
xor edi, edi
inc edi
mov dword [esp + 0x30], 0xc7a88ff7
cmp dword [esp + 0x18], 0x17cd
jge 0x1006ce25
mov edx, 0x1000f8f8
mov ecx, 0x1008bbb8
call fcn.100228da
mov dword [esp + 0x38], 0x13222c7e
mov dword [esp + 0x20], ebx
jmp 0x1006cfb9
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x9c]
push 2
call fcn.1001ff2e
mov dword [esp + 0x134], ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x18], 0xfffffff8
push edi
call fcn.1001ff2e
mov dword [esp + 0x10], 3
mov dword [esp + 0x10], ebx
jmp 0x1006ce84
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1006ce72
mov dword [esp + 0x10], ebx
jmp 0x1006cea3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1006ce91
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x20], ebx
je 0x1006cecb
mov eax, edi
cmp dword [esp + 0x24], ebx
jne 0x1006cecd
mov eax, ebx
cmp eax, dword [esp + 0x30]
jne 0x1006cee0
mov eax, dword [esp + 0x9c]
mov edx, ebx
cmp dword [eax], ebx
je 0x1006cee2
mov edx, edi
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x2c]
setge cl
xor edx, edx
cmp ecx, 0x534f
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
neg ecx
cmp ecx, edi
jge 0x1006cf0d
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
sub edx, eax
mov eax, dword [esp + 0x9c]
neg edx
sbb edx, edx
inc edx
sub edx, dword [eax]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc0]
cmp ecx, dword [eax]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
setl dl
add ecx, 0x546d5e23
add ecx, edx
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [esp + 0xc0]
mov eax, dword [esp + 0x14]
setne dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x10], eax
call fcn.1001ffb0
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0x9c]
call fcn.1001ffb0
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x1a
jle 0x1006ce36
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x15
jl 0x1006cdb1
mov dword [esp + 0x10], 0xe76f5020
mov dword [esp + 0x24], 0x40ee1d45
mov dword [esp + 0x34], 0x4333
mov dword [esp + 0x24], 0xfffffff6
mov dword [esp + 0x38], 0xc3da550
mov dword [esp + 0x18], ebx
jmp 0x1006d011
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x3c], 0xc85f
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1006d001
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x1006d0ff
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], ecx
mov dword [esp + 0x14], ebx
jmp 0x1006d0eb
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jl 0x1006d06e
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1006d068
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
dec dword [esp + 0x18]
jns 0x1006d054
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + eax*4 + 0x3c]
test eax, eax
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x3c]
cmp eax, 0x8b78
mov eax, dword [esp + 0x34]
sete dl
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setl cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add edx, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x1006d042
dec dword [esp + 0x10]
jns 0x1006d025
mov eax, dword [0x1008cc80]
test al, 1
jne 0x1006d19b
or eax, edi
mov dword [0x1008cc80], eax
push ebx
mov dword [esp + 0x138], edi
push ebx
mov dword [0x10633e00], ebx
mov dword [0x10633e04], ebx
call fcn.100227cc
mov dword [0x10633e00], eax
mov dword [0x10633e08], ebx
mov dword [0x10633e10], ebx
mov byte [esp + 0x134], 3
mov ecx, 0x10633e08
mov dword [esp + 0x74], eax
lea eax, [esp + 0x74]
push eax
push 0x10
push ebx
lea eax, [esp + 0x94]
mov dword [0x10633e1c], 0x3f800000
push eax
mov dword [0x10633e0c], ebx
call fcn.100225a4
push 0x10087ca3
mov dword [0x10633e14], 7
mov dword [0x10633e18], 8
call fcn.100714c9
or dword [esp + 0x138], 0xffffffff
pop ecx
push edi
lea ecx, [esp + 0x7c]
call fcn.1001ff2e
push 4
pop esi
mov dword [esp + 0x134], esi
lea ecx, [esp + 0xa8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], 3
push 2
call fcn.1001ff2e
mov dword [esp + 0x10], ebx
jmp 0x1006d1e2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov dword [eax + ecx*4], 0xb910
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1006d1cf
mov dword [esp + 0x10], ebx
jmp 0x1006d200
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa8]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1006d1ee
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jg 0x1006d2bf
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], 0x3ccde6bc
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + ecx*4]
sub ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov ecx, dword [esp + 0x78]
setge dl
xor eax, eax
cmp dword [ecx], edx
setl al
mov dword [esp + 0x34], eax
xor eax, eax
mov edx, dword [esp + 0x34]
cmp edx, dword [ecx + esi*4]
setne al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0xa8]
mov dword [eax], edi
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x1006d2ae
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
cmp dword [eax + ecx*4 + 4], ebx
jne 0x1006d2ae
dec dword [esp + 0x14]
jns 0x1006d297
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1006d215
push 4
pop esi
lea ecx, [esp + 0xa8]
call fcn.1001ffb0
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0x78]
call fcn.1001ffb0
imul eax, dword [esp + 0x40], 0x2710
lea ecx, [esp + 0x44]
push dword [esp + 0x88]
movdqa xmm0, xmmword [0x1000fb70]
movdqu xmmword [esp + 0xd4], xmm0
mov dword [esp + 0x48], ebx
add eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x18], 0xdf75dcec
push eax
mov dword [esp + 0x2c], 0xf1571c09
mov dword [esp + 0x44], 0xe8a7
push ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.10022f98
mov dword [esp + 0x134], 5
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x34], 0x64ea
mov dword [esp + 0x10], ebx
jmp 0x1006d376
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xf0], 0x421dd2eb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1006d363
mov dword [esp + 0x10], ebx
jmp 0x1006d392
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], 0x2a2d6201
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1006d382
mov dword [esp + 0x10], 0xf
jmp 0x1006d56f
push edi
lea ecx, [esp + 0x60]
call fcn.1001ff2e
mov byte [esp + 0x134], 6
lea ecx, [esp + 0x68]
mov dword [esp + 0x2c], 0xfffffffb
mov dword [esp + 0x18], 0x12e75507
mov dword [esp + 0x24], 0x6e86ff18
push esi
call fcn.1001ff2e
mov byte [esp + 0x134], 7
mov dword [esp + 0x30], 0x689bb5c
mov dword [esp + 0x14], 0xc0e03a84
mov dword [esp + 0x14], ebx
jmp 0x1006d40a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0xe7bff44c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x1006d3f7
mov dword [esp + 0x14], ebx
jmp 0x1006d429
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov dword [eax + ecx*4], 0xcae7bf19
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1006d416
mov dword [esp + 0x14], ebx
jmp 0x1006d448
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xe0], 0x1ba1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1006d435
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
test eax, eax
jne 0x1006d48b
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xfc], edi
cmp dword [eax + 4], ebx
mov eax, dword [esp + 0x68]
setg cl
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xe8]
imul eax, dword [esp + 0x30], 0x23f8
cmp eax, dword [esp + 0x10]
jl 0x1006d4a1
mov esi, edi
cmp dword [esp + 0x2c], ebx
jne 0x1006d4a3
mov esi, ebx
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x10]
add edx, edx
cmp eax, edx
setle cl
imul ecx, esi
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
cmp edi, eax
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x38]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
mov eax, dword [esp + 0xe4]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, 0x82240a4
je 0x1006d542
cmp dword [esp + 0x24], ebx
je 0x1006d542
push edi
lea ecx, [esp + 0xb8]
call fcn.1001ff2e
mov dword [esp + 0x18], ebx
jmp 0x1006d525
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], 0x97eee40b
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1006d50f
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0xb4]
inc dword [eax]
call fcn.1001ffb0
jmp 0x1006d54e
mov dword [esp + 0x24], 0xeb859678
cmp dword [esp + 0x58], ebx
lea ecx, [esp + 0x68]
call fcn.1001ffb0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x134], 5
call fcn.1001ffb0
dec dword [esp + 0x10]
push 4
pop esi
cmp dword [esp + 0x10], 0xffffffe9
jle 0x1006d3a5
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.1001ffb0
lea eax, [esp + 0x50]
push eax
call fcn.1006d807
push 8
pop edi
mov esi, dword [eax]
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], 0x386f
cmp dword [esp + 0x2c], 0x39a4
mov dword [esp + 0x38], esi
jle 0x1006d63d
mov dword [esp + 0x30], ebx
mov ecx, ebx
mov dword [esp + 0x24], 0x769e
mov dword [esp + 0x28], ecx
mov edi, ebx
mov esi, ebx
mov eax, esi
and eax, edi
xor eax, ecx
lea ecx, [esp + 0x100]
cdq
push edx
push eax
call fcn.10010ffe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1006d5ed
mov eax, dword [eax]
push eax
call fcn.100714f3
pop ecx
push ebx
push 1
lea ecx, [esp + 0x108]
call fcn.1002065a
mov ecx, dword [esp + 0x28]
inc esi
cmp esi, 0x57a
jl 0x1006d5ce
inc edi
cmp edi, 0x3a45
jl 0x1006d5cc
mov esi, dword [esp + 0x30]
add ecx, esi
dec dword [esp + 0x24]
mov dword [esp + 0x28], ecx
jne 0x1006d5ca
inc esi
mov dword [esp + 0x30], esi
cmp esi, 0x1e07
jl 0x1006d5bc
mov esi, dword [esp + 0x38]
push 8
pop edi
mov dword [esp + 0x20], 0xfffffff1
jmp 0x1006d662
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1006d65a
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov eax, dword [esp + 0x20]
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffe7
jle 0x1006d647
cmp dword [esp + 0x2c], 0x356d
jge 0x1006d67e
push 0x1000f948
call fcn.100714f3
pop ecx
test esi, esi
je 0x1006d68b
mov dword [esp + 0x44], esi
jmp 0x1006d7e6
mov eax, dword [0x1008cc80]
test al, 2
jne 0x1006d72a
or eax, 2
mov dword [0x1008cc80], eax
push ebx
mov dword [esp + 0x138], edi
push ebx
mov dword [0x10633de0], ebx
mov dword [0x10633de4], ebx
call fcn.100227cc
mov dword [0x10633de0], eax
mov dword [0x10633de8], ebx
mov dword [0x10633df0], ebx
mov byte [esp + 0x134], 0xa
mov ecx, 0x10633de8
mov dword [esp + 0x84], eax
lea eax, [esp + 0x84]
push eax
push 0x10
push ebx
lea eax, [esp + 0xd8]
mov dword [0x10633dfc], 0x3f800000
push eax
mov dword [0x10633dec], ebx
call fcn.100225a4
push 0x10087c9e
mov dword [0x10633df4], 7
mov dword [0x10633df8], edi
call fcn.100714c9
or dword [esp + 0x138], 0xffffffff
pop ecx
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0x90], xmm0
call fcn.1006d869
mov ebx, dword [eax]
mov al, byte [ebp + 0xc]
test al, al
jne 0x1006d74d
test ebx, ebx
jne 0x1006d7b9
lea ecx, [esp + 0x118]
mov dl, al
push ecx
mov ecx, dword [esp + 0x44]
call fcn.1006b7b6
cmp byte [ebp + 0xc], 0
lea edi, [esp + 0x90]
mov esi, eax
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x1006d78e
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1006d78e
mov eax, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
test ebx, ebx
jne 0x1006d7b9
cmp dword [esp + 0x8c], ebx
jle 0x1006d7b9
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x1006d7b9
call fcn.1006c94f
mov ebx, eax
lea eax, [esp + 0x40]
push eax
call fcn.1006d869
mov dword [eax], ebx
lea ecx, [esp + 0x8c]
call fcn.1006c8fd
test ebx, ebx
je 0x1006d7e6
mov edx, dword [esp + 0x54]
mov ecx, ebx
call fcn.1006cb00
mov esi, eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x48], esi
call fcn.1006d807
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [esp + 0x44]
mov ecx, dword [esp + 0x12c]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret