Function at 0x1002898d
Capabilities:
Accept command line arguments
Clear file content
Create pipe
Create thread
Delete registry key
Delete registry value
Get graphical window text
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf30
push ebx
mov ebx, 0xfb871c7b
mov byte [ebp - 0x4d], dl
mov dword [ebp - 0x14], ebx
xor eax, eax
mov dword [ebp - 0x20], 0x50e6da50
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
push esi
mov dword [ebp - 0x48], ecx
jge 0x100289d1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xca0], 0xc64a6847
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x100289b8
xor eax, eax
xor esi, esi
mov dword [ebp - 8], eax
inc esi
cmp dword [ebp - 8], esi
jge 0x100289f4
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x960], 0x274bf90e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x100289dc
xor eax, eax
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10028a1e
mov dword [ebp - 0x2c], 0x362d
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0xca0], 0
jne 0x10028a1c
dec dword [ebp - 0x14]
jns 0x10028a00
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
je 0x10028a41
push 0x1eda
push 0x24cf
push 0xa5e
call edi
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 0x50e6da50
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x10028a6d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcb8], 0xc64a6847
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10028a54
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x10028a8d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x970], 0x274bf90e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10028a75
xor eax, eax
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10028ab7
mov dword [ebp - 0x2c], 0x362d
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0xcb8], 0
jne 0x10028ab5
dec dword [ebp - 0x14]
jns 0x10028a99
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028ad3
push 0x1eda
push 0x24cf
push 0xa5e
call edi
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 0x50e6da50
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x10028aff
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcd0], 0xc64a6847
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10028ae6
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x10028b1f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x97c], 0x274bf90e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10028b07
xor eax, eax
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10028b49
mov dword [ebp - 0x2c], 0x362d
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0xcd0], 0
jne 0x10028b47
dec dword [ebp - 0x14]
jns 0x10028b2b
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028b65
push 0x1eda
push 0x24cf
push 0xa5e
call edi
xor eax, eax
mov dword [ebp - 0x14], eax
push 0xfffffffffffffffd
mov dword [ebp - 0x20], 0xc290
mov dword [ebp - 0x14], eax
pop ebx
jmp 0x10028b9d
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028b88
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028b9a
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x10028b77
mov dword [ebp - 0x1c], 0xe91a049f
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x11
jge 0x10028c5c
mov dword [ebp - 0x28], 0xedf6b3e7
mov dword [ebp - 0x14], eax
jmp 0x10028be4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa2c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10028bd3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, esi
setl cl
xor edx, edx
mov dword [ebp - 0xa20], ecx
mov dword [ebp - 0x30], 0xb3f36565
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setne bl
xor ecx, ecx
cmp eax, ebx
setle cl
cmp dword [ebp - 0x30], ecx
jg 0x10028c40
mov eax, dword [ebp - 0xa24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
push 0
pop eax
jl 0x10028bc7
push 5
pop ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jle 0x10028d4c
mov edi, 0xfff8
mov dword [ebp - 0xc], 0x3ecf04b0
mov dword [ebp - 0x18], 0x9892657c
mov dword [ebp - 0x14], eax
jmp 0x10028c97
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1a4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10028c86
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], eax
jne 0x10028cbf
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
imul eax, dword [ebp - 0x1a4], 0xb0bb
mov ecx, 0xb0bb
sub ecx, eax
jne 0x10028cdf
xor eax, eax
cmp dword [ebp - 0x1a4], eax
jne 0x10028cdf
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1a4]
cmp dword [ebp - 8], edi
ja 0x10028cf3
xor eax, eax
mov edx, eax
cmp dword [ebp - 8], eax
je 0x10028cf5
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x1a4]
jne 0x10028d0a
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1a4]
xor ebx, ebx
imul eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1a4]
push 0
cmp eax, 0x9a164e6
mov eax, dword [ebp - 8]
setle bl
xor edx, edx
cmp eax, ecx
pop eax
setl dl
sub edx, ebx
mov dword [ebp - 0x18], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0
jg 0x10028c73
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 5
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10028d6d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbd0], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10028d58
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028d97
push eax
push 0xdde
push 0x2078
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov eax, dword [ebp - 0xbc8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xfb871c7b
mov dword [ebp - 0x14], 0xbac64a68
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], esi
jmp 0x10028dfb
xor edx, edx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add edx, 0x2daa
cmp edx, eax
setl cl
xor eax, eax
test ecx, ecx
jle 0x10028df5
cmp dword [ebp - 0xc], eax
je 0x10028df5
mov eax, esi
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x10028db6
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10028e17
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
xor eax, eax
mov dword [ebp - 0x20], 0x50e6da50
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10028e3e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 0x8a59
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10028e29
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10028e5e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x290], 0xefd06bde
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10028e46
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10028e7e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa04], 0x1b870004
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10028e66
xor eax, eax
cmp dword [ebp - 0x6c], eax
je 0x10028e85
mov eax, esi
mov edx, dword [ebp - 0x70]
xor ecx, ecx
imul edx, eax
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x70]
cmp edx, eax
mov eax, 0xfff6
setne cl
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x6c]
jg 0x10028eb5
xor eax, eax
cmp dword [ebp - 0x70], eax
je 0x10028eb7
mov edx, esi
jmp 0x10028eb9
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x70]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setle cl
sub ecx, 4
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x6c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0xfff7
test eax, eax
je 0x10028f0b
xor eax, eax
cmp dword [ebp - 0x290], eax
je 0x10028f0d
mov edx, esi
jmp 0x10028f0f
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x6c]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x6c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0xa00], ecx
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10028f54
push 0xd2c
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0x90069f30
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10028f87
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6f4], 0xc558
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10028f6e
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10028fc1
push eax
push 0x23a2
push 0x1dc8
push 0x11bb
push 0x907
push 0x6f6
push 0x20c8
push 0x6f4
push 0x826
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov eax, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6f4]
dec edx
neg edx
push 2
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10029011
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x78], 0x8a59
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10028ffc
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10029031
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2b8], 0xefd06bde
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10029019
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10029051
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa14], 0x1b870004
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10029039
xor eax, eax
cmp dword [ebp - 0x74], eax
je 0x10029058
mov eax, esi
mov edx, dword [ebp - 0x78]
xor ecx, ecx
imul edx, eax
mov dword [ebp - 0x2b8], edx
mov eax, dword [ebp - 0x78]
cmp edx, eax
setne cl
cmp ecx, 0xfff6
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x74]
jg 0x10029087
xor eax, eax
cmp dword [ebp - 0x78], eax
je 0x10029089
mov edx, esi
jmp 0x1002908b
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x74]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x74]
setle cl
sub ecx, 4
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0xfff7
test eax, eax
je 0x100290dd
xor eax, eax
cmp dword [ebp - 0x2b8], eax
je 0x100290df
mov edx, esi
jmp 0x100290e1
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x74]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0xa10], ecx
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10029126
push 0xd2c
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
xor eax, eax
push 4
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x10029149
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd00], 0xc64a6847
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10029131
xor eax, eax
mov dword [ebp - 0x1c], 0x57976326
mov dword [ebp - 0x30], 0x4543beb7
mov dword [ebp - 0x20], 0x737e0d1b
mov dword [ebp - 0x20], 0x5bb00289
mov dword [ebp - 0x44], 0x5cfe
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x10029198
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x684], 3
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x1002917f
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ecx
jge 0x100291b8
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xce8], 0x164f943a
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x100291a0
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x100292ce
mov dword [ebp - 0x20], 0x5e2de4bf
mov dword [ebp - 0x2c], 0x3c017f21
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x20], 0xe401d933
mov dword [ebp - 0x20], 0x18ebdb88
mov dword [ebp - 0x24], 0x27142b62
mov dword [ebp - 0x20], 0x795c380a
mov dword [ebp - 0x34], 0x4e3473ed
mov dword [ebp - 0xc], 3
mov dword [ebp - 0x18], 0x9c74e37a
mov dword [ebp - 0x14], eax
jmp 0x10029220
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc80], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002920f
mov eax, dword [ebp - 0x30]
xor edx, edx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
xor eax, eax
imul edx, ecx
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], eax
je 0x10029258
mov edx, esi
cmp dword [ebp - 0x34], eax
jne 0x1002925a
mov edx, eax
mov eax, dword [ebp - 0x680]
xor ecx, ecx
cmp eax, edx
setle cl
add ecx, 0x148c
jne 0x10029280
xor eax, eax
cmp dword [ebp - 0x680], eax
jne 0x10029280
mov ecx, eax
cmp dword [ebp - 0xc], eax
je 0x10029282
mov ecx, esi
mov eax, dword [ebp - 0x44]
sub ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x28]
je 0x10029295
mov ecx, esi
cmp dword [ebp - 0x1c], eax
jne 0x10029297
mov ecx, eax
mov dword [ebp - 0xce4], ecx
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
sub edx, 7
neg edx
push 0
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setl cl
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x1c]
jns 0x100291c4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x100292ee
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x988], 0x274bf90e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x100292d6
xor eax, eax
mov dword [ebp - 8], 0xfffffff9
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x2c], 0xb785b647
mov dword [ebp - 0x18], 0x93cc
mov dword [ebp - 8], eax
jmp 0x10029324
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10029321
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffc
jge 0x1002930f
mov dword [ebp - 8], 0x1a
mov ecx, 0xfffd
cmp dword [ebp - 8], 0xfffffff8
je 0x100293e8
jmp 0x10029344
xor eax, eax
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10029369
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa48], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10029354
xor eax, eax
cmp dword [ebp - 0xa3c], eax
jne 0x10029391
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x1a4e
setge cl
xor eax, eax
cmp ecx, 0x38ec
jne 0x1002938d
cmp dword [ebp - 0x2c], eax
jne 0x10029391
mov edx, eax
jmp 0x10029393
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x30]
cmp edx, 0x6c31
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setl dl
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, dword [ebp - 0xa48]
mov eax, dword [ebp - 0xa48]
setg cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov ecx, 0xfffd
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff8
jne 0x10029342
mov dword [ebp - 0x1c], 3
xor eax, eax
cmp dword [ebp - 0x1c], eax
jl 0x10029806
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002941d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029409
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x10029439
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x58c], 0
jne 0x10029437
dec dword [ebp - 0x28]
jns 0x10029425
xor eax, eax
mov dword [ebp - 0x28], 0x6a9ef72d
mov dword [ebp - 0x24], 0x362d
mov dword [ebp - 0x10], 0xd59e57ad
mov dword [ebp - 0x28], 0xb719d872
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002947c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x994], 0x25631cd1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029464
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002948f
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1002948d
mov eax, esi
jmp 0x1002948f
xor eax, eax
xor ecx, ecx
cmp eax, 0xf9986e3e
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setge cl
xor edx, edx
cmp ecx, esi
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, 0x2ef703c5
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x10], 0x62a7
test eax, eax
je 0x1002953c
mov dword [ebp - 0x20], 0xcbf7
xor eax, eax
mov dword [ebp - 0x20], 0x26cdee94
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0x33bab721
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0x2932384
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x20], 0x1ec8e12b
mov dword [ebp - 0x20], 0x385e3970
mov dword [ebp - 0x30], 8
inc dword [ebp - 0x2c]
dec dword [ebp - 0x30]
jmp 0x10029596
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff2
jge 0x10029594
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1002955a
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10029589
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10029586
push 0xb84
push eax
push eax
push eax
push eax
push 0x1d63
push 0x4b2
call ebx
push eax
call dword [sym.imp.USER32.dll_ScrollWindowEx]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jge 0x1002955f
dec dword [ebp - 0x28]
jmp 0x10029541
xor eax, eax
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], eax
jmp 0x100295aa
cmp dword [ebp - 0x28], eax
jne 0x100295b0
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffff
jge 0x100295a2
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100295c3
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
inc dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xb25b
mov dword [ebp - 0x2c], 0xf0f5ebe
mov dword [ebp - 0x28], 0x93c86992
mov dword [ebp - 0x24], 0x4b5a9cea
mov dword [ebp - 0xc], 6
mov dword [ebp - 0x20], 0xe769
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x34], 0x9364560f
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x1002961e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4fc], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002960d
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10029631
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, esi
setle cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0xc], edx
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
dec eax
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setge dl
lea eax, [edx + 0x695cd1d1]
mov dword [ebp - 0x4fc], eax
cmp dword [ebp - 0x10], eax
jle 0x10029684
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100297ac
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x20], 0x91f433c8
mov dword [ebp - 0x2c], 0xc437ffea
mov dword [ebp - 0x20], 0x5d3e8ea4
mov dword [ebp - 0x20], 0xe776e9f8
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], eax
jl 0x100297eb
mov dword [ebp - 0x20], 0x73e70d2
mov dword [ebp - 0x20], 0x2449ef57
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x14], eax
jmp 0x10029706
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbe8], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100296f5
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp + eax*4 - 0x4fc]
mov eax, dword [ebp - 0x10]
imul esi, dword [ebp + eax*4 - 0x4fc]
mov eax, dword [ebp - 0x18]
neg esi
sbb esi, esi
neg eax
neg esi
cmp eax, 0xfff6
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x24]
jl 0x10029740
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x4f8]
setge dl
xor ebx, ebx
cmp edx, 0xd4f0
push 1
setge bl
xor ecx, ecx
cmp ebx, eax
setg cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
cmp eax, 1
mov eax, dword [ebp - 0xc]
setle cl
xor edx, edx
cmp ecx, 0x4fd08915
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp esi, ecx
pop esi
setl al
mov dword [ebp - 0xbe0], eax
dec dword [ebp - 0x10]
push 0
pop eax
jns 0x100296d9
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
jmp 0x100297eb
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
jmp 0x100297c5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa5c], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100297b4
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100297eb
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xd00], 0
jne 0x10029804
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x100293fa
xor eax, eax
mov dword [ebp - 0x1c], 0x5043c4ab
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10029839
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd20], 0xd5d70512
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10029820
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002986d
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0xfffffffa
setle cl
cmp ecx, dword [ebp - 0x1c]
jl 0x10029851
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0x31f1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xfffffffb
jg 0x1002986b
mov ecx, esi
jmp 0x1002986f
xor eax, eax
mov ecx, eax
add ecx, 0xfffffffb
mov dword [ebp - 0xd20], ecx
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xfffffff4
jmp 0x100298e5
xor eax, eax
mov dword [ebp - 0x18], 0xbd52
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100298b4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x830], 0xadf86095
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002989b
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100298c5
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov dword [ebp - 0x40], 0xfffffffc
jmp 0x100298dc
mov eax, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x82c], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffea
jl 0x100298ce
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffeb
jg 0x10029889
mov eax, 0xe91a049f
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], eax
mov eax, 0x93e9fc65
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], eax
xor eax, eax
mov dword [ebp - 0x40], 0x5d7a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10029950
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10029937
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0x8c], ebx
cmp dword [ebp - 0x8c], eax
jl 0x10029cea
mov dword [ebp - 0x28], 0x5801
mov dword [ebp - 8], 0x23e52509
mov dword [ebp - 0x1c], 0xf8716b5b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002999c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc4], 0x80c170c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10029983
xor eax, eax
mov dword [ebp - 0xc0], eax
jmp 0x10029cd2
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100299ca
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b0], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100299b2
xor eax, eax
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], ebx
jg 0x10029ccc
mov dword [ebp - 0x34], 0x43a64e78
xor edx, edx
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0xfffffffd
setne al
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0x3a0]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10029cae
mov dword [ebp - 0xc], 0xdf1563cf
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x18], 0xb9f80b5c
mov dword [ebp - 0x2c], 0xbbf0bed9
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10029a73
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x62c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10029a5b
xor eax, eax
mov dword [ebp - 8], 0xfffffff1
cmp dword [ebp - 8], 0xfffffff8
jg 0x10029c98
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], eax
jmp 0x10029b12
mov dword [ebp - 0x2c], 0x79942796
xor edx, edx
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x3a0], 0xffffffff
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x8c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x628]
setne cl
xor edx, edx
dec ecx
cmp eax, ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc0]
setle dl
sub ecx, edx
mov edx, dword [ebp - 0x34]
add eax, ecx
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
setl cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10029aa1
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1b0]
sub eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x8c]
neg eax
sbb eax, eax
inc eax
imul ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x3a0], ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1b0]
sub ecx, 0xcb567dfb
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
sete cl
imul ecx, eax
mov dword [ebp - 0x324], ecx
cmp ecx, dword [ebp - 0x10]
jl 0x10029b93
xor eax, eax
cmp dword [ebp - 0x328], eax
jne 0x10029b93
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x628]
xor edx, edx
mov eax, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ebx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ebx, ebx
cmp edx, 0x4848
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
cmp eax, ecx
mov eax, dword [ebp - 0x30]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x10]
setne dl
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setl dl
imul ecx, edx, 0x9616
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1a8]
setne cl
add eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, eax
test ecx, ecx
jne 0x10029c3e
xor eax, eax
cmp dword [ebp - 0x90], eax
je 0x10029c40
mov eax, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x62c]
mov ecx, dword [ebp - 0x1b0]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x62c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x10], 0xa3b757a5
jae 0x10029c7a
mov ecx, esi
cmp dword [ebp - 8], eax
jne 0x10029c7c
mov ecx, eax
mov eax, dword [ebp - 0x24]
imul eax, ecx
push 0
mov dword [ebp - 0x18], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff8
pop eax
push 3
pop ebx
jle 0x10029a84
mov eax, dword [ebp - 0x1b0]
push 0
mov eax, dword [ebp + eax*4 - 0x3a0]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], 0xd
jge 0x10029a30
inc dword [ebp - 0x1b0]
cmp dword [ebp - 0x1b0], ebx
jle 0x100299dc
xor eax, eax
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], ebx
jle 0x100299a7
dec dword [ebp - 0x8c]
jns 0x10029965
mov eax, dword [ebp - 0x320]
cmp dword [ebp - 0x328], eax
je 0x10029d45
xor eax, eax
cmp dword [ebp - 0x90], eax
je 0x10029d3f
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x328]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setl dl
xor ebx, ebx
test edx, edx
setg bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x39c]
sete cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x320]
mov eax, dword [ebp - 0x324]
mov ecx, 0x3146
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
sub ecx, eax
mov eax, 0xa5c46af0
cmp eax, ecx
push 0xfffffffffffffffe
sbb eax, eax
neg eax
mov dword [ebp - 0x324], eax
xor eax, eax
mov byte [ebp - 1], al
pop ecx
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], ecx
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10029ddb
push 0x1779
push 0x188
push 0x2573
push eax
push 0x2701
push 0x10d9
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x26f1
push 0x243
push 0x2270
push 0x195e
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10029df7
push 0x1e6c
push 0x19b1
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
xor eax, eax
cmp byte [ebp - 1], 0
je 0x10029f78
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10029e28
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029e13
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x10029e71
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x58]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add edx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10029e30
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10029f67
mov dword [ebp - 0x18], 0xe7ad53a
mov dword [ebp - 8], eax
jmp 0x10029ed2
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x10029e9b
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x10029ecf
push 0x2363
push 0x1b29
push 0x917
push 0x21e0
push 0x706
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
xor eax, eax
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x10029e89
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x10029f5e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10029eff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029ee7
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], eax
jg 0x10029f59
mov dword [ebp - 0xc], 0xc657e3b6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x10029f2e
mov eax, dword [ebp - 0xbc]
cmp dword [ebp + eax*4 - 0x58], 0
jne 0x10029f2e
dec dword [ebp - 0xc]
jns 0x10029f1c
mov eax, dword [ebp - 8]
push 0
mov edx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x58]
cmp esi, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
pop eax
setle cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0
jle 0x10029f0d
dec dword [ebp - 8]
jns 0x10029edf
dec dword [ebp - 0x10]
jns 0x10029e7d
push 0x1eda
push 0x24cf
push 0xa5e
call edi
xor eax, eax
mov dword [ebp - 0x14], eax
push 0xfffffffffffffffd
mov dword [ebp - 0x20], 0xc290
mov dword [ebp - 0x14], eax
pop edi
jmp 0x10029fb2
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x10029f9d
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x10029faf
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jne 0x10029f8c
mov dword [ebp - 0x14], 0xfffffff8
mov esi, 0x67f5ed9a
mov dword [ebp - 0x20], esi
push 7
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xa97963ba
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], edi
xor edi, edi
mov dword [ebp - 0x20], 0xffffffff
inc edi
mov dword [ebp - 0x20], 0x65c2dd78
mov dword [ebp - 0x20], ecx
push 3
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x1002a00c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe10], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10029ff8
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x1002a02e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xee0], 0xc99cdf9c
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1002a015
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop edx
jmp 0x1002a089
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ecx
jge 0x1002a060
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xed0], 0x62e08974
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1002a048
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x1002a080
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30c], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1002a068
xor eax, eax
inc dword [ebp - 0x30c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1002a036
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0xc290
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffffd
je 0x1002a0d3
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a0b2
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a0c4
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffd
jne 0x1002a0a1
push 3
pop ecx
push 2
pop edx
mov dword [ebp - 0x10], 0xe83c773
mov dword [ebp - 0x20], 0x7d0d1d8
mov dword [ebp - 0x20], 0xcc65ad6c
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x20], 0x1949
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ecx
jge 0x1002a116
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x570], 0xffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1002a0fe
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edx
jge 0x1002a136
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x840], 0xa79cc099
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x1002a11e
xor eax, eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], eax
jl 0x1002a1d9
xor ecx, ecx
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x7c4], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x570], ecx
je 0x1002a198
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x570]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x570]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x570], ecx
je 0x1002a198
mov edx, edi
jmp 0x1002a19c
xor eax, eax
mov edx, eax
mov dword [ebp - 0x83c], edx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x10]
jl 0x1002a1c3
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp dword [ebp + eax*4 - 0x570], ecx
jne 0x1002a1c5
mov eax, ecx
jmp 0x1002a1c7
xor ecx, ecx
mov eax, edi
dec eax
mov dword [ebp - 0x7d0], eax
dec dword [ebp - 0x10]
jns 0x1002a144
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x14], eax
jmp 0x1002a1f4
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe8
jg 0x1002a1ee
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a20e
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
xor eax, eax
mov dword [ebp - 0x14], 0xfffffff8
mov ecx, 0xa97963ba
mov dword [ebp - 0x20], esi
mov edx, 0x65c2dd78
push 7
pop ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], ebx
push 3
mov dword [ebp - 8], eax
pop ebx
cmp dword [ebp - 8], ebx
jge 0x1002a261
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe34], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a24d
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x1002a283
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf00], 0xc99cdf9c
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1002a26a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002a2db
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x1002a2b2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xeac], 0x62e08974
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a29a
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x1002a2d2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2c0], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1002a2ba
xor eax, eax
inc dword [ebp - 0x2c0]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1002a288
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x20], esi
push 7
pop esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x1002a327
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe4c], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a313
xor eax, eax
push 4
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x1002a34a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf20], 0xc99cdf9c
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1002a332
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002a3a2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x1002a379
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xec4], 0x62e08974
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a361
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x1002a399
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2b4], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1002a381
xor eax, eax
inc dword [ebp - 0x2b4]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1002a34f
mov dword [ebp - 0x1c], 0x71d976ff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], 5
mov dword [ebp - 0x40], eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x1002a3d9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x54], 0xe307b5ca
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1002a3c4
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x1002a3ef
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa38], 0x41ab7a3e
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a3de
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002a414
cmp dword [ebp - 0x54], eax
jne 0x1002a414
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x28], 0x7826243a
cmp dword [ebp - 0x54], eax
jne 0x1002a427
mov esi, eax
cmp dword [ebp - 0x28], eax
je 0x1002a429
mov esi, edi
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp eax, ecx
setle dl
cmp edx, dword [ebp - 0x54]
jg 0x1002a442
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002a444
mov eax, edi
mov dword [ebp - 0x1c], eax
xor edx, edx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
imul eax, edx
xor edx, edx
cmp esi, eax
setl dl
imul edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
sub ecx, edx
mov edx, dword [ebp - 0x28]
add ecx, eax
mov eax, dword [ebp - 0xc]
add eax, ecx
add edx, eax
sub edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xa30], edx
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jne 0x1002a522
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x14]
imul esi, dword [ebp - 0x14], 0xffff9b4e
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa38], ecx
mov eax, dword [ebp - 0xc]
push 0
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp esi, edx
setne al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
cmp eax, ecx
mov eax, dword [ebp - 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x54]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
neg ecx
pop eax
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
je 0x1002a495
mov dword [ebp - 0x10], 0xe83c773
mov ecx, 0xffff
mov dword [ebp - 0x20], 0x7d0d1d8
mov dword [ebp - 0x20], 0xcc65ad6c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], 0x1949
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x1002a562
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x50c], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1002a54e
xor eax, eax
push 2
mov dword [ebp - 8], eax
pop esi
cmp dword [ebp - 8], esi
jge 0x1002a585
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x978], 0xa79cc099
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1002a56d
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x1002a627
xor ebx, ebx
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50c], ebx
je 0x1002a5e7
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x50c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x50c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50c], ebx
je 0x1002a5e7
mov edx, edi
jmp 0x1002a5ed
xor eax, eax
xor ebx, ebx
mov edx, eax
mov dword [ebp - 0x974], edx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x10]
jl 0x1002a610
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50c], ebx
mov eax, ebx
je 0x1002a612
mov eax, edi
dec eax
mov dword [ebp - 0x7f0], eax
dec dword [ebp - 0x10]
jns 0x1002a593
push 3
xor eax, eax
pop ebx
dec dword [ebp - 0x2c]
mov dword [ebp - 0xc], 0xf89b546
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002a651
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc00], 0x85f70ad6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002a639
xor eax, eax
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], eax
jl 0x1002a6d6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002a679
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x140], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a661
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a69b
push eax
push 0x1cc0
push eax
push 0x8f2
push 0x211c
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
mov dword [ebp - 0x140], esi
cmp dword [ebp - 0x140], eax
jl 0x1002a6d1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a6b9
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, dword [ebp - 0x140]
push 0
mov eax, dword [ebp + eax*4 - 0xc00]
dec dword [ebp - 0x140]
pop eax
jns 0x1002a6a9
dec dword [ebp - 0xc]
jns 0x1002a659
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002a6f3
push eax
push 0x140d
push 0x1381
push eax
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x2327
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x2c], 0xbbbbfefa
mov dword [ebp - 0x2c], 0x9e8a28d8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002a72e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002a716
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002a74e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x850], 0x7976b5a7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002a736
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002a76a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x594], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002a756
xor eax, eax
cmp dword [ebp - 0xf0], eax
je 0x1002a80e
mov eax, dword [ebp - 0xf0]
xor edx, edx
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
cmp ecx, eax
mov eax, dword [ebp - 0xf0]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x850], ecx
cmp ecx, dword [ebp - 0xec]
jg 0x1002a7c8
cmp dword [ebp - 0xf0], eax
jne 0x1002a7c8
mov eax, edi
mov dword [ebp - 0x2c], eax
xor edx, edx
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0xf0]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0xec]
setl bl
xor ecx, ecx
cmp eax, ebx
setne cl
xor eax, eax
cmp ecx, 0x74fd5744
setg al
cmp eax, dword [ebp - 0xf0]
jl 0x1002a80c
mov ecx, edi
jmp 0x1002a810
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
jne 0x1002a81e
mov ecx, eax
cmp dword [ebp - 0xc], eax
je 0x1002a820
mov ecx, edi
mov eax, dword [ebp - 0xf0]
sub ecx, eax
mov eax, dword [ebp - 0xf0]
sub ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, eax
imul ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
setl dl
mov dword [ebp - 0xf0], edx
lea eax, [edx + 0x44182bdd]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x594], eax
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 0x24], 0x9c4ddb84
mov dword [ebp - 0xc], 0xf767
mov dword [ebp - 0x2c], 0x4f5fdfda
mov dword [ebp - 0x44], 0x848967c7
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xffffffee
cmp dword [ebp - 0x10], 0xffffffe4
jge 0x1002a998
jmp 0x1002a8b4
mov dword [ebp - 8], 0x3d5943e2
mov dword [ebp - 0x14], 0x98dc509c
mov dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 0x14], eax
je 0x1002a8d1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x99e6
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, edi
setge al
xor edx, edx
cmp eax, 8
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x10]
je 0x1002a939
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
cmp ecx, 0x8400
jne 0x1002a966
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x1002a968
mov ecx, edi
mov eax, dword [ebp - 8]
add eax, ecx
je 0x1002a97a
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002a97c
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe4
jl 0x1002a8b2
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov esi, 0xd583
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
xor eax, eax
sub edx, esi
je 0x1002a9c0
mov edx, edi
cmp dword [ebp - 0x34], eax
jne 0x1002a9c2
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
push 4
setne cl
xor edx, edx
imul ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
pop ebx
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x68ec0ae9
mov dword [ebp - 0x18], 0x51e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002aa20
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xae0], 0x57b5bf2d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002aa08
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002aa48
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x1002aa45
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]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff3
je 0x1002aa25
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xadc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0xfffffffc
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x20], 0xc290
mov dword [ebp - 8], 0xfffffff9
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x2c], 0xb785b647
mov dword [ebp - 0x18], 0x93cc
mov dword [ebp - 8], eax
jmp 0x1002aab8
cmp dword [ebp - 8], 0xfffffffc
jge 0x1002aaa3