Function at 0x1002f28b
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Compare security identifiers
Create pipe
Delete file
Delete registry key
Delete registry value
Enumerate gui resources
Get geographical location
Parse pe header
Query environment variable
Set environment variable
Terminate process

Disassembly:
mov eax, 0x10080e86
call fcn.1007fb08
mov eax, 0x13f4
call fcn.1007b480
mov dword [ebp - 0x54], ecx
xor eax, eax
or ecx, 0xffffffff
mov byte [ebp - 0x5d], dl
push ebx
mov dword [ebp - 0x18], ecx
mov byte [ebp - 0x49], al
push esi
push edi
cmp byte [ebp - 0x49], al
je 0x1002f2d2
push 0x1857
push 0x2321
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
or ecx, 0xffffffff
push 0xffffffffffffffec
pop esi
push 0xfffffffffffffff2
pop ebx
push 6
mov dword [ebp - 0x18], esi
pop edx
jmp 0x1002f312
mov dword [ebp - 0x44], 0x29bf39
mov dword [ebp - 0xcb4], edx
mov dword [ebp - 0xcb0], edx
mov dword [ebp - 0xcac], edx
mov dword [ebp - 0xca8], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xcac], eax
mov dword [ebp - 0x44], 0xa0b8ee41
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f2e0
xor eax, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002f33e
push 0x1857
push 0x2321
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
push 6
pop edx
mov dword [ebp - 0x18], esi
jmp 0x1002f375
mov dword [ebp - 0x44], 0x29bf39
mov dword [ebp - 0xd34], edx
mov dword [ebp - 0xd30], edx
mov dword [ebp - 0xd2c], edx
mov dword [ebp - 0xd28], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xd2c], eax
mov dword [ebp - 0x44], 0xa0b8ee41
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f343
push 3
lea ecx, [ebp - 0x14c]
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], 0x5020f89b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f3c5
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
mov dword [eax], 0xdc85f70a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f3a6
xor eax, eax
push 2
pop esi
mov dword [ebp - 0x28], esi
push 1
pop edi
cmp dword [ebp - 0x28], eax
jl 0x1002f5fa
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], 0x349b8ae0
mov dword [ebp - 0x1c], 0x4674
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x1002f56d
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f40a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
add ecx, dword [eax]
je 0x1002f428
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002f42a
jmp 0x1002f42c
xor eax, eax
mov edi, eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
lea ecx, [ebp - 0x14c]
imul eax, dword [eax], 0xe780
mov dword [ebp - 0x14], eax
push dword [ebp - 0x28]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
xor edx, edx
sub edi, ecx
mov esi, eax
mov ecx, dword [ebp - 0x24]
cmp edi, ecx
mov ecx, dword [ebp - 0x14]
setle dl
neg ecx
xor eax, eax
cmp ecx, edx
setne al
cmp dword [esi], eax
jl 0x1002f540
mov dword [ebp - 0x1c], 8
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002f516
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
xor edi, edi
xor eax, eax
inc edi
cmp dword [ebp - 0x14], eax
jne 0x1002f4a6
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
mov esi, eax
call fcn.1001694b
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
inc ecx
je 0x1002f4e7
mov eax, dword [ebp - 0x28]
push 2
lea ecx, [ebp - 0x14c]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x14c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x28]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002f519
mov esi, eax
jmp 0x1002f51b
xor edi, edi
inc edi
mov esi, edi
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14c]
call fcn.1001694b
xor ecx, ecx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x28]
setl cl
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x24]
jmp 0x1002f55e
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002f55b
push 0x193f
push 0x2574
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor edi, edi
inc edi
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002f3f4
push 2
pop esi
mov dword [ebp - 0x14], eax
jmp 0x1002f5ec
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jg 0x1002f5e9
mov dword [ebp - 0x40], 0xa349a2dd
lea ecx, [ebp - 0x14c]
push esi
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
sub ecx, dword [eax]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x1c], edi
push dword [ebp - 0x24]
call fcn.1001694b
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
setle dl
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ebx, ebx
cmp edx, 0x1ae2efaa
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x40]
cmp ebx, eax
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002f57a
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1002f572
dec dword [ebp - 0x28]
jns 0x1002f3d7
or ebx, 0xffffffff
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], ebx
call fcn.10016946
mov dword [ebp - 0x18], ebx
mov edx, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002f625
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
push 0xfffffffffffffffd
setle cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle bl
sub ebx, 0x61581472
neg ebx
sbb ebx, ebx
xor ecx, ecx
neg ebx
cmp ebx, eax
mov eax, dword [ebp - 0x24]
pop ebx
setl cl
xor edx, edx
cmp eax, ecx
mov eax, ebx
push 4
setle dl
sub eax, edx
sub eax, dword [ebp - 0x24]
pop ecx
cmp eax, edi
jae 0x1002f7ba
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002f6a1
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_SetTextColor]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002f6c1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x368], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002f6a9
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f6dd
push 0x20c6
push 0x1de7
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
xor eax, eax
dec dword [ebp - 0x368]
mov byte [ebp - 0xd], al
mov dword [ebp - 0x14], 0x2cb13638
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f70d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x944], 0x3342eb9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f6f5
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x1002f760
mov dword [ebp - 0x20], 0xc4530722
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f72d
call dword [sym.imp.USER32.dll_GetCapture]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jg 0x1002f75b
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f746
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
mov eax, dword [ebp - 0x20]
push 0
mov eax, dword [ebp + eax*4 - 0x944]
inc dword [ebp - 0x20]
pop eax
cmp dword [ebp - 0x20], edi
jle 0x1002f735
dec dword [ebp - 0x14]
jns 0x1002f715
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002f780
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x944], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f768
xor eax, eax
cmp byte [ebp - 0xd], 0
je 0x1002f9a6
mov dword [ebp - 0x20], 0xdd1e1e87
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f7b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb04], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f79d
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002f96a
mov dword [ebp - 0x14], esi
mov eax, 0xfff7
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x24], 0xffffffeb
cmp dword [ebp - 0x24], 3
jge 0x1002f8b4
push 9
pop edi
mov dword [ebp - 0x2c], 0xc4177fd8
xor edx, edx
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x5cc], esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
push 3
setne dl
xor eax, eax
cmp edx, 2
mov edx, 0xf323
setne al
xor ecx, ecx
cmp esi, eax
pop esi
setg cl
sub edx, ecx
xor ecx, ecx
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
sub edx, 0xd2c6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x24]
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x1002f89f
mov dword [ebp - 0x14], eax
jmp 0x1002f895
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f892
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1002f87f
dec dword [ebp - 0x2c]
jns 0x1002f87a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002f7ee
push 2
pop esi
xor edi, edi
push 4
inc edi
pop ecx
mov dword [ebp - 0x24], 0xd
cmp dword [ebp - 0x24], 0xc
jne 0x1002f69f
xor eax, eax
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f8ee
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5d4], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f8d6
xor eax, eax
cmp dword [ebp - 0x5cc], eax
jne 0x1002f90f
mov eax, dword [ebp - 0x5cc]
or eax, 0xffffffff
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
sbb eax, eax
inc eax
add eax, 0x9ab6
je 0x1002f911
mov eax, edi
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x24]
jmp 0x1002f8bb
mov dword [ebp - 0x3c], 0x56a9ef72
mov dword [ebp - 0x3c], eax
jmp 0x1002f962
mov dword [ebp - 0x18], 0xf7d65121
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x1002f95f
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xb04], 0
jne 0x1002f95d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xb04]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xb04], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1002f934
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x1002f925
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1002f919
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002f98f
push 0x1af1
push 0x1cf3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x1857
push 0x2321
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0xf
cmp dword [ebp - 0x30], 7
jg 0x1002fa6a
mov dword [ebp - 0x14], 0x20fe6e32
lea ecx, [ebp - 0x7a4]
push edi
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002f9fc
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7a4]
call fcn.1001694b
mov dword [eax], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002f9de
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002fa18
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002fa15
push edi
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
jge 0x1002fa01
mov dword [ebp - 0x14], eax
jmp 0x1002fa44
push dword [ebp - 0x14]
call fcn.1001694b
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7a4]
mov esi, eax
call fcn.1001694b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x14]
xor eax, eax
lea ecx, [ebp - 0x7a4]
cmp dword [ebp - 0x14], eax
jle 0x1002fa23
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016946
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
jle 0x1002f9be
push 2
pop esi
mov dword [ebp - 0x18], 0xffffffec
jmp 0x1002faa8
mov dword [ebp - 0x44], 0x29bf39
push 6
pop eax
mov dword [ebp - 0xcd4], eax
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xccc], eax
mov dword [ebp - 0xcc8], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xccc], eax
mov dword [ebp - 0x44], 0xa0b8ee41
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff2
jl 0x1002fa73
push 3
lea ecx, [ebp - 0x17c]
call fcn.100168de
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x28], 0x5020f89b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002faf9
push dword [ebp - 0x18]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
mov dword [eax], 0xdc85f70a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002fada
xor eax, eax
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x1002fd2b
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], 0x349b8ae0
mov dword [ebp - 0x1c], 0x4674
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x1002fc9b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002fb38
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
add ecx, dword [eax]
je 0x1002fb56
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002fb58
jmp 0x1002fb5a
xor eax, eax
mov edi, eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
lea ecx, [ebp - 0x17c]
imul eax, dword [eax], 0xe780
mov dword [ebp - 0x14], eax
push dword [ebp - 0x28]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
xor edx, edx
sub edi, ecx
mov esi, eax
mov ecx, dword [ebp - 0x24]
cmp edi, ecx
mov ecx, dword [ebp - 0x14]
setle dl
neg ecx
xor eax, eax
cmp ecx, edx
setne al
cmp dword [esi], eax
jl 0x1002fc6e
mov dword [ebp - 0x1c], 8
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002fc44
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
xor edi, edi
xor eax, eax
inc edi
cmp dword [ebp - 0x14], eax
jne 0x1002fbd4
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
mov esi, eax
call fcn.1001694b
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
inc ecx
je 0x1002fc15
mov eax, dword [ebp - 0x28]
push 2
lea ecx, [ebp - 0x17c]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x17c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x28]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002fc47
mov esi, eax
jmp 0x1002fc49
xor edi, edi
inc edi
mov esi, edi
push dword [ebp - 0x28]
lea ecx, [ebp - 0x17c]
call fcn.1001694b
xor ecx, ecx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x28]
setl cl
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x24]
jmp 0x1002fc8c
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002fc89
push 0x193f
push 0x2574
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor edi, edi
inc edi
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002fb22
push 2
pop esi
mov dword [ebp - 0x14], eax
jmp 0x1002fd1a
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jg 0x1002fd17
mov dword [ebp - 0x40], 0xa349a2dd
lea ecx, [ebp - 0x17c]
push esi
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
sub ecx, dword [eax]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x1c], edi
push dword [ebp - 0x24]
call fcn.1001694b
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
setle dl
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ebx, ebx
cmp edx, 0x1ae2efaa
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x40]
cmp ebx, eax
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002fca8
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1002fca0
dec dword [ebp - 0x28]
jns 0x1002fb05
push 0xfffffffffffffffd
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], eax
call fcn.10016946
or eax, 0xffffffff
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], eax
mov edx, edi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002fd56
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setle cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle cl
sub ecx, 0x61581472
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, ebx
setle cl
sub eax, ecx
sub eax, dword [ebp - 0x24]
cmp eax, edi
jae 0x1002fdcf
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002ff2d
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_SetTextColor]
jmp 0x1002ff2d
mov dword [ebp - 0x14], esi
mov eax, 0xfff7
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], eax
push 3
mov dword [ebp - 0x24], 0xffffffeb
pop esi
cmp dword [ebp - 0x24], esi
jge 0x1002fec5
push 9
pop edi
mov dword [ebp - 0x2c], 0xc4177fd8
xor edx, edx
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x5e8], esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
push 3
setne dl
xor eax, eax
cmp edx, 2
mov edx, 0xf323
setne al
xor ecx, ecx
cmp esi, eax
pop esi
setg cl
sub edx, ecx
xor ecx, ecx
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
sub edx, 0xd2c6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x24]
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x1002feb6
mov dword [ebp - 0x14], eax
jmp 0x1002feac
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002fea9
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1002fe96
dec dword [ebp - 0x2c]
jns 0x1002fe91
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002fe05
xor edi, edi
inc edi
mov dword [ebp - 0x24], 0xd
cmp dword [ebp - 0x24], 0xc
jne 0x1002ff2d
push 4
pop ecx
xor eax, eax
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002fefe
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5f0], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002fee6
xor eax, eax
cmp dword [ebp - 0x5e8], eax
jne 0x1002ff1f
mov eax, dword [ebp - 0x5e8]
or eax, 0xffffffff
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
sbb eax, eax
inc eax
add eax, 0x9ab6
je 0x1002ff21
mov eax, edi
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xc
je 0x1002fed5
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0xf
jmp 0x1002ffe9
mov dword [ebp - 0x14], 0x20fe6e32
lea ecx, [ebp - 0x93c]
push edi
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002ff88
push dword [ebp - 0x18]
lea ecx, [ebp - 0x93c]
call fcn.1001694b
mov dword [eax], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002ff6a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002ffa4
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ffa1
push edi
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
jge 0x1002ff8d
mov dword [ebp - 0x14], eax
jmp 0x1002ffd0
push dword [ebp - 0x14]
call fcn.1001694b
push dword [ebp - 0x14]
lea ecx, [ebp - 0x93c]
mov esi, eax
call fcn.1001694b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x14]
xor eax, eax
lea ecx, [ebp - 0x93c]
cmp dword [ebp - 0x14], eax
jle 0x1002ffaf
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016946
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
jle 0x1002ff46
xor eax, eax
mov dword [ebp - 0x14], 0x2cb13638
push 2
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jge 0x1003001f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x99c], 0x3342eb9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10030007
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x10030072
mov dword [ebp - 0x20], 0xc4530722
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003003f
call dword [sym.imp.USER32.dll_GetCapture]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jg 0x1003006d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030058
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
mov eax, dword [ebp - 0x20]
push 0
mov eax, dword [ebp + eax*4 - 0x99c]
inc dword [ebp - 0x20]
pop eax
cmp dword [ebp - 0x20], edi
jle 0x10030047
dec dword [ebp - 0x14]
jns 0x10030027
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030092
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x99c], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003007a
xor eax, eax
mov byte [ebp - 0x49], al
mov dword [ebp - 0x20], 0xdd1e1e87
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x100300bd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa50], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100300a8
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10030113
mov dword [ebp - 0x3c], 0x56a9ef72
mov dword [ebp - 0x3c], eax
jmp 0x1003010b
mov dword [ebp - 0x18], 0xf7d65121
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x10030108
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xa50], 0
jne 0x10030106
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xa50]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xa50], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x100300dd
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x100300ce
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x100300c2
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003013a
push 0x1af1
push 0x1cf3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
cmp byte [ebp - 0x49], 0
je 0x100301af
mov dword [ebp - 0x20], 0x324ec2e0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], 0x15
jmp 0x10030187
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030184
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x13
jle 0x1003016b
mov eax, 0x1afcb7a8
sub eax, dword [ebp - 0x20]
push 0x1857
push 0x2321
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x100301d1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x398], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100301b9
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100301eb
push 0x20c6
push 0x1de7
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
dec dword [ebp - 0x398]
mov dword [ebp - 0x18], 0xffffffec
cmp dword [ebp - 0x18], 0xfffffff2
jge 0x1003052c
or ebx, 0xffffffff
mov dword [ebp - 0x20], 0xfffffff8
lea ecx, [ebp - 0xb70]
mov dword [ebp - 0x38], 0xdbda7fe6
mov dword [ebp - 0x38], 0xe39f3faa
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
push 9
pop eax
mov dword [ebp - 0x38], 0x18e418a5
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x977a124
push edi
call fcn.100168de
push 4
pop ecx
xor eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10030275
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x137c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030261
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003029b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb70]
call fcn.1001694b
mov dword [eax], 0xfffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003027d
xor eax, eax
push eax
lea ecx, [ebp - 0xb70]
call fcn.1001694b
lea ecx, [ebp - 0xb70]
dec dword [eax]
mov dword [ebp - 4], ebx
call fcn.10016946
mov dword [ebp - 0x34], 0x29bf39
xor eax, eax
mov dword [ebp - 0x14], 0x324ec2e0
mov dword [ebp - 0x14], eax
jmp 0x10030302
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100302ff
push 0x11c6
push 0x1333
push 0x26e4
push 0x1d40
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Ellipse]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe5
jge 0x100302cc
mov dword [ebp - 0x14], 0xffffffe3
jmp 0x10030338
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030335
push 0x28f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
jle 0x10030311
push 6
pop ecx
mov dword [ebp - 0xd74], ecx
mov dword [ebp - 0xd70], ecx
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xd68], ecx
lea ecx, [ebp - 0xa68]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], 0x6ce028f4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], 0xd8f27142
push 3
call fcn.100168de
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x100303ae
push dword [ebp - 0x24]
lea ecx, [ebp - 0xa68]
call fcn.1001694b
mov dword [eax], 0x7800ff6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1003038f
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jge 0x100303ce
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x58c], 0x888ad88c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100303b6
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x100303e4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1258], 0x963f6d1d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100303d3
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
setle dl
xor ebx, ebx
cmp edx, 0x1362
setg bl
xor edx, edx
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, ebx
setg al
xor edx, edx
cmp eax, 0xe4bf
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xc33c
jle 0x1003043e
cmp dword [ebp - 0x14], eax
jne 0x10030445
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x10030447
mov ecx, edi
mov eax, dword [ebp - 0x14]
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
lea ecx, [ebp - 0xa68]
setg dl
xor eax, eax
mov dword [ebp - 0x44], edx
mov esi, dword [ebp - 0x44]
push eax
call fcn.1001694b
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
or ebx, 0xffffffff
mov dword [ebp - 0x58c], ecx
lea ecx, [ebp - 0xa68]
mov dword [ebp - 4], ebx
call fcn.10016946
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xd6c], eax
mov dword [ebp - 0x3c], 0xd6c05baf
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x44], 0xfffffff8
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0x3c], 0xfffffff9
jmp 0x1003050f
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff1
jne 0x100304d9
mov dword [ebp - 0x34], 0xa0b8ee41
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff2
push 2
pop esi
jl 0x10030205
push 3
pop ebx
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
or eax, 0xffffffff
mov dword [ebp - 4], 6
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030576
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5a4]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030558
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030596
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x318], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003057e
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x100306d4
jmp 0x100305ab
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x100305e9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x728], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100305d1
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x724]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x728]
cmp ebx, eax
setge cl
sub ecx, esi
mov dword [ebp - 0x318], ecx
lea ecx, [ebp - 0x5a4]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x728]
test eax, eax
jne 0x10030661
cmp dword [ebp - 0x318], eax
jne 0x10030663
mov esi, eax
jmp 0x10030665
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x5a4]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
push 2
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x728]
setl dl
xor ebx, ebx
cmp edx, esi
pop esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x728]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x728], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x100305a9
push 3
pop ebx
or esi, 0xffffffff
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 4], esi
call fcn.10016946
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x6bc]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030729
push dword [ebp - 0x14]
lea ecx, [ebp - 0x6bc]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003070b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030749
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x394], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030731
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x10030888
jmp 0x1003075e
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003079c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x768], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030784
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x6bc]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x764]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x768]
cmp ebx, eax
setge cl
sub ecx, 2
mov dword [ebp - 0x394], ecx
lea ecx, [ebp - 0x6bc]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x768]
test eax, eax
jne 0x10030815
cmp dword [ebp - 0x394], eax
jne 0x10030817
mov esi, eax
jmp 0x10030819
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x6bc]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x768]
setl dl
xor ebx, ebx
cmp edx, esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x768]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x768], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x1003075c
push 3
pop ebx
or esi, 0xffffffff
lea ecx, [ebp - 0x6bc]
mov dword [ebp - 4], esi
call fcn.10016946
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
mov dword [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100308da
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5b4]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100308bc
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100308fa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x328], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100308e2
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x10030a39
jmp 0x1003090f
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003094d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x748], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030935
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x744]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x748]
cmp ebx, eax
setge cl
sub ecx, 2
mov dword [ebp - 0x328], ecx
lea ecx, [ebp - 0x5b4]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x748]
test eax, eax
jne 0x100309c6
cmp dword [ebp - 0x328], eax
jne 0x100309c8
mov esi, eax
jmp 0x100309ca
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x5b4]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x748]
setl dl
xor ebx, ebx
cmp edx, esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x748]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x748], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x1003090d
push 3
pop ebx
or esi, 0xffffffff
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 4], esi
call fcn.10016946
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x634]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
push 9
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030a8a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x634]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030a6c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030aaa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38c], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030a92
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x10030be9
jmp 0x10030abf
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10030afd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x788], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030ae5
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x634]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x784]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x788]
cmp ebx, eax
setge cl
sub ecx, 2
mov dword [ebp - 0x38c], ecx
lea ecx, [ebp - 0x634]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x788]
test eax, eax
jne 0x10030b76
cmp dword [ebp - 0x38c], eax
jne 0x10030b78
mov esi, eax
jmp 0x10030b7a
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x634]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x788]
setl dl
xor ebx, ebx
cmp edx, esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x788]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x788], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x10030abd
push 3
pop ebx
or esi, 0xffffffff
lea ecx, [ebp - 0x634]
mov dword [ebp - 4], esi
call fcn.10016946
mov dword [ebp - 0x30], 0x48261f9c
push 4
mov dword [ebp - 0x30], 0xffffffee
pop ecx
cmp dword [ebp - 0x30], ecx
jl 0x10030c83
push edi
lea ecx, [ebp - 0xc00]
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10030c48
push dword [ebp - 0x18]
lea ecx, [ebp - 0xc00]
call fcn.1001694b
mov dword [eax], 0x34e6d4f2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10030c2a
xor eax, eax
push eax
lea ecx, [ebp - 0xc00]
call fcn.1001694b
mov dword [eax], 0xfffffffe
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10030c6a
call dword [sym.imp.USER32.dll_GetCapture]
lea ecx, [ebp - 0xc00]
mov dword [ebp - 4], esi
call fcn.10016946
inc dword [ebp - 0x30]
push 4
pop eax
cmp dword [ebp - 0x30], eax
jge 0x10030c0d
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
mov dword [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030cc7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5c4]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030ca9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030ce7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x338], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030ccf
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x10030e26
jmp 0x10030cfc
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10030d3a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x718], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030d22
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x714]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x718]
cmp ebx, eax
setge cl
sub ecx, 2
mov dword [ebp - 0x338], ecx
lea ecx, [ebp - 0x5c4]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x718]
test eax, eax
jne 0x10030db3
cmp dword [ebp - 0x338], eax
jne 0x10030db5
mov esi, eax
jmp 0x10030db7
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x5c4]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x718]
setl dl
xor ebx, ebx
cmp edx, esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x718]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x718], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x10030cfa
push 3
pop ebx
or esi, 0xffffffff
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 4], esi
call fcn.10016946
push ebx
lea ecx, [ebp - 0x1ac]
call fcn.100168de
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x28], 0x5020f89b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030e80
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
mov dword [eax], 0xdc85f70a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030e62
xor eax, eax
push 2
pop esi
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x100310b5
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], 0x349b8ae0
mov dword [ebp - 0x1c], 0x4674
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x10031025
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030ec2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
add ecx, dword [eax]
je 0x10030ee0
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030ee2
jmp 0x10030ee4
xor eax, eax
mov edi, eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
lea ecx, [ebp - 0x1ac]
imul eax, dword [eax], 0xe780
mov dword [ebp - 0x14], eax
push dword [ebp - 0x28]
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
xor edx, edx
sub edi, ecx
mov esi, eax
mov ecx, dword [ebp - 0x24]
cmp edi, ecx
mov ecx, dword [ebp - 0x14]
setle dl
neg ecx
xor eax, eax
cmp ecx, edx
setne al
cmp dword [esi], eax
jl 0x10030ff8
mov dword [ebp - 0x1c], 8
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10030fce
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
xor edi, edi
xor eax, eax
inc edi
cmp dword [ebp - 0x14], eax
jne 0x10030f5e
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
mov esi, eax
call fcn.1001694b
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
inc ecx
je 0x10030f9f
mov eax, dword [ebp - 0x28]
push 2
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1ac]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x28]
call fcn.1001694b
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10030fd1
mov esi, eax
jmp 0x10030fd3
xor edi, edi
inc edi
mov esi, edi
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1ac]
call fcn.1001694b
xor ecx, ecx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x28]
setl cl
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x24]
jmp 0x10031016
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031013
push 0x193f
push 0x2574
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor edi, edi
inc edi
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x10030eac
push 2
pop esi
mov dword [ebp - 0x14], eax
jmp 0x100310a4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jg 0x100310a1
mov dword [ebp - 0x40], 0xa349a2dd
lea ecx, [ebp - 0x1ac]
push esi
call fcn.1001694b
mov ecx, dword [ebp - 0x24]
sub ecx, dword [eax]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1c], edi
push dword [ebp - 0x24]
call fcn.1001694b
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
setle dl
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ebx, ebx
cmp edx, 0x1ae2efaa
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x40]
cmp ebx, eax
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x10031032
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1003102a
dec dword [ebp - 0x28]
jns 0x10030e8f
push 3
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], eax
call fcn.10016946
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x640]
mov dword [ebp - 0x44], ebx
push edi
call fcn.100168de
or eax, 0xffffffff
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003110d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x640]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100310ef
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003112d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x39c], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10031115
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x1003126b
jmp 0x10031142
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x551da622
mov dword [ebp - 0x44], 0x79e672ca
mov dword [ebp - 0x34], 0x4da86284
mov dword [ebp - 0x1c], edi
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10031180
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x738], 0x7adf1adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031168
xor eax, eax
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x640]
mov dword [ebp - 0x44], 6
push eax
call fcn.1001694b
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, dword [ebp - 0x734]
cmp ecx, edx
setge bl
xor ecx, ecx
imul ebx, dword [eax]
mov eax, dword [ebp - 0x738]
cmp ebx, eax
setge cl
sub ecx, esi
mov dword [ebp - 0x39c], ecx
lea ecx, [ebp - 0x640]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1001694b
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x738]
test eax, eax
jne 0x100311f8
cmp dword [ebp - 0x39c], eax
jne 0x100311fa
mov esi, eax
jmp 0x100311fc
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x640]
call fcn.1001694b
mov ecx, dword [ebp - 0x40]
xor edx, edx
push 2
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x738]
setl dl
xor ebx, ebx
cmp edx, esi
pop esi
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x738]
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x738], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jle 0x10031140
push 3
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x640]
mov dword [ebp - 4], eax
call fcn.10016946
movdqa xmm0, xmmword [0x10007ca0]
lea eax, [ebp - 0xfdc]
push eax
lea eax, [ebp - 0xfec]
push eax
lea ecx, [ebp - 0x1240]
movdqu xmmword [ebp - 0xfec], xmm0
call fcn.1001695a
lea ecx, [ebp - 0x1f6]
mov esi, eax
call fcn.10008d33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x116c]
push dword [esi]
call fcn.10016920
push 4
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0xa80]
pop esi
mov dword [ebp - 0x38], 0x42a1e948
mov dword [ebp - 0x1c], 0x14c90d29
push esi
call fcn.100168de
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031309
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13cc], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100312f5
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003132f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa80]
call fcn.1001694b
mov dword [eax], 0x263d1880
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031311
xor eax, eax
push eax
lea ecx, [ebp - 0xa80]
call fcn.1001694b
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
inc dword [eax]
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x10031370
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003136b
push 0x1af1
push 0x1cf3
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x1003134d
lea ecx, [ebp - 0xa80]
call fcn.10016946
or esi, 0xffffffff
lea ecx, [ebp - 0x116c]
mov dword [ebp - 4], esi
call fcn.10016946
push ebx
lea ecx, [ebp - 0xb88]
call fcn.100168de
mov dword [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x20], 0x6f5020f8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100313ce
push dword [ebp - 0x18]
lea ecx, [ebp - 0xb88]
call fcn.1001694b
mov dword [eax], 0xdc85f70a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100313b0
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100313f0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xb88]
call fcn.1001694b
mov dword [eax], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100313d6
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031400
push eax
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
lea ecx, [ebp - 0xb88]
mov dword [ebp - 4], esi
call fcn.10016946
movdqa xmm0, xmmword [0x10007cc0]
lea eax, [ebp - 0x10dc]
push eax
lea eax, [ebp - 0x10ec]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x24ec2e0c
lea ecx, [ebp - 0x1250]
push eax
movdqu xmmword [ebp - 0x10ec], xmm0
call fcn.1001695a
lea ecx, [ebp - 0x1ed]
mov esi, eax
call fcn.10008d33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x11e4]
push dword [esi]
call fcn.10016920
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x30], eax
inc ebx
cmp dword [ebp - 0x30], 0xffffffe3
jg 0x100314a9
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
jmp 0x1003149e
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003149b
push eax
push 0xcfa
push 0x23eb
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10031475
dec dword [ebp - 0x30]
jmp 0x10031467
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100314b9
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x11e4]
call fcn.10016946
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x14], 0x48bbca63
mov dword [ebp - 0x14], 0xfffffff2
jmp 0x10031552
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x1c], 0xfffffffe
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x1003150f
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jge 0x1003150d
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003150d
mov eax, ebx
jmp 0x1003150f
xor eax, eax
xor ecx, ecx
cmp eax, 0x7e4a906
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
sub ecx, 0x7c39811d
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
setne dl
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003154f
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_ValidateRect]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x13
jl 0x100314db
push ebx
lea ecx, [ebp - 0x5e0]
call fcn.100168de
push 2
pop esi
push esi
lea ecx, [ebp - 0x828]
mov dword [ebp - 4], 0x11
call fcn.100168de
mov byte [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x1c], 0xa3e8f088
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x44], 0x18144871
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x100315b8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xc4], 0x29989d2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100315a0
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x100315de
push dword [ebp - 0x24]
lea ecx, [ebp - 0x828]
call fcn.1001694b
mov dword [eax], 0x9f7a9d2e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100315c0
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100315fb
push 9
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x348], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x100315e9
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x828]
mov esi, dword [ebp - 0xc4]
push ebx
call fcn.1001694b
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
cmp eax, esi
setne cl
cmp ebx, ecx
mov dword [ebp - 0x348], ecx
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0xc4]
je 0x1003163c
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x348], eax
je 0x1003163e
mov edx, ebx
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc0]
setg dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0xc4]
setle bl
xor ecx, ecx
cmp eax, ebx
setl cl
xor ebx, ebx
inc ebx
cmp ecx, dword [ebp - 0xc0]
jge 0x10031689
push ebx
lea ecx, [ebp - 0x828]
call fcn.1001694b
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0x40], 0x9e923e64
mov eax, dword [ebp - 0xc4]
sbb ecx, ecx
neg ecx
imul ecx, eax
mov eax, dword [ebp - 0x44]
sub ecx, eax
sub ecx, 0x46d23205
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x828]
mov byte [ebp - 4], 0x11
call fcn.10016946
or esi, 0xffffffff
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x20], 0xfffffffa
push 2
call fcn.100168de
mov byte [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10031726
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa98]
call fcn.1001694b
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003170b
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003173c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1148], 0x945cb81e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003172b
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jl 0x1003174f
xor eax, eax
cmp dword [ebp - 0x40], eax
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0xa98]
push ebx
call fcn.1001694b
mov dword [eax], esi
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
dec ecx
add eax, ecx
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0x1144], eax
mov byte [ebp - 4], 0x11
call fcn.10016946
mov ebx, 0x720e
xor eax, eax
mov dword [ebp - 0xcf4], ebx
mov dword [ebp - 0xcf0], ebx
mov dword [ebp - 0xcec], ebx
mov dword [ebp - 0xce8], ebx
push 4
mov dword [ebp - 0x18], 0x31e42a43
pop ecx
mov dword [ebp - 0xcf4], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x13
jl 0x100317e6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100317da
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindow]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x13
jge 0x100317c6
push 4
pop ecx
mov dword [ebp - 0x14], 7
xor esi, esi
mov dword [ebp - 0x1c], 0x294bb489
inc esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], eax
jmp 0x10031810
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x12a8], 0xca3eaa3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100317ff
mov dword [ebp - 0x14], 0xfffffff3
jmp 0x100318af
mov dword [ebp - 0x18], 0xcdcb363f
xor edx, edx
mov dword [ebp - 0x30], 0x7909b792
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setne dl
xor eax, eax
imul edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x14], eax
jne 0x100318a7
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 5
setl cl
cmp ecx, dword [ebp - 0x18]
je 0x10031861
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10031863
mov eax, esi
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edx
setne cl
cmp ecx, dword [ebp - 0x14]
je 0x1003187f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov ecx, dword [ebp - 0x30]
setg dl
neg ecx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
mov dword [ebp - 0x12a8], eax
test eax, eax
je 0x100318a9
mov eax, esi
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jne 0x10031821
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100318e1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5e0]
call fcn.1001694b
mov dword [eax], 0x17f75960
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100318c3
xor eax, eax
mov dword [ebp - 0x14], 0x32b1cecb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10031908
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6d0], 0x841b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100318f0
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003193c
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0x8f69f7fd
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031939
push 0xda3
push 0x15e6
push eax
push eax
push 0x11ab
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x1003190d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031961
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6d0], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031949
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031981
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x37c], 0xaafa0b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031969
xor eax, eax
mov dword [ebp - 0x38], esi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031996
push eax
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100319b8
push eax
push eax
push 0x1a9a
push 0x3e0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x100321d2
push 2
pop edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], 0xa4d073ff
mov dword [ebp - 0x3c], 0xf6f08421
mov dword [ebp - 0x40], 0xc2d621ec
mov dword [ebp - 0x3c], 0xb568
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, 0xd018d303
setg cl
cmp eax, ecx
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
neg ecx
sub eax, ecx
test eax, eax
jg 0x10031a2a
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x10031a2c
mov ecx, esi
mov eax, dword [ebp - 0x20]
sub ecx, eax
or eax, 0xffffffff
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
jmp 0x10031a53
mov dword [ebp - 0x40], 0xebec5ec6
mov dword [ebp - 0x44], 0xfffffff7
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x18
jne 0x10031a3c
mov dword [ebp - 0x2c], 0x551da622
xor eax, eax
push 0xfffffffffffffff8
pop edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x20], 0xba86
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10031a8e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf28], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10031a7a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10031aa4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1184], 0x72c40a98
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10031a93
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, 0x47c9d5fa
setg cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x1cb4
jge 0x10031b09
or eax, 0xffffffff
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 4], eax
call fcn.10016946
push 0xffffffffffffffee
mov ebx, 0x48261f9c
pop edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], edi
jmp 0x10032264
push esi
lea ecx, [ebp - 0xab0]
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1003222e
push dword [ebp - 0x18]
lea ecx, [ebp - 0xab0]
call fcn.1001694b
mov dword [eax], 0x34e6d4f2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10032210
xor eax, eax
push eax
lea ecx, [ebp - 0xab0]
call fcn.1001694b
mov dword [eax], 0xfffffffe
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032250
call dword [sym.imp.USER32.dll_GetCapture]
or eax, 0xffffffff
lea ecx, [ebp - 0xab0]
mov dword [ebp - 4], eax
call fcn.10016946
inc dword [ebp - 0x30]
push 4
pop eax
cmp dword [ebp - 0x30], eax
jge 0x100321f3
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp - 0x30], edi
pop ebx
jmp 0x100322e7
push esi
lea ecx, [ebp - 0xba0]
call fcn.100168de
xor eax, eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x100322b1
push dword [ebp - 0x18]
lea ecx, [ebp - 0xba0]
call fcn.1001694b
mov dword [eax], 0x34e6d4f2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10032293
push eax
lea ecx, [ebp - 0xba0]
call fcn.1001694b
mov dword [eax], 0xfffffffe
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100322d3
cmp dword [ebp - 0x30], ebx
jge 0x10032276
push 3
pop edi
push edi
lea ecx, [ebp - 0x194]
call fcn.100168de
mov dword [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x28], 0x5020f89b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1003233b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x194]
call fcn.1001694b
mov dword [eax], 0xdc85f70a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003231d
push 2
pop ebx
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x10032576