Function at 0x100303fe
Capabilities:
Clear file content
Contain obfuscated stackstrings
Create pipe
Get geographical location
Query environment variable
Set environment variable
Set thread local storage value

Disassembly:
mov eax, 0x1008943a
call fcn.1008919c
mov eax, 0x1328
call fcn.10084ed0
push ebx
xor ebx, ebx
mov byte [ebp - 0x61], dl
inc ebx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x4c], ebx
xor eax, eax
mov dword [ebp - 0x3c], 0x7fefb659
mov dword [ebp - 0x48], 0xf73ecb6a
mov byte [ebp - 0x21], al
push esi
mov esi, dword [sym.imp.USER32.dll_DrawFocusRect]
cmp byte [ebp - 0x21], al
je 0x10030451
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x4c], 0xfffffff4
jmp 0x10030648
mov dword [ebp - 0x38], 0x9be1d925
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1003048b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3d4], 0xafb5d1cb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030473
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030499
push eax
call edi
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x16
jne 0x10030645
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0xa6ebbfad
mov dword [ebp - 0x34], 0xe074f0e4
cmp dword [ebp - 0x4c], eax
je 0x10030536
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3d4], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100304d2
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
push 6
pop ecx
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x38]
neg ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0xa012
setle al
sub eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfffd
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10030534
mov eax, ebx
jmp 0x10030536
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0x10
cmp dword [ebp - 0x34], 6
jg 0x10030635
xor eax, eax
mov dword [ebp - 0x54], 0x30ea
mov dword [ebp - 0x28], eax
jmp 0x1003061e
mov dword [ebp - 0x20], 0xf9f01020
mov dword [ebp - 0x18], 0xa
jmp 0x10030611
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], 2
cmp dword [ebp - 0x3c], eax
jl 0x1003060e
mov dword [ebp - 0x48], 0xc737ece5
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3d4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3d4]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
sub ecx, 0x4418
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x3d4]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setl cl
cmp ecx, 0xfffffffb
jbe 0x100305d3
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3d0]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xa4ef
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x1003060c
dec dword [ebp - 0x3c]
jns 0x10030581
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jge 0x1003056e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jg 0x1003055b
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 6
jle 0x1003054c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x16
push 0
pop eax
je 0x100304a6
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xfffffff6
push 3
pop ecx
jg 0x10030464
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], 0x7fefb659
mov dword [ebp - 0x48], 0xf73ecb6a
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030682
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffff4
jmp 0x10030875
mov dword [ebp - 0x38], 0x9be1d925
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100306b8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3e0], 0xafb5d1cb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100306a0
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100306c6
push eax
call edi
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x16
jne 0x10030872
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0xa6ebbfad
mov dword [ebp - 0x34], 0xe074f0e4
cmp dword [ebp - 0x4c], eax
je 0x10030763
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3e0], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100306ff
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
push 6
pop ecx
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x38]
neg ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0xa012
setle al
sub eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfffd
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10030761
mov eax, ebx
jmp 0x10030763
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0x10
cmp dword [ebp - 0x34], 6
jg 0x10030862
xor eax, eax
mov dword [ebp - 0x54], 0x30ea
mov dword [ebp - 0x28], eax
jmp 0x1003084b
mov dword [ebp - 0x20], 0xf9f01020
mov dword [ebp - 0x18], 0xa
jmp 0x1003083e
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], 2
cmp dword [ebp - 0x3c], eax
jl 0x1003083b
mov dword [ebp - 0x48], 0xc737ece5
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3e0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3e0]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
sub ecx, 0x4418
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x3e0]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setl cl
cmp ecx, 0xfffffffb
jbe 0x10030800
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3dc]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xa4ef
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x10030839
dec dword [ebp - 0x3c]
jns 0x100307ae
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jge 0x1003079b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jg 0x10030788
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 6
jle 0x10030779
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x16
push 0
pop eax
je 0x100306d3
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xfffffff6
jg 0x1003068e
mov dword [ebp - 0x2c], 0x4ec2e0cf
or ecx, 0xffffffff
mov dword [ebp - 0x54], 0xbd42ca8c
mov dword [ebp - 0x3c], 0x2570e81d
mov dword [ebp - 0x10], 0x728ad64d
mov dword [ebp - 0xa6c], ecx
mov dword [ebp - 0xa68], ecx
mov dword [ebp - 0xa64], ecx
mov dword [ebp - 0xa60], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x11
jge 0x10030a96
or esi, ecx
jmp 0x100308c9
xor eax, eax
mov dword [ebp - 0x34], 0x131d
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], 0xfffffffd
mov dword [ebp - 0x20], 0x8951fe51
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10030904
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xaf8], 0xfffffff8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x100308ec
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1003091a
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x114c], 0xfffffff6
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10030909
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
setg cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
je 0x1003095a
mov ecx, ebx
cmp dword [ebp - 0x34], eax
jne 0x1003095c
mov ecx, eax
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0xaf8], eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x48]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
neg ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], ebx
jge 0x10030a72
mov dword [ebp - 0x44], 0x61949f0d
mov dword [ebp - 0x30], 0xdda31432
mov dword [ebp - 0x30], 0x2cbd4dae
mov dword [ebp - 0x20], 0xfffffffc
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x870], eax
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x48], 0x909f00f3
mov dword [ebp - 0x40], 0x29c84d8b
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0xa6c]
cmp eax, dword [ebp - 0x54]
jl 0x10030a27
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10030a29
mov eax, ebx
jmp 0x10030a29
xor eax, eax
mov dword [ebp - 0x20], eax
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 6
setle al
cmp eax, dword [ebp - 0x40]
jne 0x10030a49
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x86c]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffc
pop edx
sub edx, eax
mov eax, dword [ebp - 0x874]
cmp edx, eax
setle cl
mov dword [ebp - 0xaf8], ecx
jmp 0x10030a83
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10030a83
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jl 0x100308c7
mov esi, dword [sym.imp.USER32.dll_DrawFocusRect]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x10], 0x256915a
mov dword [ebp - 0x30], 0xfffd
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10030acf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11f4], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030ab7
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030af4
push 0x266
push 0xc9b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10030b19
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030b16
push 0xe5b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x10030af9
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], 0x7fefb659
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x9bc], ebx
mov dword [ebp - 0x9b8], ebx
mov dword [ebp - 0x9b4], ebx
mov dword [ebp - 0x9b0], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030b63
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030b4f
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030b82
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd18], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030b6e
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10030ba0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcd8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10030b8b
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x10030d73
or edi, 0xffffffff
jmp 0x10030bb6
xor eax, eax
mov dword [ebp - 0x2cc], ebx
mov dword [ebp - 0x2c8], ebx
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], eax
jg 0x10030cc9
push 3
pop ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10030bff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030beb
xor eax, eax
mov dword [ebp - 0x6c0], eax
cmp dword [ebp - 0x6c0], eax
jl 0x10030cad
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030c2f
push eax
push 0x117
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], eax
jl 0x10030ca1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10030c57
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x47c], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030c3f
xor eax, eax
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], eax
jg 0x10030c9c
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10030c7c
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x2c4]
mov eax, dword [ebp + eax*4 - 0xbc]
inc dword [ebp - 0x474]
xor eax, eax
cmp dword [ebp - 0x474], eax
jle 0x10030c65
push 3
pop ecx
dec dword [ebp - 0x54]
jns 0x10030c37
dec dword [ebp - 0x6c0]
jns 0x10030c11
mov dword [ebp - 0xd18], 0xeb969161
inc dword [ebp - 0x2c4]
cmp dword [ebp - 0x2c4], eax
jle 0x10030be3
cmp dword [ebp - 0xd18], eax
jne 0x10030d3e
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xbc]
mov dword [ebp - 0xd10], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x2cc]
cmp eax, ecx
setg dl
xor eax, eax
test edx, edx
setle al
xor edx, edx
lea ecx, [eax - 0x3bcf]
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setle dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
add eax, edx
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x2c]
cmp eax, edi
setle cl
xor eax, eax
cmp edx, ecx
setg al
mov dword [ebp - 0xcd8], eax
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x10030bb4
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x48], 0xf73ecb6a
or eax, 0xffffffff
mov dword [ebp - 0x34], 0xe4a90611
xor edx, edx
mov dword [ebp - 0x10], 0xf3f6085e
mov dword [ebp - 0x20], 0x5132d7a
mov dword [ebp - 0x2c], 0x839b
mov dword [ebp - 0x44], 0x3037d9cc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xd6df81f9
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x39f3
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setne dl
or eax, 0xffffffff
cmp edx, eax
je 0x10030dd6
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10030dd8
mov eax, ebx
jmp 0x10030dd8
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x14b1
setle al
add eax, dword [ebp - 0x34]
mov eax, 0xfaa9
je 0x10030e9d
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x48], 0x8cff26af
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], eax
push 6
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x34]
test eax, eax
jne 0x10030e88
mov eax, dword [ebp - 0x20]
mov ecx, 0xf816
mov dword [ebp - 0x48], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x7f0]
add eax, ecx
mov ecx, dword [ebp - 0x7ec]
imul ecx, eax
mov eax, dword [ebp - 0x10]
imul eax, ecx
xor ecx, ecx
cmp eax, edx
setge cl
imul ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x44]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x48], ecx
jne 0x10030e88
xor eax, eax
mov ecx, eax
jmp 0x10030e8a
mov ecx, ebx
xor eax, eax
cmp ecx, 0xdb2097e6
setne al
mov dword [ebp - 0x48], eax
jmp 0x10030fd8
xor eax, eax
mov dword [ebp - 0x20], 0xbec8b24c
mov dword [ebp - 0x48], eax
push 2
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10030ec8
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x128], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10030eb4
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ecx
jge 0x10030ee8
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc64], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10030ed0
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x10030fd5
or esi, 0xffffffff
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xfce9347a
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x128], 0
je 0x10030fc1
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x20], 0x4ca67b11
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x128]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge bl
xor edx, edx
neg ebx
mov eax, dword [ebp + eax*4 - 0x128]
cmp ebx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x128]
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setg cl
xor edx, edx
add ecx, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x128]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x44]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0x79538e5e
setle al
mov dword [ebp - 0xc60], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10030f99
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
neg edx
mov ecx, dword [ebp + eax*4 - 0x128]
xor eax, eax
cmp edx, esi
setne al
xor ebx, ebx
inc ebx
cmp eax, ecx
jge 0x10030fc1
mov eax, ebx
jmp 0x10030fc3
xor eax, eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x2c]
jns 0x10030ef7
mov esi, dword [sym.imp.USER32.dll_DrawFocusRect]
inc dword [ebp - 0x48]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10030ff5
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffff4
jmp 0x100311e8
mov dword [ebp - 0x38], 0x9be1d925
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1003102b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3f8], 0xafb5d1cb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031013
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031039
push eax
call edi
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x16
jne 0x100311e5
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0xa6ebbfad
mov dword [ebp - 0x34], 0xe074f0e4
cmp dword [ebp - 0x4c], eax
je 0x100310d6
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3f8], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10031072
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
push 6
pop ecx
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x38]
neg ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0xa012
setle al
sub eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfffd
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100310d4
mov eax, ebx
jmp 0x100310d6
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0x10
cmp dword [ebp - 0x34], 6
jg 0x100311d5
xor eax, eax
mov dword [ebp - 0x54], 0x30ea
mov dword [ebp - 0x28], eax
jmp 0x100311be
mov dword [ebp - 0x20], 0xf9f01020
mov dword [ebp - 0x18], 0xa
jmp 0x100311b1
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], 2
cmp dword [ebp - 0x3c], eax
jl 0x100311ae
mov dword [ebp - 0x48], 0xc737ece5
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3f8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x3f8]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
sub ecx, 0x4418
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x3f8]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setl cl
cmp ecx, 0xfffffffb
jbe 0x10031173
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3f4]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xa4ef
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x100311ac
dec dword [ebp - 0x3c]
jns 0x10031121
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jge 0x1003110e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jg 0x100310fb
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 6
jle 0x100310ec
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x16
push 0
pop eax
je 0x10031046
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xfffffff6
jg 0x10031001
mov dword [ebp - 0x2c], 0x4ec2e0cf
or ecx, 0xffffffff
mov dword [ebp - 0x54], 0xbd42ca8c
mov dword [ebp - 0x3c], 0x2570e81d
mov dword [ebp - 0x10], 0x728ad64d
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], ecx
mov dword [ebp - 0x9e0], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x11
jge 0x10031409
or esi, ecx
jmp 0x1003123c
xor eax, eax
mov dword [ebp - 0x34], 0x131d
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], 0xfffffffd
mov dword [ebp - 0x20], 0x8951fe51
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10031277
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xbe0], 0xfffffff8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1003125f
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1003128d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x120c], 0xfffffff6
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1003127c
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
setg cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
je 0x100312cd
mov ecx, ebx
cmp dword [ebp - 0x34], eax
jne 0x100312cf
mov ecx, eax
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0xbe0], eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x48]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
neg ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], ebx
jge 0x100313e5
mov dword [ebp - 0x44], 0x61949f0d
mov dword [ebp - 0x30], 0xdda31432
mov dword [ebp - 0x30], 0x2cbd4dae
mov dword [ebp - 0x20], 0xfffffffc
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x48], 0x909f00f3
mov dword [ebp - 0x40], 0x29c84d8b
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x9ec]
cmp eax, dword [ebp - 0x54]
jl 0x1003139a
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1003139c
mov eax, ebx
jmp 0x1003139c
xor eax, eax
mov dword [ebp - 0x20], eax
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 6
setle al
cmp eax, dword [ebp - 0x40]
jne 0x100313bc
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x8c4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffc
pop edx
sub edx, eax
mov eax, dword [ebp - 0x8cc]
cmp edx, eax
setle cl
mov dword [ebp - 0xbe0], ecx
jmp 0x100313f6
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x100313f6
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jl 0x1003123a
mov esi, dword [sym.imp.USER32.dll_DrawFocusRect]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x30], 0xf1124f01
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x1003142a
push eax
push eax
call dword [sym.imp.GDI32.dll_RectInRegion]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031442
push eax
push 0xefa
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 8
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031472
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1224], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003145a
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003149f
push eax
push 0x1653
push 0x95d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x20]
mov dword [ebp - 0x18], 0x5c8094a1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], ecx
mov ecx, 0xfff6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100314d0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc48], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100314bc
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100314f1
push eax
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_SelectPalette]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10031564
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x30], 0xe3869393
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10031526
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd20], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003150d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x10031561
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031548
push 0xa4a
push 0x144c
push eax
call dword [sym.imp.GDI32.dll_OffsetRgn]
mov eax, dword [ebp - 0x10]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xd20], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x1003152e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x100314f6
mov dword [ebp - 0x34], ebx
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 0x7fefb659
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
push 3
mov dword [ebp - 0x40], 0x78ef
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x100315aa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xee0], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031599
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100315c5
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
jne 0x100315c5
xor eax, eax
jmp 0x100315c7
mov eax, ebx
cmp eax, dword [ebp - 0x28]
jle 0x100315cf
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xed8], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
je 0x10031651
or edi, 0xffffffff
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x20], 0x658d
mov dword [ebp - 0x18], 0xfffffffb
cmp dword [ebp - 0x44], eax
je 0x10031623
mov eax, dword [ebp - 0x40]
xor eax, eax
cmp dword [ebp - 0x54], eax
je 0x10031620
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
xor edx, edx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
push 0
setl cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x10]
pop eax
jne 0x100315f7
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
push 3
pop ecx
mov dword [ebp - 0x20], 0xf73ecb6a
mov dword [ebp - 0x10], 0x256915a
mov dword [ebp - 0x30], 0xfffd
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031686
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x123c], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003166e
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100316ab
push 0x266
push 0xc9b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100316d0
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100316cd
push 0xe5b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x100316b0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xa4c], ebx
mov dword [ebp - 0xa48], ebx
mov dword [ebp - 0xa44], ebx
mov dword [ebp - 0xa40], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031710
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100316fc
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003172f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd30], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003171b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1003174d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc74], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031738
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x1003191c
or esi, 0xffffffff
mov dword [ebp - 0x30c], ebx
mov dword [ebp - 0x308], ebx
mov dword [ebp - 0x304], ebx
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], eax
jg 0x10031872
push 3
pop ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100317a8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6f4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031794
xor eax, eax
mov dword [ebp - 0x6f0], eax
cmp dword [ebp - 0x6f0], eax
jl 0x10031856
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100317d8
push eax
push 0x117
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], eax
jl 0x1003184a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031800
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5f4], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100317e8
xor eax, eax
mov dword [ebp - 0x5ec], eax
cmp dword [ebp - 0x5ec], eax
jg 0x10031845
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031825
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x304]
mov eax, dword [ebp + eax*4 - 0x8c]
inc dword [ebp - 0x5ec]
xor eax, eax
cmp dword [ebp - 0x5ec], eax
jle 0x1003180e
push 3
pop ecx
dec dword [ebp - 0x54]
jns 0x100317e0
dec dword [ebp - 0x6f0]
jns 0x100317ba
mov dword [ebp - 0xd30], 0xeb969161
inc dword [ebp - 0x304]
cmp dword [ebp - 0x304], eax
jle 0x1003178c
cmp dword [ebp - 0xd30], eax
jne 0x100318e7
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x8c]
mov dword [ebp - 0xd28], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x30c]
cmp eax, ecx
setg dl
xor eax, eax
test edx, edx
setle al
xor edx, edx
lea ecx, [eax - 0x3bcf]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
mov eax, dword [ebp - 0x8c]
setle dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
add eax, edx
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
mov dword [ebp - 0xa48], edx
mov eax, dword [ebp - 0x300]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
setle cl
xor eax, eax
cmp edx, ecx
setg al
mov dword [ebp - 0xc74], eax
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x1003175f
mov esi, dword [sym.imp.USER32.dll_DrawFocusRect]
mov byte [ebp - 0x21], al
xor edx, edx
mov dword [ebp - 0x34], 0xe4a90611
or eax, 0xffffffff
mov dword [ebp - 0x10], 0xf3f6085e
mov dword [ebp - 0x20], 0x5132d7a
mov dword [ebp - 0x2c], 0x839b
mov dword [ebp - 0x44], 0x3037d9cc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xd6df81f9
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x39f3
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setne dl
or eax, 0xffffffff
cmp edx, eax
je 0x1003197b
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1003197d
mov eax, ebx
jmp 0x1003197d
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x14b1
setle al
add eax, dword [ebp - 0x34]
je 0x10031a42
mov dword [ebp - 0x20], 0xfffffffd
mov eax, 0xfaa9
mov dword [ebp - 0x48], 0x8cff26af
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x804], eax
push 6
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x34]
test eax, eax
jne 0x10031a2d
mov eax, dword [ebp - 0x20]
mov ecx, 0xf816
mov dword [ebp - 0x48], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x810]
add eax, ecx
mov ecx, dword [ebp - 0x80c]
imul ecx, eax
mov eax, dword [ebp - 0x10]
imul eax, ecx
xor ecx, ecx
cmp eax, edx
setge cl
imul ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x44]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x48], ecx
jne 0x10031a2d
xor eax, eax
mov ecx, eax
jmp 0x10031a2f
mov ecx, ebx
xor eax, eax
cmp ecx, 0xdb2097e6
setne al
mov dword [ebp - 0x48], eax
jmp 0x10031b7d
xor eax, eax
mov dword [ebp - 0x20], 0xbec8b24c
mov dword [ebp - 0x48], eax
push 2
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10031a6d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x148], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10031a59
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ecx
jge 0x10031a8d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xce8], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10031a75
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x10031b7a
or edi, 0xffffffff
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0xfce9347a
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x148], 0
je 0x10031b66
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x148]
mov dword [ebp - 0x20], 0x4ca67b11
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x148]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge bl
xor edx, edx
neg ebx
mov eax, dword [ebp + eax*4 - 0x148]
cmp ebx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x148]
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setg cl
xor edx, edx
add ecx, dword [ebp + eax*4 - 0x148]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x148]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x44]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0x79538e5e
setle al
mov dword [ebp - 0xce4], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10031b3e
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
neg edx
mov ecx, dword [ebp + eax*4 - 0x148]
xor eax, eax
cmp edx, edi
setne al
xor ebx, ebx
inc ebx
cmp eax, ecx
jge 0x10031b66
mov eax, ebx
jmp 0x10031b68
xor eax, eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x2c]
jns 0x10031a9c
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
inc dword [ebp - 0x48]
cmp byte [ebp - 0x21], 0
je 0x10031c44
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x30], eax
or edx, 0xffffffff
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0x7ca0029b
mov dword [ebp - 0x30], 0x5aad8530
mov dword [ebp - 0x30], 0x948b0815
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x30], 0x6dd2cc91
mov dword [ebp - 0x30], 0xcef3cf68
mov dword [ebp - 0x20], 0xfff9
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031bec
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1254], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031bd4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10031c08
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10c8], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031bf4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10031c2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xdb0], 0xbed99783
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10031c11
xor eax, eax
inc dword [ebp - 0x20]
inc dword [ebp - 0xda4]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov dword [ebp - 0x34], 0xfffffff4
cmp dword [ebp - 0x34], 0xfffffff6
jle 0x1003376d
mov esi, 0x46e74a6e
mov dword [ebp - 0x2c], 0xc0ae9714
mov dword [ebp - 0x18], 0x9c4ddb84
mov dword [ebp - 0x2c], 0xa
jmp 0x10031d77
mov dword [ebp - 0x3c], 0xdeec5416
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x20], 0x9229a275
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x54], eax
je 0x10031c96
mov edx, ebx
mov eax, dword [ebp - 0x3c]
sub eax, 3
je 0x10031ca1
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, 2
cmp eax, 0xb9849b76
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
sub edx, eax
inc ecx
cmp edx, ecx
jg 0x10031cff
mov dword [ebp - 0x10], 0xe75cb554
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
neg eax
sbb eax, eax
inc eax
add ecx, eax
add ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x20]
je 0x10031cf4
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x54], eax
jmp 0x10031d5e
mov dword [ebp - 0x664], ebx
mov dword [ebp - 0x660], ebx
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x658], ebx
mov dword [ebp - 0x48], 0xe13c
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x660]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x660]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x660]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setne dl
mov dword [ebp - 0x18], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xc
jne 0x10031c74
mov dword [ebp - 0x3c], 0x9be1d925
xor eax, eax
mov dword [ebp - 0x4c], 0x469ad59e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031db1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f4], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031d99
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031dc8
push eax
push 0x2110
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jl 0x10031eb5
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x10031e25
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], eax
jmp 0x10031e1b
mov dword [ebp - 0x18], 0xb8ee41b6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031e11
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1f4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031dfd
xor eax, eax
mov dword [ebp - 0x18], 3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10031dee
dec dword [ebp - 0x3c]
jns 0x10031de6
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jg 0x10031eac
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031e3d
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x1f4], 0
je 0x10031e6a
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10031ea1
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
jmp 0x10031e9f
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031e8f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f4], 0x28ea388
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031e77
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10031e9f
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
push 0
pop eax
jle 0x10031e2d
dec dword [ebp - 0x4c]
jns 0x10031dd4
mov dword [ebp - 0x18], 0x17be9fb1
or ecx, 0xffffffff
mov dword [ebp - 0x54], 0x1fc2
mov dword [ebp - 0x48], 0x7bde5156
mov dword [ebp - 0x30], 0x511f0b9f
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x30ae734f
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x2e525b78
mov dword [ebp - 0x30], 0xd1cd0509
mov dword [ebp - 0x30], 0x20295d0c
mov dword [ebp - 0x20], 0xc6914f09
push 2
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10031f23
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1d0], 0xfffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10031f0b
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031f46
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x12a8], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031f2e
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x10031f66
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1094], 0x4feccdf
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10031f4e
xor eax, eax
cmp dword [ebp - 0x1cc], eax
jne 0x10031f83
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x54]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x1cc]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
xor eax, eax
cmp dword [ebp - 0x1cc], edx
je 0x1003203e
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x20], 0xee83adeb
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031fe2
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe2c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031fd0
cmp dword [ebp - 0x1cc], 0xfffb
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
je 0x10032037
xor eax, eax
cmp eax, dword [ebp - 0x10]
je 0x10032037
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18], 0x60bc
test eax, eax
je 0x1003200d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xe28], eax
mov eax, dword [ebp - 0x1cc]
cmp dword [ebp - 0x54], 0xe6ba
jl 0x1003202c
mov eax, ebx
jmp 0x1003202e
xor eax, eax
cmp eax, dword [ebp - 0x10]
jle 0x10032037
mov eax, ebx
jmp 0x10032039
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100320aa
mov dword [ebp - 0x48], 0x90b1
mov dword [ebp - 0x30], 0x840cc74b
mov dword [ebp - 0x30], 0x1c250287
mov dword [ebp - 0x30], 0x4069a3e2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], 0xbaed
mov dword [ebp - 0x10], eax
jmp 0x1003207a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1014], 0x54764fe6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10032069
inc dword [ebp - 0x40]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
cmp eax, 0x8a1
mov eax, dword [ebp - 0x48]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x48], ecx
dec dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x10], 0x1fbb9cf7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x100320d1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x26c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100320bc
xor eax, eax
mov dword [ebp - 0x268], 0xfffffff5
cmp dword [ebp - 0x268], 0xffffffec
jle 0x100321d5
or esi, 0xffffffff
jmp 0x100320ef
xor eax, eax
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x3c], eax
je 0x10032101
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x268]
xor edx, edx
mov ecx, dword [ebp - 0x268]
test eax, eax
mov eax, dword [ebp - 0x268]
setns dl
imul ecx, edx
add eax, ecx
jne 0x10032127
mov eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x1a
je 0x100321bd
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10032174
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1004], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003215f
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jg 0x100321b1
push 3
pop ecx
mov dword [ebp - 0x20], 0x87a9b65c
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x100321a6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10e0], 0xc5540fff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003218e
xor eax, eax
inc dword [ebp - 0x20]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x1003217f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1a
jne 0x10032153
or esi, 0xffffffff
dec dword [ebp - 0x268]
cmp dword [ebp - 0x268], 0xffffffec
jg 0x100320ed
mov esi, 0x46e74a6e
xor eax, eax
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100321fa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3ec], 0xafb5d1cb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100321e2
xor eax, eax
mov dword [ebp - 0x30], 0xffff
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032213
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032228
push 0x50
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
xor eax, eax
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10032251
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x898], 0x10c9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10032238
xor eax, eax
push 3
pop ecx
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jl 0x100322fe
mov dword [ebp - 0x20], 0x8ed40a16
mov dword [ebp - 0x10], eax
jmp 0x1003227d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfa0], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003226c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + eax*4 - 0x898]
mov ecx, dword [ebp - 0x20]
sub edx, 6
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp edx, ecx
setl al
imul eax, eax, 0x8405
test eax, eax
jne 0x100322b5
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x898]
mov eax, dword [ebp - 0x894]
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x2c]
jne 0x100322c6
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
xor edi, edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x898]
mov ecx, dword [ebp - 0x2c]
add ecx, eax
mov dword [ebp - 0xfa0], ecx
cmp dword [ebp - 0x898], edi
jne 0x100322f6
dec dword [ebp - 0x2c]
push edi
pop eax
push 3
pop ecx
jns 0x10032260
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032412
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x20], 0x81c1d99e
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x48], 0xe91c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003234f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x108c], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10032336
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10032379
mov eax, dword [ebp - 0x28]
or ecx, 0xffffffff
imul eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x28]
jge 0x10032377
mov ecx, ebx
jmp 0x1003237b
xor eax, eax
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x108c], ecx
cmp ecx, 0x50f82bae
sete al
xor ecx, ecx
inc eax
cmp eax, 0xfffffffa
setle cl
sub ecx, 0xa38d0672
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x11db
setge dl
sub edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 0x22d5
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x20], edx
dec dword [ebp - 0x48]
push eax
call edi
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032432
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe0], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003241a
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003244e
push 0xa4a
push 0x144c
push eax
call dword [sym.imp.GDI32.dll_OffsetRgn]
xor eax, eax
mov dword [ebp - 0xe0], eax
jmp 0x1003246f
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032469
push eax
push eax
call dword [sym.imp.USER32.dll_LoadCursorA]
xor eax, eax
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xe0], 0x15
je 0x10032456
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x16
jne 0x10033760
jmp 0x10032489
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff7
push 2
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100324bc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x828], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100324a4
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x10032578
xor edi, edi
mov esi, 0xffff
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x20], 0x23758185
cmp dword [ebp - 0x2c], ebx
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x10032510
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x828]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x828], ecx
cmp ecx, esi
jb 0x10032540
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
neg ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setge dl
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edx
setg al
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x2c]
jns 0x100324cf
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x1c], 0xac64a684
mov dword [ebp - 0x2c], 0xfd66c4a8
mov dword [ebp - 0x20], 0x8a6c
mov dword [ebp - 0x40], 0xce4a839b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1b
jl 0x10032634
or esi, 0xffffffff
mov dword [ebp - 0x20], ebx
mov eax, 0xd8bc0d13
mov dword [ebp - 0x48], esi
xor edx, edx
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa04], eax
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
sub eax, edx
neg eax
push 0
sbb eax, eax
inc eax
pop eax
setns al
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, 0x12a3
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jne 0x1003260c
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1003261a
jmp 0x1003260e
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10032618
cmp dword [ebp - 0x2c], eax
je 0x1003261a
mov eax, ebx
mov dword [ebp - 0xa08], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jge 0x100325a7
xor eax, eax
mov esi, 0x46e74a6e
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x18
push 3
pop edi
jg 0x1003278c
or esi, 0xffffffff
mov dword [ebp - 0x20], 0x3b1ad31f
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jge 0x1003266e
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x78], 0xc9b7
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x10032659
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jge 0x1003268a
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xf7c], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x10032676
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10032771
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x1003276e
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0x354d1843
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x78], 0
je 0x10032713
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x78]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xe69ed994
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xf7c], ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x40], eax
jne 0x10032727
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x1003272e
jmp 0x10032729
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032732
mov edx, ebx
jmp 0x10032734
mov edx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x78]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x78]
cmp edx, eax
setl cl
imul eax, ecx, 0x2e18
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x28]
jns 0x100326a1
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10032692
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x18
jle 0x10032647
mov esi, 0x46e74a6e
mov dword [ebp - 0x10], 0xa6ebbfad
or ecx, 0xffffffff
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0xce96b779
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x3a4c924b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100327d6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb9c], 0x75c96dd1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100327bd
xor eax, eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x10032886
mov dword [ebp - 0x30], 7
mov eax, 0x83674579
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xb9c], 0
je 0x1003284f
mov dword [ebp - 0x18], 0x6801fc3e
xor eax, eax
mov dword [ebp - 0x30], 0x831d26ec
mov dword [ebp - 0x30], 0x7858f9c2
mov dword [ebp - 0x18], eax
jmp 0x10032848
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], eax
jmp 0x10032840
dec dword [ebp - 0x20]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1003283a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1003282f
jmp 0x1003285b
mov dword [ebp - 0x20], 0xfffb
inc dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10032876
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032873
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10032860
dec dword [ebp - 0x28]
jns 0x100327e2
xor eax, eax
mov dword [ebp - 0x18], 0xe074f0e4
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x100328b0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1b8], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003289c
xor eax, eax
mov dword [ebp - 0x1b8], 0xffffffee
cmp dword [ebp - 0x1b8], 0x15
jge 0x10032a0a
mov dword [ebp - 0x2c], 0x55b7cefa
mov dword [ebp - 0x20], 0x733e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100328f7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x27c], 0xb72fd491
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100328de
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x100329e2
mov dword [ebp - 0x54], 0xab3ae5d5
mov dword [ebp - 0x10], eax
jmp 0x1003291c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbb4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003290f
mov eax, dword [ebp - 0x2c]
xor edi, edi
cmp dword [ebp + eax*4 - 0x27c], edi
je 0x100329cb
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x27c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x27c]
mov eax, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x27c]
test eax, eax
mov eax, dword [ebp - 0x2c]
setns cl
xor edx, edx
cmp ecx, 0x5009
setg dl
xor ecx, ecx
mov dword [ebp + eax*4 - 0x27c], edx
mov eax, dword [ebp - 0x54]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x1b8]
jge 0x100329a0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x27c], edi
mov eax, ebx
jne 0x100329a2
mov eax, edi
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xbb0]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x20], 0x50b5
mov eax, dword [ebp - 0x1b8]
cmp dword [ebp - 0x20], eax
mov eax, ebx
jle 0x100329cd
mov eax, edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1b0]
dec dword [ebp - 0x2c]
push 0
pop eax
jns 0x10032903
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100329f4
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
xor eax, eax
inc dword [ebp - 0x1b8]
cmp dword [ebp - 0x1b8], 0x15
jl 0x100328c7
push 3
pop edi
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x18]
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x79a9257d
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov edx, 0x6e774655
setg cl
xor eax, eax
cmp ecx, 0x75f7f777
setg al
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xbf0
setle cl
xor eax, eax
cmp ecx, edx
setl al
cmp eax, 0xe816884a
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10032af4
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3ec], eax
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x10032a90
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
push 6
pop ecx
sub ecx, eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x3c]
neg ecx
sub ecx, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0xa012
setle al
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfffd
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10032af2
mov eax, ebx
jmp 0x10032af4
xor eax, eax
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x30], 0x9d3388a0
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
push 4
pop ecx
cmp dword [ebp - 0x1c], edi
jge 0x10032b2c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10032b18
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032b4d
xor edi, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x35c], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032b36
push 3
xor eax, eax
pop edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032b6d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10a4], 0xf0796840
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032b55
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10032b90
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x418], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032b78
xor eax, eax
mov dword [ebp - 0x350], ecx
cmp dword [ebp - 0x350], eax
jl 0x10032cd4
or esi, 0xffffffff
mov dword [ebp - 0x44], 0x8302
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jge 0x10032bcc
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xf94], 0x68593f9b
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x10032bb4
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x10032be2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x408], 0xe2294bb4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10032bd1
mov eax, dword [ebp - 0x350]
mov eax, dword [ebp + eax*4 - 0x48c]
xor eax, eax
cmp dword [ebp - 0x350], eax
jne 0x10032c0b
mov eax, dword [ebp - 0x350]
mov eax, dword [ebp + eax*4 - 0x48c]
mov eax, dword [ebp - 0x48c]
xor ecx, ecx
mov edx, dword [ebp - 0x408]
cmp eax, esi
mov eax, dword [ebp - 0x350]
setne cl
add edx, 0xffffe597
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x350]
setge cl
mov eax, dword [ebp + eax*4 - 0x48c]
imul eax, ecx
mov ecx, 0xfc4b664f
cmp ecx, eax
sbb eax, eax
inc eax
imul eax, eax, 0xfffe
test eax, eax
je 0x10032c62
mov eax, dword [ebp - 0x358]
mov eax, dword [ebp - 0x414]
xor ecx, ecx
dec dword [ebp - 0x414]
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10a0], eax
mov dword [ebp - 0xf90], eax
mov eax, dword [ebp - 0x408]
cmp eax, 0x3c6b
mov eax, dword [ebp - 0x48]
setge cl
add eax, ecx
cmp eax, 0x2320
jge 0x10032ca8
mov eax, dword [ebp - 0x414]
mov eax, dword [ebp - 0x408]
mov eax, dword [ebp - 0x44]
push 0
pop eax
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x408], ebx
dec dword [ebp - 0x350]
push 2
pop ecx
jns 0x10032ba5
mov esi, 0x46e74a6e
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032cf4
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_GetWindowOrgEx]
xor eax, eax
mov dword [ebp - 0x18], 0x10
jmp 0x10033743
mov dword [ebp - 0x4c], 0xf5540d7f
mov dword [ebp - 0x48], 0xb79d
mov dword [ebp - 0x40], 0x47160372
mov dword [ebp - 0x4c], 0x18
cmp dword [ebp - 0x4c], 0xffffffeb
jle 0x10032ee9
mov ecx, 0x13dce9d0
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x20], 0x38c46158
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], ebx
jne 0x10032ed9
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x10], 0x8110
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jge 0x10032da6
xor edi, edi
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x770], edi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x10032d91
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10032dae
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x770]
mov eax, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x2a8], eax
je 0x10032dd2
cmp dword [ebp - 0x48], eax
je 0x10032dd4
mov eax, ebx
imul ecx, eax, 0x1d2a
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
cmp edx, 9
sbb eax, eax
neg eax
cmp eax, 0xffff
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x72305ab
setl cl
xor eax, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x2ac], eax
je 0x10032e35
mov dword [ebp - 0x10], 8
jmp 0x10032e2a
mov dword [ebp - 0x54], 0x2b5bddd
mov dword [ebp - 0x40], 0x69a0165d
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x770]
mov eax, dword [ebp - 0x28]
sub eax, 0x6e9f
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10032e67
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffeb
jg 0x10032d2b
push 3
pop edi
mov dword [ebp - 0x40], 0x30ea
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10032f13
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfac], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10032efb
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], eax
jl 0x10032f60
mov dword [ebp - 0x28], 0xe1265ab3
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x10032f5b
or edx, 0xffffffff
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10032f53
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfac], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10032f3b
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10032f30
dec dword [ebp - 0x4c]
jns 0x10032f1e
mov dword [ebp - 0x4c], eax
jmp 0x10032fc6
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10032fc3
push 0x1160
push 0x16fc
push 0x977
push eax
push 0x1a0f
push 0x12ca
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x1761
push 0x1666
push 0x270
push 0x502
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
push 2
xor eax, eax
pop ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ecx
jle 0x10032f65
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x12
jle 0x10033740
or ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1003301c
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jle 0x10032d00
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x16
je 0x10032487
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff6
jg 0x10031c5a
mov dword [ebp - 0x2c], 0xfffffffb
xor eax, eax
mov dword [ebp - 0x20], 0xfffffffc
or ecx, 0xffffffff
mov dword [ebp - 0x40], 5
mov ebx, 0x2449ef5
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], 0x60c437ff
mov dword [ebp - 0x30], 0x7280dda2
mov dword [ebp - 0x30], 0x58e56a96
mov dword [ebp - 0x30], 0x57d38c46
mov dword [ebp - 0x30], eax
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100337de
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcfc], 0x5465
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100337c6
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x2c], eax
jmp 0x1003380c
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100337f7
push eax
call edi
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033809
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff6
jge 0x100337e9
xor esi, esi
mov dword [ebp - 0x2c], eax
inc esi
cmp dword [ebp - 0x2c], 0xc
jle 0x1003390d
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], 0xe072305a
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x73e70d2
mov dword [ebp - 0x30], 0xc12f69a0
mov dword [ebp - 0x30], 0x846e
mov dword [ebp - 0x30], 0x776e9f81
mov dword [ebp - 0x30], 0xfffffffb
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x40]
add eax, 0xec5e
jne 0x10033882
mov edx, eax
cmp dword [ebp - 0x40], eax
je 0x10033884
mov edx, esi
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, 0xffff
setle cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
je 0x100338c9
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], 0x4d4e2b79
mov dword [ebp - 0x20], 0xd2a6f9a4
inc dword [ebp - 0x20]
jmp 0x100338fd
mov dword [ebp - 0x20], 5
xor eax, eax
mov dword [ebp - 0x30], 0x489b
mov dword [ebp - 0x30], 0x1f433c8a
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa43dee6e
mov dword [ebp - 0x30], 0xcc702b5b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0xcfc]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xc
push 0
pop eax
jg 0x10033822
mov dword [ebp - 0x2c], 0x4ec2e0cf
or edx, 0xffffffff
mov dword [ebp - 0x40], 0xbd42ca8c
mov dword [ebp - 0x3c], 0x2570e81d
mov dword [ebp - 0x34], 0x728ad64d
mov dword [ebp - 0xa8c], edx
mov dword [ebp - 0xa88], edx
mov dword [ebp - 0xa84], edx
mov dword [ebp - 0xa80], edx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x11
jge 0x10033b22
jmp 0x10033955
xor eax, eax
mov dword [ebp - 0x18], 0x131d
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x48], 0xfffffffd
mov dword [ebp - 0x20], 0x8951fe51
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10033990
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xb18], 0xfffffff8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10033978
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x100339a6
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1200], 0xfffffff6
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10033995
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
test eax, eax
setg cl
xor edx, edx
mov dword [ebp - 0x10], ecx
or ecx, 0xffffffff
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
je 0x100339e9
mov ecx, esi
cmp dword [ebp - 0x18], eax
jne 0x100339eb
mov ecx, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0xb18], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x48]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
neg ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jge 0x10033b01
mov dword [ebp - 0x44], 0x61949f0d
mov dword [ebp - 0x30], 0xdda31432
mov dword [ebp - 0x30], 0x2cbd4dae
mov dword [ebp - 0x20], 0xfffffffc
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x48], 0x909f00f3
mov dword [ebp - 0x54], 0x29c84d8b
inc dword [ebp - 0x54]
mov eax, dword [ebp - 0xa8c]
cmp eax, dword [ebp - 0x40]
jl 0x10033ab6
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10033ab8
mov eax, esi
jmp 0x10033ab8
xor eax, eax
mov dword [ebp - 0x20], eax
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 6
setle al
cmp eax, dword [ebp - 0x54]
jne 0x10033ad8
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x724]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
push 0xfffffffffffffffc
pop edx
sub edx, eax
mov eax, dword [ebp - 0x72c]
cmp edx, eax
setle cl
mov dword [ebp - 0xb18], ecx
jmp 0x10033b12
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10033b12
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jl 0x10033953
or edx, 0xffffffff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
push 4
pop eax
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], eax
xor eax, eax
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x10], eax
jmp 0x10033b62
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x33c], 0x43ddca27
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10033b51
mov eax, dword [ebp - 0x384]
add eax, dword [ebp - 0x384]
neg eax
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x384]
jg 0x10033b89
mov eax, dword [ebp - 0x388]
mov eax, dword [ebp - 0x380]
xor ecx, ecx
mov eax, dword [ebp - 0x380]
mov eax, dword [ebp - 0x384]
cmp eax, esi
setl cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10033c9a
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], eax
jmp 0x10033c8a
mov dword [ebp - 0x20], 0x2bf390f3
mov dword [ebp - 0x20], 0x659baaa4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10033bfe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x238], 0xa7f4ea14
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10033be5
xor eax, eax
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], eax
jg 0x10033c84
mov dword [ebp - 0x20], 0x4e2095e0
mov dword [ebp - 0x20], 0xfffffff6
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x22d8
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x238]
mov eax, dword [ebp + eax*4 - 0x33c]
cmp edx, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x234]
add ecx, 4
cmp ecx, eax
setg dl
xor eax, eax
add edx, 0xe4f2007
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10033c71
push 0xd58
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
inc dword [ebp - 0x238]
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x238], eax
jle 0x10033c0c
xor eax, eax
inc dword [ebp - 0x34]
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x34], 0x1c
jl 0x10033bce
dec dword [ebp - 0x10]
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x10], 0xffffffec
je 0x10033bbc
mov dword [ebp - 0x30], 0xf1124f01
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033cbe
push eax
push eax
call dword [sym.imp.GDI32.dll_RectInRegion]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033cd6
push eax
push 0xefa
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10033cfb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbfc], 0x5b57
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10033ce2
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10033d28
or edx, 0xffffffff
mov dword [ebp - 0x20], 0xfffffff7
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xbfc]
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x10]
jns 0x10033d06
xor eax, eax
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033d4b
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_GetCurrentPositionEx]
xor eax, eax
mov dword [ebp - 0x18], 0xfffffff7
cmp dword [ebp - 0x18], 0x10
jge 0x10033dbc
push 3
pop ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10033d7b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x564], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10033d63
xor eax, eax
mov dword [ebp - 0x55c], 0xffffffed
cmp dword [ebp - 0x55c], 0xfffffff2
jg 0x10033db3
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033da1
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
inc dword [ebp - 0x55c]
cmp dword [ebp - 0x55c], 0xfffffff2
jle 0x10033d8e
push 3
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jl 0x10033d5b
mov dword [ebp - 0x2c], 0xfffffffb
or ecx, 0xffffffff
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], 0x60c437ff
mov dword [ebp - 0x30], 0x7280dda2
mov dword [ebp - 0x30], 0x58e56a96
mov dword [ebp - 0x30], 0x57d38c46
mov dword [ebp - 0x30], eax
push 3
mov dword [ebp - 0x10], eax
pop ebx
cmp dword [ebp - 0x10], ebx
jge 0x10033e26
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbf4], 0x5465
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10033e0e
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10033e4e
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033e39
push eax
call edi
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033e4b
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff6
jge 0x10033e2b
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xc
jle 0x10033f4c
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], 0xe072305a
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x73e70d2
mov dword [ebp - 0x30], 0xc12f69a0
mov dword [ebp - 0x30], 0x846e
mov dword [ebp - 0x30], 0x776e9f81
mov dword [ebp - 0x30], 0xfffffffb
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x40]
add eax, 0xec5e
jne 0x10033ec1
mov edx, eax
cmp dword [ebp - 0x40], eax
je 0x10033ec3
mov edx, esi
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, 0xffff
setle cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
je 0x10033f08
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], 0x4d4e2b79
mov dword [ebp - 0x20], 0xd2a6f9a4
inc dword [ebp - 0x20]
jmp 0x10033f3c
mov dword [ebp - 0x20], 5
xor eax, eax
mov dword [ebp - 0x30], 0x489b
mov dword [ebp - 0x30], 0x1f433c8a
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa43dee6e
mov dword [ebp - 0x30], 0xcc702b5b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0xbf4]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xc
push 0
pop eax
jg 0x10033e61
mov dword [ebp - 0x10], 0x9f9b3198
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0xffffffe6
cmp dword [ebp - 0x10], 0xd
je 0x100340cf
mov dword [ebp - 0x38], 0xf1bf506e
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x38], 0xfffffff2
cmp dword [ebp - 0x38], 0xffffffed
jge 0x100340a1
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x40], 0xca0c
mov dword [ebp - 0x20], 0xad2ce6c1
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10033faa
push eax
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
mov dword [ebp - 0x34], 0xf
jmp 0x10034087
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x20], 0x868bb4a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003407c
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
imul eax, eax, 0x5193
test eax, eax
mov eax, dword [ebp - 0x38]
setle cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, 0x85b3
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x640]
je 0x1003403b
xor eax, eax
cmp dword [ebp - 0x63c], eax
je 0x1003403d
mov eax, esi
mov ecx, dword [ebp - 0x38]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setge dl
xor ebx, ebx
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp edx, esi
setg bl
xor ecx, ecx
cmp eax, ebx
setl cl
mov dword [ebp - 0x54], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x54]
cmp eax, 4
setle cl
add ecx, dword [ebp - 0x10]
je 0x10034077
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x54], eax
jne 0x10034091
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffef
jge 0x10033fb6
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffed
push 0
pop eax
jl 0x10033f86
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100340bf
push eax
push 0x1694
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xd
jne 0x10033f67
push 3
pop ebx
mov dword [ebp - 0x10], 0x8bea1220
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100340f6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100340de
xor eax, eax
mov dword [ebp - 0xf0], 0x1c
cmp dword [ebp - 0xf0], eax
jl 0x10034147
mov dword [ebp - 0x20], 0x197f0a2
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003412d
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_SetBkColor]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
dec dword [ebp - 0xf0]
push 0
pop eax
jns 0x10034108
mov dword [ebp - 0x10], eax
jmp 0x1003415d
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003415a
push eax
call edi
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffb
jl 0x1003414c
mov dword [ebp - 0x34], 0x831713b9
mov dword [ebp - 0x3c], 0x434678dc
mov dword [ebp - 0x40], 0x3ccde6bc
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], 0xfffffff2
cmp dword [ebp - 0x34], 0x1c
jge 0x10034316
jmp 0x10034190
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x48], 0x7359b504
mov dword [ebp - 0x44], 0x84cbed56
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100341c1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10f8], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100341a9
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100341ee
push 0x20ae
push eax
push 0x266f
push 0x137c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], 0x5e1a
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1003426a
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003422f
or ecx, 0xffffffff
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x10], 0x47fc
mov dword [ebp - 0x10], eax
jmp 0x1003428d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x224], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003427c
mov eax, dword [ebp - 0x40]
neg eax
jne 0x100342a2
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x100342a4
mov ecx, esi
mov eax, dword [ebp - 0x18]
mov edx, 0xbab6ea13
mov eax, dword [ebp - 0x40]
cmp edx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
jg 0x100342bc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x3c]
cmp eax, 0x1f3e
mov dword [ebp - 0x224], eax
setl cl
sub ecx, 6
jne 0x100342fb
xor eax, eax
cmp dword [ebp - 0x224], eax
je 0x100342fd
mov eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x18], esi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1c
jl 0x1003418e
mov dword [ebp - 0x28], 0x4ec2e0cf
or ebx, 0xffffffff
mov dword [ebp - 0x54], 0xbd42ca8c
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10034355
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0x8ec0ae97
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003433d
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x100343d3
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0xd4]
imul esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
sub esi, 7
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setne dl
xor ebx, ebx
cmp esi, edx
setg bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
setge cl
imul ecx, ecx, 0x93e7
cmp ecx, dword [ebp + eax*4 - 0xd4]
jne 0x100343b9
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x20], 0xcee61780
dec dword [ebp - 0x3c]
jns 0x1003435d
xor esi, esi
xor eax, eax
inc esi
or ebx, 0xffffffff
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100343ec
push 0x535
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor eax, eax
mov dword [ebp - 0x44], 0x2570e81d
mov dword [ebp - 0x18], 0xb0b02971
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1003441a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd60], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10034402
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1003444a
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], eax
jmp 0x10034440
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003443d
push eax
push eax
call dword [sym.imp.GDI32.dll_RectInRegion]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x1003442a
dec dword [ebp - 0x18]
jns 0x10034422
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x10034465
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x20], 0x5653d423
dec dword [ebp - 0x18]
jns 0x10034452
mov dword [ebp - 0x2c], 0x728ad64d
mov ebx, 0xd8bc0d13
mov dword [ebp - 0x1c], 0xac64a684
mov dword [ebp - 0x3c], 0xfd66c4a8
mov dword [ebp - 0x20], 0x8a6c
mov dword [ebp - 0x40], 0xce4a839b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1b
jl 0x1003451c
or eax, 0xffffffff
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0xa2c], ebx
mov dword [ebp - 0xa28], ebx
mov dword [ebp - 0xa24], ebx
mov dword [ebp - 0xa20], ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
sub eax, edx
neg eax
push 0
sbb eax, eax
inc eax
pop eax
setns al
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, 0x12a3
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
jne 0x100344fd
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1003450b
jmp 0x100344ff
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10034509
cmp dword [ebp - 0x3c], eax
je 0x1003450b
mov eax, esi
mov dword [ebp - 0xa28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jge 0x1003449a
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x18
jg 0x1003468c
or ebx, 0xffffffff
mov dword [ebp - 0x20], 0x3b1ad31f
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x10034556
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x84], 0xc9b7
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x1003453e
xor eax, eax
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x10034575
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xe50], esi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10034561
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10034671
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1003466e
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0x354d1843
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x84], 0
je 0x1003460a
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x84]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xe69ed994
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x84]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xe50], ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x40], eax
jne 0x10034621
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x10034628
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1003462c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1003457d
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x18
jle 0x1003452c
mov ebx, 0xd8bc0d13
or ecx, 0xffffffff
mov dword [ebp - 0x9dc], ecx
mov dword [ebp - 0x9d8], ecx
mov dword [ebp - 0x9d4], ecx
mov dword [ebp - 0x9d0], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], 0xfbb9
mov dword [ebp - 0x20], 0x3624b674
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x10], eax
jmp 0x100346d5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5b8], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100346c4
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x40]
cmp eax, ecx
ja 0x100346e9
mov edx, esi
jmp 0x100346ed
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x5b0]
xor ecx, ecx
sub eax, 0x42ef3553
cmp edx, eax
mov eax, dword [ebp - 0x5b0]
sete cl
xor edx, edx
cmp ecx, 5
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5b4]
sete cl
imul eax, ecx
add eax, 0xfffffffd
cmp eax, dword [ebp - 0x5b0]
jge 0x1003472b
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5b0]
neg eax
cmp eax, dword [ebp - 0x5b0]
jg 0x10034750
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x5b0], eax
je 0x10034752
mov ecx, esi
mov eax, dword [ebp - 0x54]
imul eax, ecx
sub eax, dword [ebp - 0x18]
je 0x1003476e
mov dword [ebp - 0x20], 0x8056
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
xor eax, eax
jmp 0x100347b6
xor eax, eax
mov dword [ebp - 0x20], eax
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10034796