Function at 0x100302b6
Capabilities:
Clear file content
Create pipe
Create two anonymous pipes
Delete file
Get file attributes
Get memory capacity
Get thread local storage value
Parse pe header
Query or enumerate registry value

Disassembly:
mov eax, 0x10085d61
call fcn.100845f0
mov eax, 0x14d4
call fcn.1006d370
push ebx
push esi
push edi
push 2
pop edi
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x2c8]
push edi
mov byte [ebp - 0x71], dl
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], eax
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x1003030a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1260], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100302f2
xor eax, eax
mov dword [ebp - 0x14], eax
mov ebx, 0xf43b7c7c
cmp dword [ebp - 0x14], edi
jge 0x10030331
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c8]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030317
xor eax, eax
push eax
lea ecx, [ebp - 0x2c8]
call fcn.10018ea2
and dword [eax], 0
jmp 0x10030367
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x2c8]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1260], 0x8e97
xor eax, eax
push eax
call fcn.10018ea2
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x2c8]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x2c8]
cmp dword [eax], esi
jl 0x10030342
xor eax, eax
push eax
call fcn.10018ea2
mov esi, eax
lea ecx, [ebp - 0x2c8]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [esi]
mov dword [eax], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 4], eax
call fcn.10018e86
push edi
lea ecx, [ebp - 0x2e0]
call fcn.10018e04
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 4], edi
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x100303e3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1218], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100303cb
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10030407
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2e0]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100303ec
xor eax, eax
push eax
lea ecx, [ebp - 0x2e0]
call fcn.10018ea2
and dword [eax], 0
jmp 0x1003043d
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x2e0]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1218], 0x8e97
xor eax, eax
push eax
call fcn.10018ea2
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x2e0]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x2e0]
cmp dword [eax], esi
jl 0x10030418
xor eax, eax
push eax
call fcn.10018ea2
mov esi, eax
lea ecx, [ebp - 0x2e0]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [esi]
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
mov dword [eax], ecx
lea ecx, [ebp - 0x2e0]
call fcn.10018e86
movdqa xmm0, xmmword [0x10008250]
lea ecx, [ebp - 0x138c]
xor eax, eax
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xf6c]
push eax
lea eax, [ebp - 0xf7c]
mov dword [ebp - 0x1c], 0xfffffffa
push eax
movdqu xmmword [ebp - 0xf7c], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x1ab]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x964]
push dword [esi]
call fcn.10018e60
push 2
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], 0xffff
mov dword [ebp - 0x4c], ebx
push 3
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0x7c44d996
mov eax, dword [ebp - 0x38]
neg eax
push esi
sbb eax, eax
xor ebx, ebx
neg eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add ecx, 7
cmp ecx, eax
lea ecx, [ebp - 0x964]
setl bl
call fcn.10018ea2
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x38]
cmp ebx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
inc edx
lea ecx, [ebp - 0x964]
mov dword [ebp - 0x1c], edx
push edi
call fcn.10018ea2
lea ecx, [ebp - 0x964]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10018e86
push esi
lea ecx, [ebp - 0x298]
call fcn.10018e04
push 3
pop ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100305b3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1248], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003059b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100305d9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x298]
call fcn.10018ea2
mov dword [eax], 0xf43b7c7c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100305bb
xor eax, eax
push eax
lea ecx, [ebp - 0x298]
call fcn.10018ea2
and dword [eax], 0
jmp 0x1003060f
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x298]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1248], 0x8e97
xor eax, eax
push eax
call fcn.10018ea2
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x298]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x298]
cmp dword [eax], ebx
jl 0x100305ea
xor eax, eax
push eax
call fcn.10018ea2
mov esi, eax
lea ecx, [ebp - 0x298]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [esi]
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov dword [eax], ecx
lea ecx, [ebp - 0x298]
call fcn.10018e86
push ebx
lea ecx, [ebp - 0x4b0]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003068f
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4b0]
call fcn.10018ea2
mov dword [eax], 0x7ddc85f7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030671
xor eax, eax
push eax
lea ecx, [ebp - 0x4b0]
call fcn.10018ea2
lea ecx, [ebp - 0x4b0]
and dword [eax], 0
xor eax, eax
push eax
call fcn.10018ea2
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
jmp 0x100306e5
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100306c9
push eax
push 0x19dc
push eax
call edi
xor eax, eax
push eax
lea ecx, [ebp - 0x4b0]
call fcn.10018ea2
lea ecx, [ebp - 0x4b0]
dec dword [eax]
xor eax, eax
push eax
call fcn.10018ea2
cmp dword [eax], 0xfffffff4
jg 0x100306b4
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 4], esi
call fcn.10018e86
movdqa xmm0, xmmword [0x10008250]
lea ecx, [ebp - 0x127c]
xor eax, eax
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xf9c]
push eax
lea eax, [ebp - 0xfac]
mov dword [ebp - 0x1c], 0xfffffffa
push eax
movdqu xmmword [ebp - 0xfac], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x1ad]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x958]
push dword [esi]
call fcn.10018e60
mov dword [ebp - 4], 5
mov eax, 0xffff
mov dword [ebp - 0x50], eax
or eax, 0xffffffff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0x7c44d996
mov eax, dword [ebp - 0x38]
neg eax
push 2
sbb eax, eax
xor ebx, ebx
neg eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add ecx, 7
cmp ecx, eax
lea ecx, [ebp - 0x958]
pop esi
push esi
setl bl
call fcn.10018ea2
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x38]
cmp ebx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp eax, ecx
lea ecx, [ebp - 0x958]
setne dl
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor eax, eax
inc eax
inc edx
mov dword [ebp - 0x1c], edx
push eax
call fcn.10018ea2
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x958]
call fcn.10018e86
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x1dc]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003083e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1dc]
call fcn.10018ea2
mov dword [eax], 0xfdf99ff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030820
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10030941
xor edi, edi
inc edi
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003086a
call ebx
push eax
call dword [sym.imp.USER32.dll_HideCaret]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], esi
jg 0x10030932
mov dword [ebp - 0x1c], 0x60915bb0
lea ecx, [ebp - 0x1dc]
push dword [ebp - 0x34]
call fcn.10018ea2
xor ebx, ebx
cmp dword [eax], ebx
jne 0x1003092a
push esi
lea ecx, [ebp - 0x1dc]
call fcn.10018ea2
cmp dword [eax], ebx
jne 0x100308c9
push esi
lea ecx, [ebp - 0x1dc]
call fcn.10018ea2
cmp dword [eax], ebx
jne 0x100308c6
push dword [ebp - 0x34]
lea ecx, [ebp - 0x1dc]
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
xor eax, eax
lea ecx, [ebp - 0x1dc]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x1dc]
push dword [ebp - 0x34]
call fcn.10018ea2
push edi
lea ecx, [ebp - 0x1dc]
mov esi, eax
call fcn.10018ea2
mov ecx, dword [esi]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1dc]
setl bl
call fcn.10018ea2
xor ecx, ecx
push 2
pop esi
cmp ebx, dword [eax]
setl cl
sub ecx, 0x1a1c0
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x10030876
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x10030853
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
or esi, 0xffffffff
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], esi
call fcn.10018e86
mov dword [ebp - 0x40], esi
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030974
push eax
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100309a0
push eax
push 0x17fc
push eax
push eax
push 0x23dc
push 0x763
push 0x130
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push 2
pop esi
push esi
lea ecx, [ebp - 0x274]
call fcn.10018e04
push esi
lea ecx, [ebp - 0x3f0]
mov dword [ebp - 4], 7
call fcn.10018e04
push 8
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x40], 0xfffffff9
mov dword [ebp - 0x40], 0x60f2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030a05
push dword [ebp - 0x14]
lea ecx, [ebp - 0x3f0]
call fcn.10018ea2
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100309e7
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10030a28
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1474], 0xfe35fe57
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030a10
xor eax, eax
xor esi, esi
inc esi
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10030ae4
push esi
lea ecx, [ebp - 0xec4]
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x10], eax
jmp 0x10030a62
push dword [ebp - 0x10]
lea ecx, [ebp - 0xec4]
call fcn.10018ea2
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10030a4e
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3f0]
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0x3f0]
push eax
call fcn.10018ea2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3f0]
call fcn.10018ea2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3f0]
call fcn.10018ea2
xor eax, eax
mov dword [ebp - 0x10], 0xe0bec035
mov dword [ebp - 0x10], eax
jmp 0x10030ac4
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3f0]
call fcn.10018ea2
mov dword [eax], 0x93826a05
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030aad
push 8
pop eax
lea ecx, [ebp - 0xec4]
mov byte [ebp - 4], al
call fcn.10018e86
dec dword [ebp - 0x30]
jns 0x10030a37
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 7
call fcn.10018e86
xor eax, eax
mov dword [ebp - 0x24], 0xc184c506
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0xb80]
push esi
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030b2d
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030b1c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030b53
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb80]
call fcn.10018ea2
mov dword [eax], 0x7c650ba4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030b35
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x10030bfd
jmp 0x10030b63
xor eax, eax
mov dword [ebp - 0x1c], eax
xor edx, edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x70]
mov dword [ebp - 0x1c], 0x9668
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
sub edx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x24]
sub edx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp + eax*4 - 0x70]
jl 0x10030bcb
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0xb80]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x70]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x10030b61
lea ecx, [ebp - 0xb80]
mov byte [ebp - 4], 7
call fcn.10018e86
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10030c27
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1230], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030c16
movdqa xmm0, xmmword [0x100082a0]
lea eax, [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10cc]
push eax
lea ecx, [ebp - 0x1294]
movdqu xmmword [ebp - 0x10cc], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x1af]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x708]
push dword [esi]
call fcn.10018e60
mov byte [ebp - 4], 0xb
xor esi, esi
mov dword [ebp - 0x40], 0xba22e974
inc esi
mov dword [ebp - 0x40], 0x952f3411
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x50], 0xbc42
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030cb6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3b0], 0xac204e2d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030c9d
xor eax, eax
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 0xb
jle 0x10030d8f
push 3
pop edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x30], eax
jmp 0x10030d64
mov dword [ebp - 0x14], 0x3a0b8ee4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10030d05
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe7c], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10030ced
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x10030d4a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x708]
call fcn.10018ea2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x708]
mov esi, eax
call fcn.10018ea2
mov ecx, dword [esi]
push dword [ebp - 0x30]
mov dword [eax], ecx
lea ecx, [ebp - 0x708]
call fcn.10018ea2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10030d0d
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x10030d61
mov dword [ebp - 0x1c], 0x9986e3e4
inc dword [ebp - 0x1c]
dec dword [ebp - 0x14]
jns 0x10030d52
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x10030cde
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x3b0]
cmp dword [ebp - 0x3b0], 0xb
push 0
pop eax
jg 0x10030ccc
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030da1
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x708]
mov byte [ebp - 4], 7
call fcn.10018e86
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030dce
push dword [ebp - 0x14]
lea ecx, [ebp - 0x274]
call fcn.10018ea2
mov dword [eax], 0xf43b7c7c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10030db7
mov dword [ebp - 0x10], 0xabbf9acf
lea ecx, [ebp - 0xd58]
push 3
mov dword [ebp - 0x30], 2
pop eax
mov dword [ebp - 0x20], 0x74734688
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x1c], 6
push eax
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030e28
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030e14
xor eax, eax
mov dword [ebp - 0x14], eax
push 3
pop eax
cmp dword [ebp - 0x14], eax
jge 0x10030e54
push eax
pop esi
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd58]
call fcn.10018ea2
mov dword [eax], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030e35
xor esi, esi
inc esi
mov eax, dword [ebp - 0x124]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffb
setge cl
cmp ecx, 0x843046b6
jne 0x10030e79
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x124]
xor edx, edx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setle dl
xor eax, eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
je 0x10030eb4
mov dword [ebp - 0x10], 0xd890fc52
jmp 0x10030f73
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030ed8
push 0x17f9
push 0x2090
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10030f6a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10030f67
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030f3a
push 0xed
push 0x114
push 0x202
push 0xdda
push 0x139
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x16a2
push 0x1f21
push 0x1e2c
push 0x21c8
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10030f5d
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030f5a
push eax
push eax
push 0x41a
call ebx
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10030f3f
dec dword [ebp - 0x10]
jns 0x10030ee8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x10030ee0
lea ecx, [ebp - 0xd58]
mov byte [ebp - 4], 7
call fcn.10018e86
xor eax, eax
lea ecx, [ebp - 0x274]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x274]
and dword [eax], 0
xor eax, eax
push eax
call fcn.10018ea2
push 3
pop ebx
mov ecx, 0xb4e1a362
cmp dword [eax], ebx
jge 0x100310ea
or edi, 0xffffffff
mov dword [ebp - 0x120], ecx
xor eax, eax
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0xedc]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x40], 0xebb0cb8c
mov dword [ebp - 0x40], 0x31551da6
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0xca3c0bf9
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0xadb2bc40
push ebx
call fcn.10018e04
mov byte [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x40], 0x5db0
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x1c], 0xfffb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1003104b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x148c], 0xd0d658ed
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031033
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10031071
push dword [ebp - 0x24]
lea ecx, [ebp - 0xedc]
call fcn.10018ea2
mov dword [eax], 7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031053
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10031087
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x14a4], 0xfffffff6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031076
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0xedc]
mov byte [ebp - 4], 7
call fcn.10018e86
xor eax, eax
lea ecx, [ebp - 0x274]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x274]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1230], 0x8e97
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x274]
inc dword [eax]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, 0xb4e1a362
cmp dword [eax], ebx
jl 0x10030fb4
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10031114
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe0], 0xf0ea
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100310fb
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1003115a
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xe0]
mov dword [ebp - 0x28], 0x2a83
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xe0], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
jle 0x10031119
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
je 0x10031263
xor eax, eax
lea ecx, [ebp - 0x970]
mov dword [ebp - 0x10], eax
push esi
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x100311b5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13cc], 0xf7a0d7c8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003119c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100311db
push dword [ebp - 0x14]
lea ecx, [ebp - 0x970]
call fcn.10018ea2
mov dword [eax], 0x73c12d49
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100311bd
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x100311e3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xe0]
sub ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xdc]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x13c0], ecx
lea ecx, [ebp - 0x970]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10031252
push eax
push 0xdcd
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 7
call fcn.10018e86
jmp 0x100312d0
xor eax, eax
mov dword [ebp - 0x10], 0x3763964e
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jg 0x100312d2
or ebx, 0xffffffff
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
setne cl
cmp edx, ecx
jg 0x100312a2
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xe0]
xor edx, edx
mov eax, dword [ebp - 0xdc]
cmp eax, ecx
mov eax, dword [ebp - 0xdc]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10031277
xor eax, eax
push eax
lea ecx, [ebp - 0x274]
call fcn.10018ea2
mov esi, eax
lea ecx, [ebp - 0x274]
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [esi]
mov dword [eax], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x274]
mov dword [ebp - 4], eax
call fcn.10018e86
xor ebx, ebx
lea ecx, [ebp - 0xb8]
inc ebx
push ebx
call fcn.10018e04
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x10], 0xc668
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x1c], 0x9b037144
mov dword [ebp - 0x2c], 0x99369e1d
mov dword [ebp - 0x20], 0xd476fc58
mov dword [ebp - 0x1c], 0xc89aed29
mov dword [ebp - 0x38], 0x78a82fb3
mov dword [ebp - 0x1c], 0xfb5d6221
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10031375
push dword [ebp - 0x24]
lea ecx, [ebp - 0xb8]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1003135b
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x10031397
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd78], 6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1003137e
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100313b7
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1bc], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1003139f
xor eax, eax
push eax
lea ecx, [ebp - 0xb8]
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xb8]
mov eax, dword [eax]
mov dword [ebp - 0xd6c], eax
xor eax, eax
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0xd78]
lea ecx, [ebp - 0xb8]
xor eax, eax
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xb8]
xor eax, eax
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xb8]
xor eax, eax
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x1bc]
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp - 0xd6c]
mov eax, dword [ebp - 0x1bc]
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, 0x4199
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setle cl
xor eax, eax
imul esi, ecx, 6
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
add ecx, esi
imul eax, ecx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x2c], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, dword [eax]
setle dl
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, 0x374484a8
setle cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
imul eax, dword [ebp - 0x1c], 0x2012
cmp eax, 0x1f91351d
setl cl
cmp ecx, dword [ebp - 0x38]
jne 0x100314fd
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xb8]
push eax
call fcn.10018ea2
xor ebx, ebx
lea ecx, [ebp - 0xb8]
cmp dword [eax], ebx
setle bl
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xb8]
sub ebx, dword [eax]
xor eax, eax
push eax
mov dword [ebp - 0x1c], ebx
call fcn.10018ea2
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xb8]
setge bl
xor eax, eax
push eax
call fcn.10018ea2
xor ecx, ecx
cmp ebx, dword [eax]
setne cl
imul eax, ecx, 0xa246
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x38]
xor edx, edx
push 3
pop ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xad8]
push ebx
setg dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
or eax, 0xffffffff
mov dword [ebp - 0x10], eax
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x100315d9
push dword [ebp - 0x30]
lea ecx, [ebp - 0xad8]
call fcn.10018ea2
mov dword [eax], 0x373d2ef8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x100315bb
xor eax, eax
push eax
lea ecx, [ebp - 0xb8]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x100315ed
mov eax, dword [ebp - 0x10]
xor ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp - 0x10], eax
je 0x100315fe
mov eax, ecx
cmp dword [ebp - 0x10], eax
jg 0x10031609
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1003160b
mov esi, eax
jmp 0x1003160d
xor eax, eax
mov esi, ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.10018ea2
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xb8]
setle dl
xor ebx, ebx
imul edx, dword [ebp - 0x20]
cmp edx, dword [eax]
setle bl
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp ebx, ecx
mov esi, eax
mov ecx, dword [ebp - 0x44]
setle dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x20]
setle bl
imul ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ebx
lea ecx, [ebp - 0xad8]
setne al
xor ebx, ebx
cmp eax, dword [esi]
setl bl
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xad8]
mov dword [eax], ebx
call fcn.10018e86
or esi, 0xffffffff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], esi
call fcn.10018e86
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x4a4]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100316d1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4a4]
call fcn.10018ea2
mov dword [eax], 0x7ddc85f7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100316b3
xor eax, eax
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10018ea2
and dword [eax], 0
jmp 0x10031705
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100316f7
push eax
push 0x19dc
push eax
call edi
xor eax, eax
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10018ea2
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x4a4]
push eax
call fcn.10018ea2
cmp dword [eax], 0xfffffff4
jg 0x100316e2
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 4], esi
call fcn.10018e86
movdqa xmm0, xmmword [0x10008250]
lea ecx, [ebp - 0x1274]
xor eax, eax
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xfbc]
push eax
lea eax, [ebp - 0xfcc]
mov dword [ebp - 0x1c], 0xfffffffa
push eax
movdqu xmmword [ebp - 0xfcc], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x1b1]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x988]
push dword [esi]
call fcn.10018e60
mov dword [ebp - 4], 0x12
mov eax, 0xffff
mov dword [ebp - 0x50], eax
or eax, 0xffffffff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0x7c44d996
mov eax, dword [ebp - 0x38]
neg eax
push 2
sbb eax, eax
xor ebx, ebx
neg eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add ecx, 7
cmp ecx, eax
lea ecx, [ebp - 0x988]
pop esi
push esi
setl bl
call fcn.10018ea2
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x38]
cmp ebx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp eax, ecx
lea ecx, [ebp - 0x988]
setne dl
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
inc ebx
mov dword [ebp - 0x1c], edx
push ebx
call fcn.10018ea2
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x988]
call fcn.10018e86
xor eax, eax
mov dword [ebp - 0x34], 0x7df2f4a8
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x38c]
push esi
call fcn.10018e04
mov dword [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x30], 0x9cee
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10031876
push dword [ebp - 0x10]
lea ecx, [ebp - 0x38c]
call fcn.10018ea2
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003185b
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003188c
push eax
push 0x17ef
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x38c]
mov esi, dword [ebp - 0x34]
dec esi
neg esi
push ebx
sbb esi, esi
inc esi
call fcn.10018ea2
mov dword [eax], esi
cmp esi, dword [ebp - 0x34]
jle 0x100318c0
push ebx
lea ecx, [ebp - 0x38c]
call fcn.10018ea2
cmp dword [eax], 0
je 0x100318c0
mov ecx, ebx
jmp 0x100318c4
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, 0xfff9
cmp eax, ecx
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax, 0x4856
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x30]
je 0x1003191a
mov dword [ebp - 0x40], 0x374fd522
mov dword [ebp - 0x40], 0xb0881d
mov dword [ebp - 0x1c], 0xb51f
inc dword [ebp - 0x1c]
push 2
pop esi
jmp 0x1003199f
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1003197a
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jg 0x10031977
push dword [ebp - 0x28]
lea ecx, [ebp - 0x38c]
call fcn.10018ea2
push dword [ebp - 0x28]
lea ecx, [ebp - 0x38c]
mov esi, eax
call fcn.10018ea2
mov ecx, dword [esi]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10031968
push dword [ebp - 0x34]
lea ecx, [ebp - 0x38c]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x1003196d
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x10031952
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jle 0x10031929
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10031921
push 2
mov dword [ebp - 0x28], eax
pop esi
jmp 0x1003199a
push dword [ebp - 0x28]
lea ecx, [ebp - 0x38c]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10031987
or eax, 0xffffffff
lea ecx, [ebp - 0x38c]
mov dword [ebp - 4], eax
call fcn.10018e86
push 3
pop eax
push eax
lea ecx, [ebp - 0x224]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x10], eax
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100319f9
push ecx
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x224]
call fcn.10018ea2
mov dword [eax], 0xfdf99ff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100319d8
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10031af7
xor edi, edi
inc edi
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10031a23
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_HideCaret]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], esi
jg 0x10031ae5
mov dword [ebp - 0x1c], 0x60915bb0
lea ecx, [ebp - 0x224]
push dword [ebp - 0x34]
call fcn.10018ea2
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10031ae3
push esi
lea ecx, [ebp - 0x224]
call fcn.10018ea2
cmp dword [eax], ebx
jne 0x10031a82
push esi
lea ecx, [ebp - 0x224]
call fcn.10018ea2
cmp dword [eax], ebx
jne 0x10031a7f
push dword [ebp - 0x34]
lea ecx, [ebp - 0x224]
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
xor eax, eax
lea ecx, [ebp - 0x224]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x224]
push dword [ebp - 0x34]
call fcn.10018ea2
push edi
lea ecx, [ebp - 0x224]
mov esi, eax
call fcn.10018ea2
mov ecx, dword [esi]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x224]
setl bl
call fcn.10018ea2
xor ecx, ecx
push 2
pop esi
cmp ebx, dword [eax]
setl cl
sub ecx, 0x1a1c0
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x10031a2f
xor eax, eax
dec dword [ebp - 0x10]
jns 0x10031a08
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x224]
mov dword [ebp - 4], eax
call fcn.10018e86
mov dword [ebp - 0x30], 0xd4e06482
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x38], 0xf086
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031b3f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x260], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031b27
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031b5f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xca0], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031b47
xor eax, eax
mov dword [ebp - 0x30], 0xffffffe7
cmp dword [ebp - 0x30], 0x1d
je 0x10031c38
push 3
pop edi
mov dword [ebp - 0x2c], 0xd925b0e4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 8
je 0x10031c25
push 8
pop eax
mov dword [ebp - 0x20], 0x887cf2e5
mov dword [ebp - 0x1c], 0x3d37a5b7
mov dword [ebp - 0x20], 0xffffffec
cmp dword [ebp - 0x20], 0xfffffff2
jg 0x10031c17
push edi
lea ecx, [ebp - 0xbe0]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10031be9
push 3
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0xbe0]
call fcn.10018ea2
mov dword [eax], 0xfffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031bc5
xor ebx, ebx
xor eax, eax
push 3
inc ebx
pop edi
push eax
lea ecx, [ebp - 0xbe0]
call fcn.10018ea2
lea ecx, [ebp - 0xbe0]
mov dword [eax], ebx
or eax, 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
call fcn.10018e86
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff2
jle 0x10031ba5
push 8
pop eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jne 0x10031b8a
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1d
jne 0x10031b73
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10031c5e
mov eax, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x25c]
jge 0x10031c68
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x25c], eax
je 0x10031c6a
mov ecx, ebx
mov eax, dword [ebp - 0x260]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
push ebx
setge dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x44]
setle cl
sub edx, ecx
lea ecx, [ebp - 0xd68]
neg edx
sbb edx, edx
inc edx
sub eax, edx
mov dword [ebp - 0xca0], eax
dec dword [ebp - 0x44]
call fcn.10018e04
mov dword [ebp - 4], 0x16
xor eax, eax
mov dword [ebp - 0x10], 0x81c2900
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031cde
push dword [ebp - 0x10]
lea ecx, [ebp - 0xd68]
call fcn.10018ea2
mov dword [eax], 0x1713b910
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031cc0
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10031cf8
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10031cf5
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10031ce3
or eax, 0xffffffff
lea ecx, [ebp - 0xd68]
mov dword [ebp - 4], eax
call fcn.10018e86
push ebx
lea ecx, [ebp - 0xd0]
call fcn.10018e04
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x10], 0xc668
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], 0x9b037144
mov dword [ebp - 0x2c], 0x99369e1d
mov dword [ebp - 0x20], 0xd476fc58
mov dword [ebp - 0x1c], 0xc89aed29
mov dword [ebp - 0x38], 0x78a82fb3
mov dword [ebp - 0x1c], 0xfb5d6221
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10031d79
push dword [ebp - 0x24]
lea ecx, [ebp - 0xd0]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031d5f
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x10031d9b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd94], 6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10031d82
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10031dbb
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x19c], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031da3
xor eax, eax
push eax
lea ecx, [ebp - 0xd0]
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xd0]
mov eax, dword [eax]
mov dword [ebp - 0xd88], eax
xor eax, eax
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0xd94]
lea ecx, [ebp - 0xd0]
xor eax, eax
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xd0]
xor eax, eax
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xd0]
xor eax, eax
push eax
call fcn.10018ea2
mov eax, dword [ebp - 0x19c]
lea ecx, [ebp - 0xd0]
mov eax, dword [ebp - 0xd88]
mov eax, dword [ebp - 0x19c]
xor eax, eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, 0x4199
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setle cl
xor eax, eax
imul esi, ecx, 6
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
add ecx, esi
imul eax, ecx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x2c], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, dword [eax]
setle dl
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, 0x374484a8
setle cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
imul eax, dword [ebp - 0x1c], 0x2012
cmp eax, 0x1f91351d
setl cl
cmp ecx, dword [ebp - 0x38]
jne 0x10031f01
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xd0]
push eax
call fcn.10018ea2
xor ebx, ebx
lea ecx, [ebp - 0xd0]
cmp dword [eax], ebx
setle bl
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xd0]
sub ebx, dword [eax]
xor eax, eax
push eax
mov dword [ebp - 0x1c], ebx
call fcn.10018ea2
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xd0]
setge bl
xor eax, eax
push eax
call fcn.10018ea2
xor ecx, ecx
cmp ebx, dword [eax]
setne cl
imul eax, ecx, 0xa246
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x38]
xor edx, edx
push 3
pop ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x9a0]
push ebx
setg dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
or eax, 0xffffffff
mov dword [ebp - 0x10], eax
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10031fdd
push dword [ebp - 0x30]
lea ecx, [ebp - 0x9a0]
call fcn.10018ea2
mov dword [eax], 0x373d2ef8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x10031fbf
xor eax, eax
push eax
lea ecx, [ebp - 0xd0]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x10031ff1
mov eax, dword [ebp - 0x10]
xor ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp - 0x10], eax
je 0x10032002
mov eax, ecx
cmp dword [ebp - 0x10], eax
jg 0x1003200d
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1003200f
mov esi, eax
jmp 0x10032011
xor eax, eax
mov esi, ecx
push eax
lea ecx, [ebp - 0xd0]
call fcn.10018ea2
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xd0]
setle dl
xor ebx, ebx
imul edx, dword [ebp - 0x20]
cmp edx, dword [eax]
setle bl
xor eax, eax
push eax
call fcn.10018ea2
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp ebx, ecx
mov esi, eax
mov ecx, dword [ebp - 0x44]
setle dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x20]
setle bl
imul ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ebx
lea ecx, [ebp - 0x9a0]
setne al
xor ebx, ebx
cmp eax, dword [esi]
setl bl
xor eax, eax
push eax
call fcn.10018ea2
lea ecx, [ebp - 0x9a0]
mov dword [eax], ebx
call fcn.10018e86
or eax, 0xffffffff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], eax
call fcn.10018e86
push 2
pop esi
mov dword [ebp - 0x10], 0x94592404
lea ecx, [ebp - 0xaf0]
push esi
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100320d6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0x24a8c6a5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100320be
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], esi
jge 0x100320fb
push dword [ebp - 0x14]
lea ecx, [ebp - 0xaf0]
call fcn.10018ea2
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100320e1
xor eax, eax
mov dword [ebp - 0x8c], 0xb
cmp dword [ebp - 0x8c], 0xfffffff4
jg 0x100322df
or edi, 0xffffffff
jmp 0x10032119
xor eax, eax
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], 0x97bde515
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x20]
cmp eax, 0xcd9d7
setg cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
cmp eax, 0xa3187110
mov eax, dword [ebp - 0x8c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setg dl
dec edx
jne 0x10032167
xor eax, eax
cmp dword [ebp - 0x8c], eax
je 0x10032169
mov eax, ebx
imul ecx, dword [ebp - 0x8c], 0x21df
sub ecx, eax
mov eax, dword [ebp - 0x8c]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
je 0x1003223b
mov dword [ebp - 0x2c], 0xd1ed
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x100321f0
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffff7
setne cl
imul ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x100321b2
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x8c]
add ecx, 0xab0c3e5f
cmp ecx, eax
mov eax, dword [ebp - 0x8c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x20]
jle 0x100321ee
mov ecx, ebx
jmp 0x100321f2
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 3
setg al
xor ecx, ecx
cmp eax, 0x171c2502
setne cl
add ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x10032215
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x20]
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setge dl
mov dword [ebp - 0x30], edx
jmp 0x100322bd
mov dword [ebp - 0x2c], 0x36352b72
mov dword [ebp - 0x1c], 0x6546d79
mov dword [ebp - 0x1c], 0x9acce304
mov dword [ebp - 0x1c], 0x51263067
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x10]
jne 0x10032269
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x1003226b
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, 0xfffffffb
setne dl
xor ecx, ecx
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
dec eax
neg eax
sbb eax, eax
neg eax
sub eax, edx
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x100322d7
dec dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xfffffff4
jle 0x10032117
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
jmp 0x100322e1
xor eax, eax
mov dword [ebp - 0x8c], 0x4064
lea ecx, [ebp - 0xaf0]
push eax
call fcn.10018ea2
lea ecx, [ebp - 0xaf0]
mov dword [eax], ebx
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10018e86
push 3
pop eax
push eax
lea ecx, [ebp - 0x51c]
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x1a
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10032350
push ecx
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x51c]
call fcn.10018ea2
mov dword [eax], 0x7ddc85f7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003232f
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x51c]
call fcn.10018ea2
and dword [eax], 0
jmp 0x10032384
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10032376
push eax
push 0x19dc
push eax
call edi
xor eax, eax
push eax
lea ecx, [ebp - 0x51c]
call fcn.10018ea2
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x51c]
push eax
call fcn.10018ea2
cmp dword [eax], 0xfffffff4
jg 0x10032361
or eax, 0xffffffff
lea ecx, [ebp - 0x51c]
mov dword [ebp - 4], eax
call fcn.10018e86
push esi
lea ecx, [ebp - 0x2b0]
call fcn.10018e04
mov dword [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100323ed
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
call fcn.10018ea2
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100323cf
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x1003253d
mov edi, 0xc15d0d65
jmp 0x10032402
xor eax, eax
mov dword [ebp - 0x30], 0xcf13e13a
mov dword [ebp - 0x10], eax
jmp 0x1003241f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3e0], 0x49fcfbce
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003240e
cmp dword [ebp - 0x34], ebx
lea ecx, [ebp - 0x2b0]
sbb eax, eax
neg eax
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3e0], eax
push dword [ebp - 0x34]
call fcn.10018ea2
push ebx
lea ecx, [ebp - 0x2b0]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x10032465
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x34], eax
je 0x10032467
mov esi, ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 0x2b0]
call fcn.10018ea2
xor ecx, ecx
cmp dword [eax], ecx
setl cl
imul eax, esi, 0x5ce
sub ecx, eax
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
jmp 0x100324a9
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100324a6
push eax
push 0x25d9
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x1003248e
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jg 0x1003252b
mov edi, 0xffff
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x2b0]
push ebx
call fcn.10018ea2
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp dword [eax], ecx
sete dl
xor eax, eax
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x10], eax
jmp 0x10032519
push dword [ebp - 0x34]
lea ecx, [ebp - 0x2b0]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x1003251e
xor eax, eax
lea ecx, [ebp - 0x2b0]
push eax
call fcn.10018ea2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x2b0]
mov esi, eax
call fcn.10018ea2
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100324e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x100324bb
mov edi, 0xc15d0d65
dec dword [ebp - 0x34]
jns 0x10032400
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
push 2
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], eax
call fcn.10018e86
mov dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0xb98]
xor eax, eax
mov dword [ebp - 0x1c], 0xb8d96378
mov dword [ebp - 0x40], eax
push 4
call fcn.10018e04
xor eax, eax
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032597
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd28], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003257f
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x100325bf
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb98]
call fcn.10018ea2
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100325a0
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffee
jne 0x1003268e
push 3
pop edi
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x9b8]
push 4
call fcn.10018e04
xor eax, eax
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x10], eax
jmp 0x10032601
push dword [ebp - 0x10]
lea ecx, [ebp - 0x9b8]
call fcn.10018ea2
mov dword [eax], 0x245f5b1b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100325ea
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, dword [ebp - 0x1c]
jge 0x10032625
mov ecx, ebx
cmp dword [ebp - 0x14], eax
jne 0x10032627
mov ecx, eax
mov eax, dword [ebp - 0x14]
sub ecx, eax
xor eax, eax
cmp ecx, esi
push edi
setne al
lea ecx, [ebp - 0x9b8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
call fcn.10018ea2
imul ecx, dword [ebp - 0x14], 0x45cc
mov dword [eax], ecx
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1003266c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
lea ecx, [ebp - 0x9b8]
mov byte [ebp - 4], 0x1c
call fcn.10018e86
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
je 0x100325cf
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
push 3
pop eax
push eax
lea ecx, [ebp - 0xb98]
call fcn.10018ea2
lea ecx, [ebp - 0xb98]
inc dword [eax]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10018e86
push 3
pop eax
push eax
lea ecx, [ebp - 0xef4]
call fcn.10018e04
mov dword [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x30], 0xfe6e324
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], eax
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10032703
push ecx
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0xef4]
call fcn.10018ea2
mov dword [eax], 0x77e8edf1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100326e2
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10032735
mov dword [ebp - 0x10], 0xad4351cd
mov dword [ebp - 0x40], 0x7928fbc7
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10032730
mov dword [ebp - 0x1c], 0xfffffffe
inc dword [ebp - 0x1c]
dec dword [ebp - 0x10]
jns 0x10032721
dec dword [ebp - 0x30]
jns 0x1003270b
or eax, 0xffffffff
lea ecx, [ebp - 0xef4]
mov dword [ebp - 4], eax
call fcn.10018e86
mov dword [ebp - 0x44], esi
xor eax, eax
mov dword [ebp - 0x28], 0x2d8cb4c2
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x10], eax
jmp 0x10032780
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe8c], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003276f
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setg bl
xor ecx, ecx
sub ebx, 0x2c4475ee
cmp ebx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x1003284a
movdqa xmm0, xmmword [0x10008210]
lea eax, [ebp - 0x11bc]
push eax
lea eax, [ebp - 0x11cc]
mov dword [ebp - 0x40], 0x2a0c0e07
push eax
lea ecx, [ebp - 0x13a4]
movdqu xmmword [ebp - 0x11cc], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x173]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x11f4]
push dword [esi]
call fcn.10018e60
inc dword [ebp - 0x50]
lea ecx, [ebp - 0x11f4]
call fcn.10018e86
inc dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jle 0x100327e4
movdqa xmm0, xmmword [0x100081e0]
lea ecx, [ebp - 0x13b4]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0xfdc]
push eax
lea eax, [ebp - 0xfec]
push eax
movdqu xmmword [ebp - 0xfec], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x176]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xfc]
push dword [esi]
call fcn.10018e60
or eax, 0xffffffff
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x50], eax
xor esi, esi
xor eax, eax
inc esi
push 3
mov dword [ebp - 0x10], eax
pop ebx
cmp dword [ebp - 0x10], ebx
jge 0x100328c5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4bc], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100328b1
xor eax, eax
mov dword [ebp - 0x4b4], eax
cmp dword [ebp - 0x4b4], 0xfffffff6
jl 0x100329fc
or edi, 0xffffffff
mov dword [ebp - 0x28], 0xa5043c4a
mov dword [ebp - 0x20], 0x5950cfdf
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x100329e3
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x1003291d
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
xor eax, eax
lea ecx, [ebp - 0xfc]
push eax
call fcn.10018ea2
push 2
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
cmp dword [eax], 4
jbe 0x10032965
push esi
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x28]
call fcn.10018ea2
mov ecx, dword [ebp - 0x20]
xor edx, edx
push dword [ebp - 0x28]
cmp ecx, 4
lea ecx, [ebp - 0xfc]
setge dl
xor ebx, ebx
cmp dword [eax], edx
sete bl
call fcn.10018ea2
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xfc]
push dword [ebp - 0x28]
call fcn.10018ea2
cmp dword [eax], 7
jae 0x10032aff
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100329d5
push 0x248f
push 0x2521
push eax
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
push 3
pop ebx
dec dword [ebp - 0x28]
jns 0x100328fc
xor eax, eax
dec dword [ebp - 0x4b4]
cmp dword [ebp - 0x4b4], 0xfffffff6
jge 0x100328db
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10032a22
push eax
push 0x109
push 0x203c
push eax
push 0x237
push 0x2386
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
or eax, 0xffffffff
lea ecx, [ebp - 0xfc]
mov dword [ebp - 4], eax
call fcn.10018e86
mov dword [ebp - 0x1c], 0xfffffffa
or ecx, 0xffffffff
mov dword [ebp - 0x28], 0x1824a8c6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], 0x13
cmp dword [ebp - 0x28], 9
jl 0x10032aca
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032a79
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5d8], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10032a61
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x10032ac1
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0x5d8], 0
jne 0x10032a9a
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x30], eax
je 0x10032a9c
mov edx, esi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10032a81
or ecx, 0xffffffff
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 9
jge 0x10032a56
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10032be4
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10032ae6
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10032d06
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
jmp 0x10032d06
mov dword [ebp - 0x4c], 2
xor eax, eax
push 3
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x20], eax
pop ebx
jmp 0x10032bd6
mov dword [ebp - 0x1c], 0xf3f85024
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x10032b42
push dword [ebp - 0x20]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
cmp dword [eax], 0
jne 0x10032b40
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10032b25
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x10032bd3
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x38], 0x6e149f7f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x28]
call fcn.10018ea2
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfc]
call fcn.10018ea2
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4b8]
test eax, eax
sets cl
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0xfc]
push dword [ebp - 0x28]
call fcn.10018ea2
mov ecx, dword [ebp - 0x50]
xor ebx, ebx
push dword [ebp - 0x28]
cmp dword [eax], ecx
lea ecx, [ebp - 0xfc]
setne bl
call fcn.10018ea2
push 3
sub ebx, dword [eax]
mov dword [ebp - 0x50], ebx
inc dword [ebp - 0x14]
pop ebx
push 0
pop eax
cmp dword [ebp - 0x14], ebx
jle 0x10032b4e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10032b16
jmp 0x100329d8
mov dword [ebp - 0x50], 0x4981c586
mov dword [ebp - 0x4c], 0xd437f1bd
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032c19
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x738], 0x8900fdb6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032c01
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff3
jne 0x10032ce8
mov ebx, 0x72a6
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 0x1c], esi
dec dword [ebp - 0x738]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x738]
mov eax, dword [ebp - 0x468]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x468]
cmp dword [ebp - 0x28], eax
jl 0x10032c7b
xor eax, eax
cmp dword [ebp - 0x738], eax
jne 0x10032c7b
mov esi, eax
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x460]
neg ecx
push 1
sbb ecx, ecx
sub esi, eax
mov eax, dword [ebp - 0x28]
inc ecx
xor edx, edx
cmp ecx, esi
pop esi
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x460]
setg cl
xor edx, edx
cmp ecx, 0x3428
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x460]
setle cl
add eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff3
je 0x10032c2b
push 3
xor eax, eax
pop ebx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10032d06
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
movdqa xmm0, xmmword [0x10008250]
lea eax, [ebp - 0x10dc]
push eax
lea eax, [ebp - 0x10ec]
push eax
lea ecx, [ebp - 0x1314]
movdqu xmmword [ebp - 0x10ec], xmm0
call fcn.10018eb1
lea ecx, [ebp - 0x1b4]
mov esi, eax
call fcn.100092d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xa00]
push dword [esi]
call fcn.10018e60
mov dword [ebp - 4], 0x20
or esi, 0xffffffff
mov dword [ebp - 0x40], 0x76b0f738
mov eax, 0x662a2b3b
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0xa9ac70c3
mov dword [ebp - 0x40], 0x822b1658
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], eax
inc dword [ebp - 0x860]
mov dword [ebp - 0x10], 0xfffffff4
cmp dword [ebp - 0x10], 0x13
jg 0x10032dca
xor eax, eax
mov dword [ebp - 0x1c], 0x7d50f82b
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10032dbe
push eax
push eax
call dword [sym.imp.GDI32.dll_GetRgnBox]
xor eax, eax
dec dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x13
jle 0x10032da4
mov eax, 0xffff
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x10], 0x8b6b0e1b
mov dword [ebp - 0x1c], esi
xor esi, esi
mov dword [ebp - 0x40], 0x760fc5c2
inc esi
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0x1d
je 0x10032ea6
mov edi, eax
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x1c], 0x22452a2c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
cmp eax, esi
setg cl
cmp ecx, edi
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jne 0x10032e44
or eax, 0xffffffff
lea ecx, [ebp - 0x9d0]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x38], 0x13e19f23
push 2
call fcn.10018e04
push 4
mov byte [ebp - 4], 0x21
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10032ef3