Function at 0x100181e8
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
push ebx
push esi
push edi
mov dword [ebp - 0xb0], edx
xor edx, edx
mov dword [ebp - 0xb8], ecx
xor ecx, ecx
push 0xffffffffffffffff
mov dword [ebp - 4], ecx
inc edx
pop ebx
jmp 0x10018217
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001820d
mov esi, dword [sym.imp.GDI32.dll_PatBlt]
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0x1c
jl 0x1001826f
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10018263
push 0x47a
push 0xdc2
push 0x1547
push 0x17de
push 0x1e52
call edi
push eax
call ebx
push eax
call esi
xor ecx, ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x1c
jge 0x10018237
xor edx, edx
inc edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x2c], 0x507e6732
mov dword [ebp - 0x20], 0x2006887e
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x24], 0x41e4f1f1
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x10], 0x765e4b
mov dword [ebp - 0xc], ecx
jmp 0x100182bb
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], 0x6444696a
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x100182ad
mov dword [ebp - 0xc], ecx
jmp 0x100182cf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x60], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x100182c5
cmp dword [ebp - 0x2c], ecx
je 0x100182e2
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
add eax, edx
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0x3fcb50bf
mov dword [ebp - 0x10], 0x4157736
mov dword [ebp - 0x24], 2
mov dword [ebp - 4], edx
jmp 0x1001834b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9c], 0xa8eac8b
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001833a
mov dword [ebp - 4], 3
cmp dword [ebp - 4], edx
jl 0x1001849e
push 0xfffffffffffffffb
pop esi
mov dword [ebp - 8], edx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 3
jg 0x10018427
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], 0x31e1
mov dword [ebp - 0x2c], 0x589fe57f
cmp dword [ebp - 8], edx
jne 0x1001839a
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x9c], edx
jne 0x1001839a
mov eax, edx
jmp 0x1001839d
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
xor edx, edx
mov eax, dword [ebp - 8]
push 0
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0x9c]
cmp edx, 0x3735b263
setg cl
sub ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
imul edx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x9c]
cmp esi, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
mov eax, dword [ebp - 4]
setle cl
add eax, 0xffffbc34
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x94]
cmp ecx, eax
setne dl
mov dword [ebp - 0x2c], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
pop edx
jle 0x10018374
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
cmp eax, 0x1efe0c23
setne cl
mov dword [ebp - 0x94], ecx
test ecx, ecx
je 0x10018454
cmp dword [ebp - 8], edx
jne 0x10018451
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], edx
je 0x10018454
xor edx, edx
inc edx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp eax, ecx
setle dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
inc edx
sub edx, 0x8e18
jne 0x10018487
cmp dword [ebp - 8], edx
jne 0x10018489
mov eax, edx
jmp 0x1001848c
xor edx, edx
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
dec dword [ebp - 4]
jns 0x10018364
mov esi, dword [sym.imp.GDI32.dll_PatBlt]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x100184b5
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
xor edx, edx
mov dword [ebp - 0xc], 0x68ec0ae9
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 4], 0xffff
mov dword [ebp - 0x24], 0xd5943e2f
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0xc], edx
jmp 0x100184ee
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x180], 0x779a7b44
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x100184dd
mov dword [ebp - 0xc], edx
jmp 0x1001850a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1fc], 0xa4f0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x100184f9
mov dword [ebp - 0xc], edx
jmp 0x1001852b
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018528
push edx
push edx
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor edx, edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x13
jg 0x10018515
cmp dword [ebp - 0x10], edx
je 0x10018558
mov eax, dword [ebp - 4]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x180], eax
sete cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
je 0x10018558
xor eax, eax
inc eax
jmp 0x1001855a
mov eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x2c], 1
mov dword [ebp - 4], edx
jmp 0x10018592
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x38], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
jl 0x10018584
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x1c
jl 0x100186ff
mov eax, 0x4039b642
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x20], 0xe69
inc dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 3
jg 0x10018638
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 9
mov dword [ebp - 4], edx
jmp 0x100185ff
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1bc], 1
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100185ee
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x100]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x100], ecx
mov dword [ebp - 4], edx
jmp 0x10018624
inc dword [ebp - 0x24]
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x1001861e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x100185df
mov eax, 0x4039b642
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x100186ed
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x20], 0xe69
inc dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x100186c4
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 9
mov dword [ebp - 4], edx
jmp 0x10018696
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1ac], 1
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10018685
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0xf0]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf0], ecx
mov dword [ebp - 4], edx
jmp 0x100186bb
inc dword [ebp - 0x24]
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x100186b5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x10018676
push 0x47a
push 0xdc2
push 0x1547
push 0x17de
push 0x1e52
call edi
push eax
call ebx
push eax
call esi
xor edx, edx
inc dword [ebp - 0x38]
mov eax, 0x4039b642
cmp dword [ebp - 0x38], 0x1c
jge 0x100185aa
mov dword [ebp - 0x18], 0xfffffff6
xor esi, esi
mov dword [ebp - 4], 0x58d32ffa
inc esi
mov dword [ebp - 0x30], 5
or eax, 0xffffffff
mov dword [ebp - 0x24], esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x20], 0xfffffff8
push 0xfffffffffffffffb
mov dword [ebp - 0x20], 0xa835a23e
pop ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], ecx
push 3
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], edx
pop ecx
jmp 0x10018753
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1d4], 0x76f5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10018742
mov dword [ebp - 0xc], edx
jmp 0x1001876e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x18c], 7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001875d
dec dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
sub eax, 0x1078b534
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x184], eax
je 0x10018792
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, esi
setg cl
cmp ecx, 9
mov ecx, dword [ebp - 0x30]
sbb eax, eax
inc eax
sub ecx, eax
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, 0x3c692bea
setne dl
imul edx, dword [ebp - 0x18]
sub edx, 0x67df2ddf
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 4], edx
xor edx, edx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc], 0xfebb6748
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xf52174d4
mov dword [ebp - 0x20], 0x230a264
mov dword [ebp - 4], edx
jmp 0x10018837
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x6c], 5
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10018829
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 3
jg 0x10018989
or eax, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x18], 0xd534a2c9
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 3
jg 0x1001897c
mov dword [ebp - 0x18], 5
mov ecx, esi
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x10]
dec dword [ebp - 0x10]
cmp eax, 9
mov eax, dword [ebp - 0xc]
cmovge ecx, edx
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x24]
add eax, ecx
sub eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
je 0x100188b5
mov ecx, esi
cmp dword [ebp - 0x24], edx
jne 0x100188b7
mov ecx, edx
xor eax, eax
cmp ecx, 0xfd06
setle al
xor edx, edx
cmp eax, 0x7346
setge dl
xor ecx, ecx
sub edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp edx, eax
setl cl
xor edx, edx
add ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 8]
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, dword [ebp - 0xc]
jle 0x1001890e
mov eax, esi
cmp dword [ebp - 0x18], edx
jne 0x10018910
mov eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], edx
jmp 0x10018966
mov dword [ebp - 0x20], 0x38b4b72b
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x18], edx
jmp 0x10018948
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e0], 0xad47
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018937
dec dword [ebp - 0x6c]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018963
push edx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x10018924
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x10018874
or eax, 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x1001884c
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x16
je 0x10018a3f
mov dword [ebp - 8], 0x2bba2d3c
or eax, 0xffffffff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xaeab
cmp dword [ebp - 0xc], edx
jne 0x100189c4
cmp dword [ebp - 8], edx
je 0x100189c6
mov edx, esi
mov dword [ebp - 4], 0x1c91
cmp dword [ebp - 4], 0
je 0x100189e5
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x10]
mov ecx, 0xffff
sub ecx, eax
mov eax, dword [ebp - 0xd0]
add ecx, eax
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
cmp eax, ecx
jne 0x10018a05
mov eax, esi
jmp 0x10018a07
xor eax, eax
cmp eax, dword [ebp - 0x30]
jl 0x10018a16
cmp dword [ebp - 0x10], 0
jne 0x10018a16
xor eax, eax
jmp 0x10018a18
mov eax, esi
xor ecx, ecx
cmp eax, 0x1919
push 0
setne cl
xor eax, eax
sub ecx, dword [ebp - 0x10]
cmp edx, ecx
pop edx
setl al
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x16
jne 0x10018996
mov dword [ebp - 4], 0xcff0ea75
mov dword [ebp - 4], edx
jmp 0x10018a63
cmp dword [ebp - 4], edx
jne 0x10018a69
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018a60
call edi
push eax
call ebx
xor edx, edx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe7
jg 0x10018a4b
mov dword [ebp - 0xc], esi
or ebx, 0xffffffff
mov dword [ebp - 0xc], 0xfe7d8a87
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], edx
jmp 0x10018a8f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10018a81
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], edx
jl 0x10018b5c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0x19c4
mov dword [ebp - 0x18], edx
jmp 0x10018ac0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc0], 0x62bb2c59
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10018aaf
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018ad7
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x4c]
cmp dword [ebp - 0xc], edx
je 0x10018b27
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, 9
setne cl
xor eax, eax
cmp ecx, 0xfffffffd
setne al
xor ecx, ecx
sub eax, dword [ebp - 4]
cmp eax, 4
mov eax, dword [ebp - 0xc]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setle dl
xor ecx, ecx
cmp eax, ebx
setne cl
xor eax, eax
cmp ecx, edx
setne al
cmp eax, dword [ebp - 0x4c]
jg 0x10018b25
mov eax, esi
jmp 0x10018b29
xor edx, edx
mov eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
sub edx, 0x5a9cea44
neg edx
push 0
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop edx
setle cl
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0xc]
jns 0x10018aa0
mov dword [ebp - 4], edx
jmp 0x10018b75
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018b72
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1b
jne 0x10018b61
xor ecx, ecx
mov dword [ebp - 0x18], edx
inc ecx
jmp 0x10018b91
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x40], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018b83
mov ebx, dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], edx
jl 0x10018e05
mov esi, 0x91704d9f
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x28], 0x55126ed4
mov dword [ebp - 0x2c], 0x321ee01e
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x8c], 0xffffffe2
cmp dword [ebp - 0x8c], 0xd
je 0x10018d40
mov dword [ebp - 8], 0xa35f394
mov dword [ebp - 8], 0xfffffff8
cmp dword [ebp - 8], 0xfffffff4
jle 0x10018cb7
mov dword [ebp - 4], edx
mov dword [ebp - 4], edx
jmp 0x10018c8c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x18], edx
jmp 0x10018c38
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe0], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018c27
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018c67
push 0x1acb
push edx
push edx
push edx
push edx
push 0x251d
push 0x1e0a
call edi
push eax
call dword [sym.imp.USER32.dll_ScrollWindowEx]
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x18], edx
jmp 0x10018c83
mov dword [ebp - 0x28], 0xc660
inc dword [ebp - 0x28]
mov dword [ebp - 0xe0], 0x727cad7d
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jle 0x10018c6c
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe6
jle 0x10018c1f
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018ca7
push edx
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor edx, edx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff4
push 1
pop ecx
jg 0x10018c17
mov dword [ebp - 8], 0xfffffffe
jmp 0x10018d24
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], edx
jmp 0x10018ce0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x168], 0xa6dfe160
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018ccf
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x8f1f
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
add eax, 0x6fc75dfc
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x160], ecx
inc dword [ebp - 8]
push 1
pop ecx
cmp dword [ebp - 8], 0x14
jg 0x10018cc0
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xd
push 1
pop ecx
jne 0x10018bff
mov byte [ebp - 0x11], dl
or eax, 0xffffffff
mov dword [ebp - 4], 0xb036
mov dword [ebp - 0x2c], 0xbc99
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 8], edx
jmp 0x10018d70
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1b4], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10018d63
mov dword [ebp - 8], edx
jmp 0x10018d8c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x20c], 0x740826f3
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10018d7b
mov eax, dword [ebp - 4]
mov eax, ecx
cmp dword [ebp - 4], edx
jne 0x10018d9e
mov eax, edx
xor edx, edx
cmp eax, 0x107
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 0xb000cd9d
sbb edx, edx
neg edx
sub edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
sub ecx, 0x1f78
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setl al
cmp eax, dword [ebp - 4]
je 0x10018ddc
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x28]
cmp byte [ebp - 0x11], 0
je 0x10018df6
push 0x22d7
push 0
push 0
call ebx
dec dword [ebp - 0xc]
push 0
pop edx
push 1
pop ecx
jns 0x10018bad
mov esi, dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov edi, dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], edx
jl 0x10019585
or ebx, 0xffffffff
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x40]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0xc], edx
je 0x10018e52
mov dword [ebp - 0x2c], 0xc7153413
cmp dword [ebp - 0x2c], edx
jne 0x1001957f
jmp 0x1001930c
mov dword [ebp - 0x10], 7
mov dword [ebp - 8], 0x632667a8
mov dword [ebp - 8], edx
jmp 0x10018e73
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x58], 0x99ff
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10018e65
mov dword [ebp - 8], edx
jmp 0x10018e8e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x174], 0xfffffffd
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10018e7d
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
jl 0x10018f5d
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x20], 0x15aa961
mov dword [ebp - 0x20], 0xdf6f9781
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 0xc33c017f
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], edx
jmp 0x10018f2f
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xe9378f1e
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x18], edx
jmp 0x10018f0c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x140], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018eff
mov eax, dword [ebp - 4]
xor ecx, ecx
push 1
mov eax, dword [ebp + eax*4 - 0x58]
cmp eax, 1
sete cl
mov dword [ebp - 0x174], ecx
dec dword [ebp - 0x28]
inc dword [ebp - 4]
pop ecx
cmp dword [ebp - 4], edx
jle 0x10018ed2
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018f51
push 0xdc3
push edx
push edx
push 0x7d5
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
xor edx, edx
dec dword [ebp - 8]
push 1
pop ecx
jns 0x10018ea0
mov dword [ebp - 8], ecx
jmp 0x10018f80
mov dword [ebp - 4], edx
mov dword [ebp - 4], edx
jmp 0x10018f78
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0xfd8f
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10018f6a
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10018f62
mov dword [ebp - 0x18], edx
jmp 0x10018f97
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13c], edx
inc dword [ebp - 0x18]
push 2
pop eax
cmp dword [ebp - 0x18], eax
jl 0x10018f8a
mov dword [ebp - 0x10], edx
jmp 0x100190c2
mov dword [ebp - 8], 0x1a36
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], edx
jmp 0x100190a5
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], edx
jmp 0x10019015
mov dword [ebp - 0x18], edx
jmp 0x10019005
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0x622a149c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018ff4
cmp dword [ebp - 0xb4], edx
jne 0x1001901b
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffa
jle 0x10018fef
mov dword [ebp - 8], 3
cmp dword [ebp - 8], edx
jl 0x100190a2
mov dword [ebp - 0x28], 0xfffffff8
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jne 0x10019045
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 8]
xor edx, edx
push 0
mov eax, dword [ebp + eax*4 - 0xac]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xac]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp ecx, 0x13a6
mov eax, dword [ebp - 8]
setle dl
inc edx
mov dword [ebp + eax*4 - 0xac], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp edx, eax
pop edx
setne cl
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp ebx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 8]
jns 0x10019027
xor ecx, ecx
inc ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff2
jne 0x10018fe0
mov eax, dword [ebp - 0xc]
push 2
mov eax, dword [ebp + eax*4 - 0x40]
mov dword [ebp - 0x138], eax
inc dword [ebp - 0x10]
pop eax
cmp dword [ebp - 0x10], 0x1b
jge 0x10018fa7
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x2c], 0xeec5
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], 0x4ddb84c6
mov dword [ebp - 0x18], 0x4426
mov dword [ebp - 0x24], 0xde72
mov dword [ebp - 8], edx
jmp 0x1001910e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xbc], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10019101
mov dword [ebp - 8], edx
jmp 0x10019125
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c8], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10019118
mov dword [ebp - 8], edx
jmp 0x10019141
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1a4], 0x560277ed
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10019130
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x28]
sub eax, 0xfffffffa
neg eax
sbb eax, eax
inc ecx
add eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x24]
cmp ecx, eax
jne 0x10019184
xor eax, eax
inc eax
jmp 0x10019186
mov eax, edx
mov edx, 0x46d68740
xor ecx, ecx
sub edx, eax
sub edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x18]
add edx, dword [ebp - 4]
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 4], ecx
mov byte [ebp - 0x19], dl
mov dword [ebp - 8], 0xb9f9b319
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x10], edx
jmp 0x100191d7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc8], 0x5b676bd7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100191c6
mov dword [ebp - 8], edx
jmp 0x100192e9
mov dword [ebp - 4], 0xffff
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x10], edx
jmp 0x10019208
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x150], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100191f7
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10019225
push 0x40b
push edx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor edx, edx
cmp dword [ebp - 4], edx
jne 0x100192c4
mov eax, dword [ebp - 8]
mov ecx, 0xfd52a42b
cmp ecx, eax
mov ecx, 0xa3205f5a
sbb eax, eax
inc eax
sub eax, dword [ebp - 4]
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, eax, 7
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
add edx, 0x4d8a3075
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, 0x907865e1
setl cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
imul ecx, dword [ebp - 0x28], 0xa0ce
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 4]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
sub ecx, dword [ebp - 4]
lea eax, [ecx + 0xffff]
cmp eax, ebx
mov dword [ebp - 0xc8], eax
sete dl
xor ecx, ecx
imul edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14c]
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, dword [ebp - 0x14c]
jge 0x100192c4
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc4], edx
jne 0x100192db
cmp dword [ebp - 0xc8], edx
jne 0x100192db
mov ecx, edx
jmp 0x100192de
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x28], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x10
je 0x100191e5
cmp byte [ebp - 0x19], 0
je 0x10019309
push edx
push 0x10de
push 0x36d
push edx
call esi
xor edx, edx
xor ecx, ecx
inc ecx
mov dword [ebp - 8], 0x544d1878
mov dword [ebp - 0x24], 0x6896e60b
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x10], edx
jmp 0x10019334
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], 0x4b5f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019326
cmp dword [ebp - 0x48], edx
je 0x100193a1
mov dword [ebp - 0x10], 0xd444182b
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 5
jl 0x10019508
mov eax, 0x9cc25fa
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 8], eax
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x10019393
push 0x11b5
push 0x19a0
call dword [sym.imp.USER32.dll_SetCaretPos]
xor edx, edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 5
jge 0x10019352
jmp 0x10019505
mov dword [ebp - 4], 5
mov dword [ebp - 0x18], 0x90f5f2fe
mov dword [ebp - 0x20], 0x6d56
mov dword [ebp - 0x2c], 0x7742
mov dword [ebp - 0x10], edx
jmp 0x100193d3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x134], 0xf0d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100193c2
mov dword [ebp - 8], 0xe
cmp dword [ebp - 8], 0xfffffffc
jne 0x100194a0
push 0xfffffffffffffffb
pop esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x10], 0x446b7d86
mov dword [ebp - 0x10], edx
jmp 0x1001940d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019403
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
cmp eax, 0x5a7d
setne dl
xor ecx, ecx
neg edx
cmp edx, ebx
setge cl
xor eax, eax
cmp ecx, ebx
setge al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [ebp - 4], 0xf95e
jg 0x1001944a
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
test eax, eax
sets cl
mov dword [ebp - 0x10], ecx
mov ecx, 0x5769e8a2
mov eax, dword [ebp - 4]
sub ecx, eax
jne 0x10019483
mov eax, dword [ebp - 4]
neg eax
mov dword [ebp - 0x64], eax
jne 0x10019483
xor edx, edx
inc ecx
mov eax, edx
jmp 0x1001948a
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, ecx
mov dword [ebp - 0x18], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffc
je 0x100193ed
mov esi, dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], edx
jne 0x100194cd
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
setne dl
neg edx
jne 0x100194cb
xor edx, edx
mov ecx, edx
jmp 0x100194d0
xor edx, edx
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x39428f8a
setg al
sub eax, 3
neg eax
sbb eax, eax
inc eax
cmp eax, 0xc8d67996
jae 0x100194f2
cmp dword [ebp - 0x2c], edx
jne 0x100194f2
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x12c]
sub ecx, eax
mov dword [ebp - 8], ecx
xor ecx, ecx
inc ecx
mov byte [ebp - 0x11], dl
mov dword [ebp - 4], 0xfffffffa
mov dword [ebp - 0x10], edx
jmp 0x10019525
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], 0xac8b13ec
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019517
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x1001954d
push 0x2572
push 0xb16
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
xor edx, edx
mov dword [ebp - 4], edx
cmp dword [ebp - 4], edx
jl 0x10019568
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x68], ecx
dec dword [ebp - 4]
jns 0x10019555
cmp byte [ebp - 0x11], 0
je 0x10019573
push edx
call edi
xor edx, edx
dec dword [ebp - 0xc]
push 1
pop ecx
jns 0x10018e20
mov ebx, dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov dword [ebp - 4], 0xfffffff7
mov dword [ebp - 0x10], edx
jmp 0x100195a2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcc], 0x24f01c08
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019591
mov dword [ebp - 4], edx
jmp 0x100195c5
mov dword [ebp - 0x2c], 0xd3f4
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0xcc], edx
jne 0x100195ca
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x100195ac
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0x507e6732
mov dword [ebp - 0x20], 0x2006887e
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x2c], 0x41e4f1f1
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x24], 0x765e4b
mov dword [ebp - 0xc], edx
jmp 0x10019616
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5c], 0x6444696a
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10019608
mov dword [ebp - 0xc], edx
jmp 0x1001962a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x54], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10019620
cmp dword [ebp - 0x20], edx
je 0x1001963d
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
add eax, edx
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0x3fcb50bf
mov dword [ebp - 0x18], 0x4157736
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x10], edx
jmp 0x100196a3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0xa8eac8b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10019695
mov dword [ebp - 4], 3
cmp dword [ebp - 4], edx
jl 0x100197de
push 0xfffffffffffffffb
pop edi
mov dword [ebp - 8], edx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 3
jg 0x1001976d
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], 0x31e1
mov dword [ebp - 0x20], 0x589fe57f
cmp dword [ebp - 8], edx
jne 0x100196ef
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x7c], edx
jne 0x100196ef
mov eax, edx
jmp 0x100196f2
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor edx, edx
mov eax, dword [ebp - 8]
push 0
mov ecx, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0x7c]
cmp edx, 0x3735b263
setg cl
sub ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
imul edx, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edi, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
mov eax, dword [ebp - 4]
setle cl
add eax, 0xffffbc34
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x74]
cmp ecx, eax
setne dl
mov dword [ebp - 0x20], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
pop edx
jle 0x100196cc
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
cmp eax, 0x1efe0c23
setne cl
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10019794
cmp dword [ebp - 8], edx
jne 0x10019791
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], edx
je 0x10019794
xor edx, edx
inc edx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
setg cl
xor edx, edx
cmp eax, ecx
setle dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
inc edx
sub edx, 0x8e18
jne 0x100197c7
cmp dword [ebp - 8], edx
jne 0x100197c9
mov eax, edx
jmp 0x100197cc
xor edx, edx
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
dec dword [ebp - 4]
jns 0x100196bc
mov edi, dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x100197fd
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
xor edx, edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jge 0x10019819
or ecx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x10019809
mov dword [ebp - 4], 0x68ec0ae9
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 8], 0xffff
mov dword [ebp - 0x2c], 0xd5943e2f
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0xc], edx
jmp 0x10019852
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x198], 0x779a7b44
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x10019841
mov dword [ebp - 0xc], edx
jmp 0x1001986e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x21c], 0xa4f0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1001985d
mov dword [ebp - 4], edx
jmp 0x1001988f
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x1001988c
push edx
push edx
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x13
jg 0x10019879
cmp dword [ebp - 0x10], edx
je 0x100198bc
mov eax, dword [ebp - 8]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x198], eax
sete cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
je 0x100198bc
xor eax, eax
inc eax
jmp 0x100198be
mov eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0x1c
jl 0x10019915
push 0x4d06
push 0x3960
push 0x2776
push edx
push 0x58e4
call fcn.1002442d
add esp, 0x14
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x1c
push 0
pop edx
jge 0x100198ec
mov dword [ebp - 0x28], 0xfffffff6
or eax, 0xffffffff
mov dword [ebp - 0x30], 0x58d32ffa
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x2c], 1
mov dword [ebp - 4], edx
mov dword [ebp - 0x20], 0xfffffff8
push 0xfffffffffffffffb
mov dword [ebp - 0x20], 0xa835a23e
pop ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
push 3
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
pop ecx
jmp 0x1001996a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1ec], 0x76f5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10019959
mov dword [ebp - 0xc], edx
jmp 0x10019985
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x15c], 7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10019974
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
sub eax, 0x1078b534
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x154], eax
je 0x100199a9
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 1
setg cl
cmp ecx, 9
mov ecx, dword [ebp - 0x18]
sbb eax, eax
inc eax
sub ecx, eax
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x28]
sub edx, 0x67df2ddf
sub edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
inc edx
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], ecx
jmp 0x100199ff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x100199f1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ecx
jl 0x10019a26
mov byte [ebp - 0x19], cl
cmp byte [ebp - 0x19], 0
je 0x10019a21
push 0x22d7
push ecx
push ecx
call ebx
xor ecx, ecx
dec dword [ebp - 0xc]
jns 0x10019a0d
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ecx
jl 0x10019acb
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0x34], 1
cmp dword [ebp - 0xc], ecx
je 0x10019a61
mov dword [ebp - 0x20], 0xc7153413
cmp dword [ebp - 0x20], ecx
jne 0x10019acb
jmp 0x10019ab4
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x10], ecx
jmp 0x10019a7a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x128], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10019a6d
mov dword [ebp - 0x10], ecx
jmp 0x10019a95
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0x124], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1b
jge 0x10019a85
mov byte [ebp - 0x19], cl
cmp byte [ebp - 0x19], 0
je 0x10019ab4
push ecx
push 0x10de
push 0x36d
push ecx
call esi
xor ecx, ecx
mov byte [ebp - 0x19], cl
cmp byte [ebp - 0x19], 0
je 0x10019ac2
push ecx
call edi
xor ecx, ecx
dec dword [ebp - 0xc]
jns 0x10019a32
mov eax, dword [ebp - 0xb0]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0xb8]
mov edi, edx
mov esi, eax
call fcn.10018176
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret