Function at 0x1002e858
Capabilities:
Check os version
Delete directory
Extract resource via kernel32 functions
Get disk information
Get file size
Get file system object information
Get graphical window text
Get keyboard layout
Identify system language via api
Modify service
Query or enumerate registry key
Query service status
Read .ini file
Set registry value

Disassembly:
mov eax, 0x10079fdd
call fcn.10079d40
sub esp, 0xf04
push ebx
mov ebx, dword [sym.imp.ole32.dll_CoInitialize]
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x30], 0xac204e2
push 8
mov byte [ebp - 0x89], dl
or edx, 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x54], ecx
pop ecx
mov dword [ebp - 0x50], edx
push 0
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x28], 0x24b34d7a
pop eax
mov dword [ebp - 0x30], 0x19
cmp dword [ebp - 0x30], 0x1b
push 1
pop esi
jle 0x1002ea7c
mov dword [ebp - 0x20], 0x90197f0a
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], 0xbec
mov dword [ebp - 0x48], 0xdcff2fd6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002e8f1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1d8], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002e8d8
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1002ea6c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1d8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1d8]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002e9a5
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1d8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
add eax, 0xfffffffd
add ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, dword [ebp + eax*4 - 0x1d8]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1d4]
sub ecx, 0x1494
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x2570d978
je 0x1002e9a5
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x6bb2
test eax, eax
je 0x1002ea18
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x3c], eax
je 0x1002e9dc
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
sub ecx, eax
xor eax, eax
cmp ecx, esi
setle al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0x14
jl 0x1002ea5a
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ea0d
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x14
jge 0x1002e9ff
jmp 0x1002ea5a
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002ea32
push eax
push eax
push 0x25b6
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002ea54
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ea51
push 0x172e
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jg 0x1002ea37
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1002e8fe
push 8
xor eax, eax
pop ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1b
jg 0x1002e8b7
or edx, 0xffffffff
dec dword [ebp - 0x28]
mov dword [ebp - 0x30], 0xac204e2
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x28], 0x24b34d7a
mov dword [ebp - 0x30], 0x19
cmp dword [ebp - 0x30], 0x1b
jle 0x1002ec6f
mov dword [ebp - 0x20], 0x90197f0a
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], 0xbec
mov dword [ebp - 0x48], 0xdcff2fd6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002eae4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002eacb
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1002ec5f
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x188]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x188]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002eb98
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x188]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x188]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
add eax, 0xfffffffd
add ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, dword [ebp + eax*4 - 0x188]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x184]
sub ecx, 0x1494
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x2570d978
je 0x1002eb98
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x188]
mov ecx, dword [ebp - 0x184]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x6bb2
test eax, eax
je 0x1002ec0b
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x3c], eax
je 0x1002ebcf
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
sub ecx, eax
xor eax, eax
cmp ecx, esi
setle al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0x14
jl 0x1002ec4d
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ec00
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x14
jge 0x1002ebf2
jmp 0x1002ec4d
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002ec25
push eax
push eax
push 0x25b6
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002ec47
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ec44
push 0x172e
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jg 0x1002ec2a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1002eaf1
push 8
xor eax, eax
pop ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1b
jg 0x1002eaaa
or edx, 0xffffffff
dec dword [ebp - 0x28]
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002ec9b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbb8], 0x4f1f13b0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002ec82
xor eax, eax
mov dword [ebp - 0x28], 0x11
cmp dword [ebp - 0x28], 0xfffffff7
je 0x1002edcd
jmp 0x1002ecb0
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], 0x2891ba80
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x44], 0x65e4
cmp dword [ebp - 0x28], eax
je 0x1002ed03
imul eax, dword [ebp - 0x34], 0x79cf
dec dword [ebp - 0x34]
test eax, eax
je 0x1002ed01
mov eax, esi
jmp 0x1002ed03
xor eax, eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0x7e673292
setle cl
add ecx, dword [ebp - 0x3c]
je 0x1002ed91
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002ed35
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x34], 0xffffffe6
jmp 0x1002ed89
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], eax
jl 0x1002ed86
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jg 0x1002ed81
mov dword [ebp - 0x1c], 0x82c32b96
mov dword [ebp - 0x1c], eax
jmp 0x1002ed71
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ed6e
call dword [sym.imp.USER32.dll_CreateMenu]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x1002ed5d
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x1002ed51
or edx, 0xffffffff
dec dword [ebp - 0x3c]
jns 0x1002ed46
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x29
jle 0x1002ed3e
jmp 0x1002edb7
mov dword [ebp - 0x24], 3
mov dword [ebp - 0x48], 0xb7136239
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002edb7
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
inc dword [ebp - 0x44]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
push 0xffffffffffffffff
pop edx
push 8
pop ecx
jne 0x1002ecae
mov dword [ebp - 0x14], 0x17be1879
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0xef51
mov dword [ebp - 0x48], 0x6b34
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002ee0e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002edf6
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002ee24
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x570], 0xdac842f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002ee13
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
xor eax, eax
cmp eax, edx
mov eax, dword [ebp - 0xd4]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xd4]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x56c]
setne cl
xor edx, edx
cmp ecx, 0x528a
mov ecx, dword [ebp - 0x24]
setne dl
imul eax, edx
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x56c]
jne 0x1002eec1
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x38], 0x70cc321a
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], 0xffff0007
jmp 0x1002ef2c
or eax, 0xffffffff
mov dword [ebp - 0x14], 0xfd09
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, 0x8909
setl cl
xor eax, eax
cmp ecx, 5
setg al
xor ecx, ecx
cmp eax, 0xce8d
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002ef2e
push 0x13fb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor eax, eax
mov dword [ebp - 0x30], 0xac204e2
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ef51
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002ef73
push eax
push 0xe3c
push eax
push 0x114
push 0x117d
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 0x24b34d7a
mov dword [ebp - 0x30], 0x19
cmp dword [ebp - 0x30], 0x1b
jle 0x1002f162
push 8
pop ecx
mov dword [ebp - 0x20], 0x90197f0a
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], 0xbec
mov dword [ebp - 0x48], 0xdcff2fd6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002efd7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x19c], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002efbe
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1002f152
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x19c]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002f08b
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x19c]
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
add eax, 0xfffffffd
add ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, dword [ebp + eax*4 - 0x19c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x198]
sub ecx, 0x1494
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x2570d978
je 0x1002f08b
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x19c]
mov ecx, dword [ebp - 0x198]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x6bb2
test eax, eax
je 0x1002f0fe
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x3c], eax
je 0x1002f0c2
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
sub ecx, eax
xor eax, eax
cmp ecx, esi
setle al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0x14
jl 0x1002f140
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f0f3
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x14
jge 0x1002f0e5
jmp 0x1002f140
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f118
push eax
push eax
push 0x25b6
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f13a
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f137
push 0x172e
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jg 0x1002f11d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1002efe4
push 8
xor eax, eax
pop ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1b
jg 0x1002ef9d
or ecx, 0xffffffff
dec dword [ebp - 0x28]
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f18e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc48], 0x4f1f13b0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f175
xor eax, eax
mov dword [ebp - 0x28], 0x11
cmp dword [ebp - 0x28], 0xfffffff7
je 0x1002f2bc
jmp 0x1002f1a6
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x38], 0x2891ba80
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x38], esi
push 3
pop edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x44], 0x65e4
cmp dword [ebp - 0x28], eax
je 0x1002f1fc
imul eax, dword [ebp - 0x34], 0x79cf
dec dword [ebp - 0x34]
test eax, eax
je 0x1002f1fa
mov eax, esi
jmp 0x1002f1fc
xor eax, eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0x7e673292
setle cl
add ecx, dword [ebp - 0x3c]
je 0x1002f28a
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f22b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
mov dword [ebp - 0x34], 0xffffffe6
jmp 0x1002f282
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], eax
jl 0x1002f27f
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jg 0x1002f27a
mov dword [ebp - 0x1c], 0x82c32b96
mov dword [ebp - 0x1c], eax
jmp 0x1002f26a
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f267
call dword [sym.imp.USER32.dll_CreateMenu]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x1002f256
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x1002f24a
or ecx, 0xffffffff
dec dword [ebp - 0x3c]
jns 0x1002f23f
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x29
jle 0x1002f234
jmp 0x1002f2ac
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x48], 0xb7136239
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f2ac
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
inc dword [ebp - 0x44]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
jne 0x1002f1a1
mov dword [ebp - 0x40], 7
xor ebx, ebx
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
mov edi, dword [sym.imp.USER32.dll_MessageBeep]
setne bl
neg eax
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [ebp - 0x40], ecx
jge 0x1002f40d
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002f325
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x268], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002f311
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x1002f3db
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xfffffff6
cmp dword [ebp - 0x28], 7
jle 0x1002f3d8
mov dword [ebp - 0x24], 4
cmp dword [ebp - 0x28], eax
je 0x1002f3a1
mov eax, dword [ebp - 0x268]
sub eax, 0x51b32e26
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
add edx, 0xffff31c5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x268]
jge 0x1002f39f
mov eax, esi
jmp 0x1002f3a1
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f3c5
push eax
push 0xe3c
push eax
push 0x114
push 0x117d
call dword [sym.imp.GDI32.dll_ExtCreatePen]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 7
push 0
pop eax
jg 0x1002f341
or ecx, 0xffffffff
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe2
jne 0x1002f32d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f426
push eax
push 0x18c7
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x1002f424
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f41e
push 0x1fba
call edi
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x40], 0xfffffffe
jmp 0x1002f476
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f451
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7bc], 0xa5d87207
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f438
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002f473
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x7bc], 0xfffffffd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002f45a
xor eax, eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffff8
je 0x1002f42f
mov dword [ebp - 0x24], 0x3859
mov dword [ebp - 0x1c], 0x898d
mov dword [ebp - 0x14], 0x971db956
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], 0x75df1563
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f4bf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x160], 0x2124
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f4a7
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f4d5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c8], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002f4c4
dec dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x160]
setg dl
add ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x160]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x1002f56d
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f558
push 0x12b4
push 0xa2f
push 0x1b51
push 0x945
push 0x4ab
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x160]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x1c]
pop eax
jns 0x1002f526
mov dword [ebp - 0x3c], 0x33fcb50b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002f596
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe30], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1002f57d
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x1002f5c9
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], eax
jmp 0x1002f5c0
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f5bd
push eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1002f5a7
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jle 0x1002f59b
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0xac204e2
mov dword [ebp - 0x38], 0x624039b6
mov dword [ebp - 0x38], 0xb743d837
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 0x5e00fe1c
mov dword [ebp - 0x3c], 0xf8067e3
mov dword [ebp - 0x38], 0x869ec427
mov dword [ebp - 0x48], 0x1fa147b8
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], 0xe7ed6f18
mov dword [ebp - 0x50], 0xe6e2bfbd
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002f644
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x960], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002f631
dec dword [ebp - 0x95c]
mov dword [ebp - 0x14], 0xf7b6fe6d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x1002f6fb
mov dword [ebp - 0x50], 0x734cb441
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f685
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x134], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f671
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f697
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x150], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f68a
cmp dword [ebp - 0x24], 0xfffc
ja 0x1002f6cc
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x150]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x50]
xor eax, eax
cmp dword [ebp - 0x134], eax
jne 0x1002f6de
cmp dword [ebp - 0x150], eax
je 0x1002f6e0
mov eax, esi
neg eax
add eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f758
push eax
push eax
call dword [sym.imp.GDI32.dll_CopyEnhMetaFileA]
jmp 0x1002f758
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f71d
push 0xd3b
push 0x56
push 0x7ea
call ebx
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
xor eax, eax
cmp dword [ebp - 0x3c], eax
mov byte [ebp - 0x29], al
je 0x1002f748
cmp byte [ebp - 0x29], 0
je 0x1002f75a
push eax
push 0xe84
push 0x26c8
push 0x115b
push 0x227a
call dword [sym.imp.GDI32.dll_CreateBitmap]
jmp 0x1002f758
cmp byte [ebp - 0x29], 0
je 0x1002f75a
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x17be1879
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0xef51
push 3
mov dword [ebp - 0x48], 0x6b34
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f79a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f786
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f7b0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x508], 0xdac842f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002f79f
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
xor eax, eax
cmp eax, edx
mov eax, dword [ebp - 0xf0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xf0]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x504]
setne cl
xor edx, edx
cmp ecx, 0x528a
mov ecx, dword [ebp - 0x24]
setne dl
imul eax, edx
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x504]
jne 0x1002f84d
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x38], 0x70cc321a
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], 0xffff0007
jmp 0x1002f8b4
or eax, 0xffffffff
mov dword [ebp - 0x14], 0xfd09
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, 0x8909
setl cl
xor eax, eax
cmp ecx, 5
setg al
xor ecx, ecx
cmp eax, 0xce8d
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002f8b6
push 0x13fb
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f8d4
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002f8f6
push eax
push 0xe3c
push eax
push 0x114
push 0x117d
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x28], 0xe348cc38
mov dword [ebp - 0x24], 0xb0e82ca9
mov dword [ebp - 0x18], 0x7eb8e136
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x4c], 0x26de
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x1c], eax
jmp 0x1002f93c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3a8], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002f92b
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub eax, dword [ebp - 0x28]
cmp eax, 0x470e
setl cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp eax, esi
mov eax, 0xd1c1d686
setg cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x55fd0a32
setge cl
xor edx, edx
test ecx, ecx
setns dl
xor eax, eax
test edx, edx
setns al
sub eax, dword [ebp - 0x28]
je 0x1002f9c9
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x1002fa44
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f9c2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3a8], 0x5e1bfeda
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f9aa
xor eax, eax
dec dword [ebp - 0x3c]
jns 0x1002f9a2
jmp 0x1002fa44
mov dword [ebp - 0x4c], esi
xor eax, eax
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002f9f7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xee0], 0xb676bd76
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1002f9de
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002fa3e
mov dword [ebp - 0x4c], 0x5687
mov dword [ebp - 0x4c], 9
mov dword [ebp - 0x4c], 0x1cad2bb6
mov dword [ebp - 0x4c], 0xe629
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fa38
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7b4], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fa20
xor eax, eax
dec dword [ebp - 0x44]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
je 0x1002f9fc
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x3c], 0x862fd41e
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x4c], 0x9cb0
mov dword [ebp - 0x4c], 0x9ebef9f3
mov dword [ebp - 0x14], 0x9c82
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002fa91
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd24], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002fa78
xor eax, eax
inc dword [ebp - 0x44]
mov edx, 0x3d6c1dfe
mov dword [ebp - 0x3c], eax
jmp 0x1002faef
mov dword [ebp - 0x4c], 0xb66febfb
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 5
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002fae9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd60], 0xf402
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002fad0
xor eax, eax
dec dword [ebp - 0x14]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
jle 0x1002fa9e
mov dword [ebp - 0x24], 0x24b34d7a
mov dword [ebp - 0x18], 0x87fb0b02
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x728], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
je 0x1002fb7a
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fb45
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c4], 0xfff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fb2d
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fb57
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002fb73
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fb70
call ebx
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1002fb5c
jmp 0x1002fb90
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002fb8e
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002fbec
or ecx, 0xffffffff
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x1002fbda
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fbd2
push eax
push 0x121b
push 0x842
push 0x126
call ebx
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x1002fbae
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
push 0
mov eax, dword [ebp + eax*4 - 0x734]
dec dword [ebp - 0x18]
pop eax
jns 0x1002fb9f
mov dword [ebp - 0x34], 0x19
cmp dword [ebp - 0x34], 0x1b
jle 0x10031523
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
jmp 0x1002fc0d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002fc2f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe08], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002fc16
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fc41
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fc66
push 0x21dd
push 0x1839
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
xor eax, eax
mov dword [ebp - 0x20], 0x43cdf98a
mov dword [ebp - 0x50], 0xfd71021f
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002fc97
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x2ec], 0xc93b4e1a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002fc7f
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002fcb7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4dc], 0xca3c0bf9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002fc9f
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1002fcd7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xac], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002fcbf
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x1002fd2f
push 8
pop edi
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x2ec]
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebp + eax*4 - 0x2ec]
xor eax, eax
cmp ecx, 0x22a149ce
setle al
xor ecx, ecx
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2ec]
test eax, eax
setne cl
mov dword [ebp - 0x50], ecx
dec dword [ebp - 0x20]
jns 0x1002fce5
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
xor eax, eax
cmp dword [ebp - 0x4d8], eax
je 0x1002fdca
mov eax, dword [ebp - 0x20]
or ecx, 0xffffffff
mov eax, dword [ebp - 0xac]
xor edx, edx
mov eax, dword [ebp - 0x4dc]
mov eax, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x2e4]
cmp ecx, 0x1361131e
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xeb256cd2
setg cl
cmp eax, ecx
sbb eax, eax
neg eax
sub eax, 0x189d9e62
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffd
mov eax, dword [ebp - 0xac]
sbb ecx, ecx
add eax, 0xfd526dca
inc ecx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x2ec]
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x2ec]
jg 0x1002fdc8
mov eax, esi
jmp 0x1002fdca
xor eax, eax
mov dword [ebp - 0x4dc], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
neg edx
mov dword [ebp - 0x20], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, 0x726b
mov eax, dword [ebp - 0xac]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x40], 0x90197f0a
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x3c], 0x27405ef1
mov dword [ebp - 0x4c], 0x9277ef9b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fe52
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fe3a
xor eax, eax
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x1003010b
or edi, 0xffffffff
jmp 0x1002fe65
xor eax, eax
mov dword [ebp - 0x28], 0x4e3f1571
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fe8c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x17c], 0xfff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fe74
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1002fe9d
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xbc]
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002febb
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10030052
mov dword [ebp - 0x44], 0xe8a77f2a
mov dword [ebp - 0x14], 0x5d1afc43
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1002feeb
push eax
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jg 0x100300fc
jmp 0x1002fefb
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], eax
jmp 0x1002ff14
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7d4], 0xf7cd2bab
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002ff03
mov dword [ebp - 0x7d0], esi
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x44]
sub eax, 0x979b5ce
neg eax
sbb eax, eax
xor edx, edx
inc eax
add ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xbc]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor ebx, ebx
cmp ecx, eax
setle bl
sub ebx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
mov ecx, dword [ebp + eax*4 - 0xbc]
cmp ebx, 0xfffffffd
setle dl
imul ecx, edx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x20]
inc edx
add edx, ecx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xbc]
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x3c]
jl 0x1002ffa5
mov dword [ebp - 0x44], 0xa3421904
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], eax
jmp 0x10030072
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x264], 0xb70e9afb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030061
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x264], eax
test eax, eax
jne 0x100300bd
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x17c]
neg ecx
mov edx, dword [ebp - 0x3c]
sbb ecx, ecx
add eax, 0xfffff7de
neg ecx
add eax, ecx
add edx, eax
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, esi
setl cl
imul ecx, edx
test ecx, ecx
jne 0x100300bd
xor eax, eax
jmp 0x100300bf
mov eax, esi
cmp eax, 0xfffffffe
sbb eax, eax
xor edx, edx
inc eax
imul eax, dword [ebp - 0x18]
cmp eax, 0xa651
mov eax, dword [ebp - 0x17c]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
setge dl
mov dword [ebp - 0x50], edx
dec dword [ebp - 0x18]
jns 0x1002fe63
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
push 8
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x44], 0x31e34f9a
mov dword [ebp - 0x50], 0xb60f9aa2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003014e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x16c], 0xcdf98a59
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030136
xor eax, eax
mov dword [ebp - 0x18], 0xe
cmp dword [ebp - 0x18], 0xffffffee
jl 0x1003028e
jmp 0x10030163
mov dword [ebp - 0x20], 0xc07e17f7
mov dword [ebp - 0x20], eax
jmp 0x100301d0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030191
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x344], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030178
xor eax, eax
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], esi
jg 0x100301ba
or ecx, 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x16c], ecx
inc dword [ebp - 0x33c]
cmp dword [ebp - 0x33c], esi
jle 0x100301a2
mov ecx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x20]
push 0
mov dword [ebp + eax*4 - 0x16c], ecx
inc dword [ebp - 0x20]
pop eax
cmp dword [ebp - 0x20], esi
jle 0x1003016f
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x20]
je 0x10030207
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x10030209
mov ecx, esi
mov eax, dword [ebp - 0x16c]
xor ebx, ebx
add eax, ecx
cmp eax, 0x6765
mov eax, dword [ebp - 0x168]
setle bl
xor ecx, ecx
cmp eax, 0xda18
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, ebx
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x10030247
mov dword [ebp - 0x50], 0xbec
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x13
jmp 0x10030329
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x28], 0x10
cmp dword [ebp - 0x28], 0x17
jne 0x10030326
xor eax, eax
mov dword [ebp - 0x3c], 0x4c405b40
mov dword [ebp - 0x3c], eax
jmp 0x10030317
mov dword [ebp - 0x1c], 0x67b8f5f4
mov dword [ebp - 0x1c], eax
jmp 0x100302f5
cmp byte [ebp - 0x29], 0
je 0x100302f2
push eax
push 0x6b7
push eax
push eax
push 0x245f
push 0x12b1
call dword [sym.imp.USER32.dll_ToAsciiEx]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
mov byte [ebp - 0x29], al
jg 0x100302d2
cmp byte [ebp - 0x29], 0
je 0x10030314
push eax
push 0x1d6d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jg 0x100302c6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x17
je 0x100302ba
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x14
jg 0x100302a4
mov dword [ebp - 0x4c], 0xdcff2fd6
xor eax, eax
mov dword [ebp - 0x3c], 0x3859
mov dword [ebp - 0x1c], 0x898d
mov dword [ebp - 0x14], 0x971db956
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], 0x75df1563
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1003037f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13c], 0x2124
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10030367
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030395
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7e0], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030384
dec dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
setg dl
add ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x13c]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x10030430
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003041b
push 0x12b4
push 0xa2f
push 0x1b51
push 0x945
push 0x4ab
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x13c]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x1c]
pop eax
jns 0x100303e5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030452
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ac], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030439
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jg 0x10031510
jmp 0x10030462
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 9
jmp 0x100304b9
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10030494
push 0x1c5
push 0x199a
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100304b6
push 0xc1f
push 0xc80
push eax
push eax
push 0x2676
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jl 0x10030471
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x100304e8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x81c], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100304cf
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1003050a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa4c], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100304f1
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10030579
mov dword [ebp - 0x18], 0xd9532bb1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10030534
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x81c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003051f
xor eax, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x10030576
mov dword [ebp - 0x1c], 0x80e3580d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x10030571
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003055c
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov eax, dword [ebp - 0x18]
push 0
mov eax, dword [ebp + eax*4 - 0x81c]
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], ebx
jle 0x1003054b
dec dword [ebp - 0x18]
jns 0x1003053c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x1003050f
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], eax
jl 0x1003063d
mov dword [ebp - 0x3c], 0xd42ca8cd
mov dword [ebp - 0x3c], eax
jmp 0x1003062b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100305b9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x220], 0x8b1647c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100305a1
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100305cf
push 0xc43
call dword [sym.imp.GDI32.dll_GetStockObject]
xor eax, eax
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], ebx
jg 0x10030628
mov dword [ebp - 0x14], 0xd9a2b82c
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10030601
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EndPage]
dec dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0x9b3a
push 0
setl cl
mov dword [ebp - 0xa44], ecx
inc dword [ebp - 0x21c]
pop eax
cmp dword [ebp - 0x21c], ebx
jle 0x100305dd
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x10030599
dec dword [ebp - 0x30]
jns 0x1003058a
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x1ac]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100306e4
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1a8]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setge cl
add eax, 0xfffffffd
add ecx, eax
mov eax, dword [ebp - 0x40]
sub ecx, dword [ebp + eax*4 - 0x1ac]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1a8]
sub ecx, 0x1494
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x2570d978
je 0x100306e4
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov ecx, dword [ebp - 0x1a8]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x6bb2
test eax, eax
je 0x10030ec9
mov dword [ebp - 0x14], 0x14a02569
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], eax
mov eax, 0xe44fa3fd
mov dword [ebp - 0x3c], 0x7b445ace
mov dword [ebp - 0x44], 0xfffffff8
mov dword [ebp - 0x1c], 0x11521faf
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], eax
xor eax, eax
mov dword [ebp - 0x44], 0x48298bbe
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], eax
jmp 0x1003078b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7ec], 0x673e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003077a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
add eax, 0x7d7c869b
je 0x100307b4
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100307b6
mov ecx, esi
jmp 0x100307b8
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x44], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, 0xfffffffe
setl cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
cmp eax, 0x4f06
setl cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x14]
neg ecx
mov dword [ebp - 0x6e8], ecx
cmp dword [ebp - 0x3c], eax
jne 0x100307fb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
test eax, eax
mov eax, dword [ebp - 0x30]
setns dl
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0x60477862
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff3
jle 0x100308a7
mov dword [ebp - 0x30], 0x7c203980
mov dword [ebp - 0x30], 0xffffffee
jmp 0x10030896
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x44], 0xfffffff8
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2bc], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x18
jne 0x10030861
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff3
jg 0x10030851
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x10030903
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x2c4], 0
je 0x100308ca
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c4]
mov eax, dword [ebp - 0x2bc]
mov edx, 0x2053
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2c4]
sub edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c4]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setg cl
mov dword [ebp + eax*4 - 0x2c4], ecx
dec dword [ebp - 0x18]
jns 0x100308b3
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1003090b
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, esi
mov eax, dword [ebp - 0x48]
sub ecx, eax
xor eax, eax
cmp ecx, esi
setle al
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030948
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7f8], 0xf9b2cfb6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030930
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x10030986
mov dword [ebp - 0x1c], 0x10b999fb
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x10030983
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003096c
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x7f8], 0
jne 0x10030981
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x1003095c
xor eax, eax
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff0
jg 0x1003094d
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0x14
jl 0x10031504
jmp 0x100309a1
mov dword [ebp - 0x30], 0xfffffff7
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x3c], 0xa2c39d5b
mov dword [ebp - 0x1c], eax
jmp 0x100309d2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb54], 0x9fa85f8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100309c1
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp eax, 0x1720348f
mov eax, dword [ebp - 0x30]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xb4c], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
xor eax, eax
add ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x30]
cmp ecx, 0x389
setg al
imul eax, eax, 9
cmp dword [ebp - 0x30], eax
jge 0x10030a3f
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030a41
mov eax, esi
jmp 0x10030a41
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x10030a55
mov dword [ebp - 0x1c], 9
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x10030a4b
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x380], esi
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x378], esi
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x20], 0xffffffe6
jmp 0x10030af9
mov dword [ebp - 0x1c], 0xe01b17d7
or edx, 0xffffffff
mov dword [ebp - 0x44], 0x61a6b719
xor eax, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], 0xb9338886
mov dword [ebp - 0x3c], 0x389f
mov dword [ebp - 0x1c], eax
jmp 0x10030f03
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x254], 0xe57ad95e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10030ef2
mov eax, dword [ebp - 0x250]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
je 0x10030f3f
xor eax, eax
cmp dword [ebp - 0x254], eax
je 0x10030f41
mov eax, esi
jmp 0x10030f41
xor eax, eax
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x254]
cmp eax, esi
setl cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x19
jne 0x10031035
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030f99
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x190], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030f81
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030fab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa64], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10030f9e
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x254]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
add eax, ecx
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18c]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x18c]
sub ecx, eax
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x14], eax
jne 0x10031030
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x19
je 0x10030f72
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031062
push 8
pop ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x578], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003104e
xor eax, eax
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x10031160
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031094
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c8], 0xf78d7cba
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003107c
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], esi
jg 0x10031139
mov dword [ebp - 0x14], esi
xor edx, edx
mov dword [ebp - 0x1c], 0x2a3062a
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffb
mov esi, dword [ebp + eax*4 - 0x578]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x578], esi
imul ecx, dword [ebp - 0x14], 0xf2ba
mov eax, dword [ebp - 0x44]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, 1
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 0xd700
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle bl
xor ecx, ecx
cmp ebx, eax
pop eax
setge cl
cmp eax, ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp esi, ecx
mov dword [ebp - 0x3c8], ecx
setle al
xor esi, esi
mov dword [ebp - 0x1c], eax
inc esi
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x100310a0
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031151
push 0xad4
push 0x2550
push eax
call edi
xor eax, eax
dec dword [ebp - 0x18]
push 0xffffffffffffffff
pop edx
jns 0x1003106e
push 2
pop ebx
mov dword [ebp - 0x18], eax
jmp 0x1003116f
mov dword [ebp - 0x44], 0x722abac8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10031165
mov byte [ebp - 0x29], al
mov dword [ebp - 0x44], 0x98a8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003119b
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3e0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031189
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3e0], eax
test eax, eax
je 0x100311bb
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100311cf
push eax
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
jmp 0x100311cd
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100311cd
push eax
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
xor eax, eax
cmp byte [ebp - 0x29], 0
je 0x1003122b
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100311f6
push eax
push 0x1e29
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10031217
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031214
push eax
push eax
push 0x9ca
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
jl 0x100311fb
push eax
push eax
push 0x25b6
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov dword [ebp - 0x44], 0xb910
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031245
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031261
push 0x1907
push 0x1947
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff7
jle 0x10031504
mov ebx, 0x13b91020
jmp 0x10031277
mov dword [ebp - 0x14], 0xc29000d4
mov dword [ebp - 0x44], 0xb61bab59
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x44], esi
push 2
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x100312b1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xbc8], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1003129d
xor eax, eax
mov dword [ebp - 0x20], eax
or edx, 0xffffffff
cmp dword [ebp - 0x20], esi
jge 0x100312d0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x7c0], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100312bc
xor eax, eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x10031326
mov dword [ebp - 0x44], 0xe7e55059
mov dword [ebp - 0x44], 0xabe8f210
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x44], 0xb0e1b1b5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003131e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcc0], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031306
dec dword [ebp - 0x44]
dec dword [ebp - 0x14]
jns 0x100312d8
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], 0x5206
mov dword [ebp - 0x1c], esi
push 4
pop ecx
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x364], ecx
mov dword [ebp - 0x28], eax
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 - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x368]
setg dl
sub edx, eax
mov eax, dword [ebp - 0x370]
add eax, edx
jne 0x10031396
mov eax, dword [ebp - 0x20]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100313b6
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x10030460
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1b
jg 0x1002fc05
mov edi, dword [sym.imp.USER32.dll_MessageBeep]
mov dword [ebp - 0x3c], 0x2c03342e
xor eax, eax
mov dword [ebp - 0x48], 0x7b09
push 2
mov dword [ebp - 0x18], eax
pop ebx
cmp dword [ebp - 0x18], ebx
jge 0x10031556
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x810], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003153e
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10031578
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe60], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003155f
xor eax, eax
mov dword [ebp - 0x3c], 3
jmp 0x10031628
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xfffffff9
jmp 0x100315c3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
jmp 0x100315ba
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100315b7
push eax
push eax
push 0xd61
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1c
je 0x10031598
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1a
je 0x10031590
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x10031625
mov dword [ebp - 0x14], 0x2f76ec75
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x1003160b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031606
push 0xc22
push 0x159f
push 0x1905
push 0xa28
push eax
call dword [sym.imp.USER32.dll_SetRect]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x100315e0
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x810], 0
jne 0x10031623
inc dword [ebp - 0x18]
push 0
pop eax
cmp dword [ebp - 0x18], esi
jle 0x100315d1
xor eax, eax
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe6
jne 0x10031584
inc dword [ebp - 0x48]
dec dword [ebp - 0x24]
mov dword [ebp - 0x38], 0xa6847dfa
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031667
push eax
push 0x121b
push 0x842
push 0x126
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003168f
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xff7
push 0x4ce
push 0xacb
push eax
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100316b6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc60], 0x4f1f13b0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003169e
xor eax, eax
mov dword [ebp - 0x34], 0x11
or ebx, 0xffffffff
cmp dword [ebp - 0x34], 0xfffffff7
je 0x100317d9
jmp 0x100316ce
xor eax, eax
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x28], ecx
push 8
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], 0x2891ba80
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x38], esi
push 3
pop edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x24], 0x65e4
cmp dword [ebp - 0x34], eax
je 0x10031722
imul eax, dword [ebp - 0x28], 0x79cf
dec dword [ebp - 0x28]
test eax, eax
je 0x10031720
mov eax, esi
jmp 0x10031722
xor eax, eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x34]
cmp eax, 0x7e673292
setle cl
add ecx, dword [ebp - 0x3c]
je 0x100317a7
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031751
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
mov dword [ebp - 0x28], 0xffffffe6
jmp 0x1003179f
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], eax
jl 0x1003179c
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], eax
jmp 0x10031792
mov dword [ebp - 0x1c], 0x82c32b96
mov dword [ebp - 0x1c], eax
jmp 0x1003178a
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031787
call dword [sym.imp.USER32.dll_CreateMenu]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10031776
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x1003176a
dec dword [ebp - 0x3c]
jns 0x10031762
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x29
jle 0x1003175a
jmp 0x100317c9
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x4c], 0xb7136239
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100317c9
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
inc dword [ebp - 0x24]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff7
jne 0x100316cc
xor eax, eax
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100317ef
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100317ff
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
mov dword [ebp - 0x40], 7
xor ebx, ebx
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne bl
neg eax
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp dword [ebp - 0x40], ecx
jge 0x10031947
or ebx, 0xffffffff
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031862
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x260], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003184e
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x10031915
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xfffffff6
cmp dword [ebp - 0x28], 7
jle 0x10031912
mov dword [ebp - 0x38], 4
cmp dword [ebp - 0x28], eax
je 0x100318de
mov eax, dword [ebp - 0x260]
sub eax, 0x51b32e26
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
add edx, 0xffff31c5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x260]
jge 0x100318dc
mov eax, esi
jmp 0x100318de
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031902
push eax
push 0xe3c
push eax
push 0x114
push 0x117d
call dword [sym.imp.GDI32.dll_ExtCreatePen]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 7
push 0
pop eax
jg 0x1003187e
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe2
jne 0x1003186a
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003195b
push eax
push 0x18c7
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_GetTextExtentPoint32W]
xor eax, eax
jmp 0x1003195b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031956
push 0x1fba
call edi
xor eax, eax
or ebx, 0xffffffff
push 2
mov dword [ebp - 0x40], 0xfffffffe
pop ecx
cmp dword [ebp - 0x40], 0xfffffff8
jne 0x100319b0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003198b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x824], 0xa5d87207
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031973
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ecx
jge 0x100319ab
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x824], 0xfffffffd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x10031993
xor eax, eax
dec dword [ebp - 0x40]
jmp 0x10031965
mov dword [ebp - 0x14], 0x847dfa86
mov dword [ebp - 0x34], 0xb274bf90
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100319da
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5e8], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100319c6
xor eax, eax
mov ecx, 0x80254f8
cmp dword [ebp - 0x14], eax
je 0x10031a0d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031b0d
push 0x7a2
push 0x57a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x10031b0b
mov dword [ebp - 0x28], 0xc9e53e58
xor edx, edx
mov dword [ebp - 0x1c], 0xdac0faab
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x5ac], ecx
mov dword [ebp - 0x5a8], ecx
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], 0x2b21a35c
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
sub ecx, dword [ebp - 0x1c]
add ecx, 0xbc0d
mov dword [ebp - 0x5e8], ecx
neg ecx
je 0x10031aa2
mov dword [ebp - 0x34], eax
jmp 0x10031a9a
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031a97
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
xor eax, eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff3
jle 0x10031a86
jmp 0x10031b0b
mov dword [ebp - 0x24], 0xe69ed994
mov dword [ebp - 0x1c], eax
jmp 0x10031abf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xaf4], 0x604491d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10031aae
mov dword [ebp - 0x1c], 7
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x28]
test eax, eax
push 0xfffffffffffffff8
setg cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x5e4]
mov eax, dword [ebp - 0xaf0]
cmp eax, esi
mov eax, dword [ebp - 0x28]
setle cl
pop edx
sub edx, ecx
sub edx, eax
mov dword [ebp - 0x38], edx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031b45
push 0x12b4
push 0xa2f
push 0x1b51
push 0x945
push 0x4ab
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
xor eax, eax
mov dword [ebp - 0x38], 0xa6847dfa
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031b74
push eax
push 0x121b
push 0x842
push 0x126
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031b9a
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xff7
push 0x4ce
push 0xacb
push eax
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov dword [ebp - 0x40], 7
xor ebx, ebx
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne bl
neg eax
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp dword [ebp - 0x40], ecx
jge 0x10031ce3
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031bfd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x270], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031be9
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x10031cb3
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xfffffff6
cmp dword [ebp - 0x28], 7
jle 0x10031cb0
mov dword [ebp - 0x38], 4
cmp dword [ebp - 0x28], eax
je 0x10031c79
mov eax, dword [ebp - 0x270]
sub eax, 0x51b32e26
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
add edx, 0xffff31c5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x270]
jge 0x10031c77
mov eax, esi
jmp 0x10031c79
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031c9d
push eax
push 0xe3c
push eax
push 0x114
push 0x117d
call dword [sym.imp.GDI32.dll_ExtCreatePen]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 7
push 0
pop eax
jg 0x10031c19
or ecx, 0xffffffff
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe2
jne 0x10031c05
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031cf4
push eax
push 0x18c7
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_GetTextExtentPoint32W]
jmp 0x10031cf2
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031cf2
push 0x1fba
call edi
xor eax, eax
push 2
mov dword [ebp - 0x40], 0xfffffffe
pop ebx
cmp dword [ebp - 0x40], 0xfffffff8
jne 0x10031d49
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031d24
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x838], 0xa5d87207
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031d0c
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x10031d44
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x838], 0xfffffffd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10031d2c
xor eax, eax
dec dword [ebp - 0x40]
jmp 0x10031cfe
mov dword [ebp - 0x20], 0xddc85f70
or ecx, 0xffffffff
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x34], 0x566e66b6
mov dword [ebp - 0x30], 0x2efa
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfaf1becd
mov dword [ebp - 0x674], ecx
mov dword [ebp - 0x670], ecx
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x48], 0xfffffff9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jge 0x10031e80
jmp 0x10031da1
xor eax, eax
mov dword [ebp - 0x28], 0x52c5
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x20], eax
je 0x10031deb
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
jl 0x10031dd8
mov eax, dword [ebp - 0x28]
neg eax
cmp eax, dword [ebp - 0x28]
jle 0x10031dd2
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
jmp 0x10031e73
mov dword [ebp - 0x14], 0x321210cb
mov dword [ebp - 0x1c], eax
jmp 0x10031e08
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3f4], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031df7
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x3f4], ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setg dl
xor eax, eax
add edx, dword [ebp - 0x20]
imul edx, dword [ebp - 0x3c]
test edx, edx
je 0x10031e34
mov edx, esi
cmp dword [ebp - 0x14], eax
jne 0x10031e36
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0x197c
jne 0x10031e51
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x10031e53
mov ecx, esi
imul eax, dword [ebp - 0x28], 0xc3d2
add eax, dword [ebp - 0x28]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x40]
or ecx, 0xffffffff
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 7
jl 0x10031d9f
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
add eax, 0x1dec7435
cmp eax, 0xad92edcd
jne 0x10031eb8
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10031eba
mov ecx, esi
jmp 0x10031ebc
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10031eee
cmp dword [ebp - 0x40], eax
je 0x10031ef0
mov eax, esi
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10031f39
mov dword [ebp - 0x40], 3
cmp dword [ebp - 0x40], eax
jl 0x10031fa8
mov eax, dword [ebp - 0x40]
cmp dword [ebp + eax*4 - 0x674], 0
jne 0x10031fa6
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031f32
push eax
push 0x19e0
push eax
call dword [sym.imp.ADVAPI32.dll_ControlService]
dec dword [ebp - 0x40]
jns 0x10031f0a
jmp 0x10031fa6
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
jmp 0x10031f4e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3fc], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031f41
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jne 0x10031f72
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, esi
setle cl
mov dword [ebp - 0x3fc], ecx
test ecx, ecx
je 0x10031f72
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x20]
neg edx
push 6
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x14]
pop eax
add edx, eax
mov eax, dword [ebp - 0x40]
cmp edx, eax
mov eax, dword [ebp - 0x48]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031fc0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031fd2
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
xor eax, eax
mov dword [ebp - 0x3c], 0xbac64a68
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031ff9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x84c], 0xba33
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031fe1
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffff1
jmp 0x10032056
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10032024
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x480], 0x50e6da50
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003200b
xor eax, eax
mov dword [ebp - 0x478], eax
cmp dword [ebp - 0x478], ebx
jge 0x10032053
mov eax, dword [ebp - 0x478]
mov dword [ebp + eax*4 - 0x84c], 0x74bf
inc dword [ebp - 0x478]
cmp dword [ebp - 0x478], ebx
jl 0x10032032
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff3
jle 0x10032002
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032090
push eax
push 0xd65
push eax
push eax
push 0x12a7
push 0x1bbe
push 0xdf
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [ebp - 0x34], 0xb37b0480
mov dword [ebp - 0x14], 0x2542
mov dword [ebp - 0x24], 0x7684593f
mov dword [ebp - 0x24], 5
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x100320b7
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x7030
jl 0x100320c3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
sub ecx, 0xc013cef3
neg ecx
sbb ecx, ecx
inc ecx
add ecx, 0x19dc4d93
je 0x100320ff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1003211e
mov dword [ebp - 0x38], 0x6ea3d881
mov dword [ebp - 0x38], eax
jmp 0x1003213c
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003213c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
xor eax, eax
push 8
pop ecx
mov dword [ebp - 0x1c], ecx
push 3
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032164
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa7c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032150
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x10032180
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xa7c]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x1c]
jns 0x1003216c
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0xa42b4837
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x100321b3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x774], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003219a
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x10032214
mov dword [ebp - 0x24], 0xaa29c146
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + eax*4 - 0x774]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x774]
cmp edx, eax
sete cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
add ecx, 0x2abb
mov dword [ebp + eax*4 - 0x774], ecx
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003220a
cmp dword [ebp - 0x76c], eax
je 0x1003220a
mov eax, esi
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x28]
jns 0x100321bb
xor eax, eax
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032235
push eax
push 0x1e29
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10032256
cmp dword [ebp - 0x1c], 0xfffffff2
jl 0x1003223a