Function at 0x10017f61
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x10078959
call fcn.100780f0
sub esp, 0x198
push ebx
push esi
push edi
push 3
pop esi
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x28], 0x2e91a049
push esi
call fcn.1001627b
xor ebx, ebx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x20], ebx
jmp 0x10017fb1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10017f9e
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 9
jne 0x1001805e
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x10], 0xbf90350d
mov dword [ebp - 0x10], 0xffffffff
cmp dword [ebp - 0x18], ebx
je 0x10018013
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffffb
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x18]
test eax, eax
je 0x10018013
cmp dword [ebp - 0x10], ebx
je 0x10018013
xor edx, edx
inc edx
jmp 0x10018015
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov dword [esi + 8], edx
setg cl
sub ecx, 5
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
cmp dword [esi + 4], eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 9
je 0x10017fc9
push 3
pop esi
lea ecx, [ebp - 0x134]
call fcn.100162d7
push 2
lea ecx, [ebp - 0xa4]
call fcn.1001627b
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], 0x694a61bf
push 2
call fcn.1001627b
push esi
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 1
call fcn.1001627b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x10], 0x85ba
push 2
call fcn.1001627b
push 2
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x100180d3
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x1177e8ed
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100180c0
mov dword [ebp - 0x1c], ebx
jmp 0x100180ec
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100180dd
mov dword [ebp - 0x1c], ebx
jmp 0x10018109
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100180f6
mov dword [ebp - 0x1c], ebx
jmp 0x10018126
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10018113
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
cmp dword [ebp - 0x1c], ecx
jg 0x10018263
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0xa4]
setg cl
xor edx, edx
cmp eax, ecx
setl dl
xor ecx, ecx
cmp edx, dword [esi + edi*4]
mov edx, dword [ebp - 0x5c]
setle cl
xor eax, eax
cmp dword [edx + 4], ecx
setne al
add eax, 0x6a56c37f
cmp eax, dword [esi + ebx*4]
je 0x10018193
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x10018254
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x10018239
mov dword [ebp - 0x2c], 0x5bb085ca
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jl 0x10018234
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x1001822f
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x20]
mov ecx, 0xfb7d4763
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
inc eax
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [edx + 4], eax
mov dword [ebp - 0x28], ebx
jmp 0x10018221
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0x1d4b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1001820e
dec dword [ebp - 0x20]
jns 0x100181ee
xor ecx, ecx
inc ecx
dec dword [ebp - 0x24]
jns 0x100181d9
dec dword [ebp - 0x18]
jns 0x100181ca
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10018248
push ebx
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
dec dword [ebp - 0x10]
push 1
pop ecx
jns 0x100181c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x10018143
push 3
pop esi
lea ecx, [ebp - 0xf8]
call fcn.100162d7
lea ecx, [ebp - 0x128]
call fcn.100162d7
lea ecx, [ebp - 0x178]
call fcn.100162d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.100162d7
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x28], ebx
jmp 0x10018497
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0x1a
jmp 0x100183f5
push esi
lea ecx, [ebp - 0x88]
call fcn.1001627b
push 1
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], esi
call fcn.1001627b
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x2c], 0xffffffff
push esi
call fcn.1001627b
mov dword [ebp - 0x1c], ebx
jmp 0x10018306
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0xfc0272a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100182f3
mov dword [ebp - 0x1c], ebx
jmp 0x10018323
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10018310
mov dword [ebp - 0x1c], ebx
jmp 0x10018341
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001832e
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
sub ecx, dword [eax]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 2
jg 0x100183cd
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x10], 0xfffffffc
xor edx, edx
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x88]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x18]
cmp eax, 0xffff
mov dword [edi + 4], eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x10018368
push 3
pop esi
lea ecx, [ebp - 0x110]
call fcn.100162d7
lea ecx, [ebp - 0xe0]
call fcn.100162d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.100162d7
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffef
jle 0x100182b4
mov dword [ebp - 0x18], ebx
jmp 0x1001848a
mov dword [ebp - 0xb4], 0x43657218
mov dword [ebp - 0xb0], 0x43657218
mov dword [ebp - 0xac], 0x43657218
mov dword [ebp - 0xa8], 0x43657218
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10018451
push 0x19a8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [ebp - 0x20], esi
jmp 0x10018481
mov dword [ebp - 0x10], 0x4b52dd86
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x1001847e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10018479
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
dec dword [ebp - 0x10]
jns 0x10018465
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x11
jg 0x10018456
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
jne 0x10018407
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x16
jg 0x100182a5
mov dword [ebp - 0x3c], 0x69fdf99f
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x10], 0x2395e2de
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x20]
mov byte [ebp - 0x11], 0
cmp eax, 0x3af7
jl 0x100184f1
cmp byte [ebp - 0x11], 0
je 0x10018501
call dword [sym.imp.USER32.dll_CreateMenu]
jmp 0x10018501
cmp byte [ebp - 0x11], 0
je 0x10018501
push 0
push 1
push 1
push 0
call ebx
mov dword [ebp - 0x8c], 0xe08a1101
mov dword [ebp - 0x10], 0
jmp 0x10018522
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], 0x68ec0ae9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10018514
mov dword [ebp - 0x58], 0
jmp 0x1001858a
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10018577
push 0x5d7
push 0x1c97
push 0xa61
push 0x18d8
push 0x2187
push 0xa8
push 0x692
push 0x599
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10018587
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffe3
jg 0x10018531
mov eax, dword [ebp - 0x58]
xor ecx, ecx
add eax, 0x1fc9a572
cmp eax, 1
setl cl
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x74], 0x933bd3e0
mov dword [ebp - 0x24], 0x1713b910
mov dword [ebp - 0x28], 0x4db
mov dword [ebp - 0x10], 0
jmp 0x100185d2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x160], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100185c1
mov dword [ebp - 0x24], 0xffffffe2
jmp 0x10018646
push 4
lea ecx, [ebp - 0xec]
call fcn.1001627b
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10], 0
jmp 0x1001860c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100185fd
mov eax, dword [ebp - 0xec]
lea ecx, [ebp - 0xec]
mov dword [eax + 8], 0x18
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x160], 0
call fcn.100162d7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 9
jle 0x100185e1
mov dword [ebp - 0x3c], 0
mov edi, 0x13bf58aa
jmp 0x10018e55
mov dword [ebp - 0x1c], 0xc4b4e126
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x20], 0x582f80c3
mov dword [ebp - 0x2c], 0x1efc39fa
mov dword [ebp - 0x10], 0
jmp 0x10018690
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38], 0x3f30b91e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x10018682
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 1
setle cl
imul ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x100186b1
cmp dword [ebp - 0x1c], ecx
je 0x100186b4
xor ecx, ecx
inc ecx
dec dword [ebp - 0x20]
xor eax, eax
cmp ecx, 0x132d7af2
setne al
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
cmp ecx, 0x4ca7
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, edi
setne cl
xor edx, edx
sub eax, ecx
add eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffb
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0
je 0x1001876c
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
cmp edx, 0x56a759f3
jg 0x1001872e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x1c], 0x64a0
test eax, eax
je 0x1001876c
xor ecx, ecx
inc ecx
jmp 0x1001876e
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
imul eax, ecx, 0x37d
xor ecx, ecx
cmp eax, 0x58b
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
cmp ecx, 0x1779538e
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
imul eax, dword [ebp - 0x1c]
imul eax, ecx
test eax, eax
je 0x100187b1
cmp dword [ebp - 0x18], 0
je 0x100187b1
xor eax, eax
inc eax
jmp 0x100187b3
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x1c], 0x6a53
mov dword [ebp - 0x10], 0
jmp 0x100187de
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbc], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x100187cd
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x13
jmp 0x100188ec
mov dword [ebp - 0x10], 0x288a137b
lea ecx, [ebp - 0xc8]
push esi
call fcn.1001627b
mov dword [ebp - 0x18], 0
jmp 0x10018820
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x154], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1001880f
mov dword [ebp - 0x18], 0
jmp 0x10018842
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0x467b47e0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001882f
mov dword [ebp - 0x10], 0xfffffffe
jmp 0x100188cb
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 0
jl 0x100188c8
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x154]
cmp dword [ebp - 0x20], eax
jg 0x1001888e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x154]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x154]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
or dword [edx + 8], 0xffffffff
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], 0
jl 0x100188c3
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc8]
cmp dword [eax + ecx*4], 0
jne 0x100188c3
dec dword [ebp - 0x20]
jns 0x100188af
dec dword [ebp - 0x18]
jns 0x10018866
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffb
jge 0x10018850
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
call fcn.100162d7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x27
jge 0x100187f3
mov dword [ebp - 0x78], 0xe0d1
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x60], 0x8f27142b
mov eax, 0x3556
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x2c], 0xb905d09e
mov dword [ebp - 0x2c], 0
push 2
mov dword [ebp - 0x2c], 0
pop esi
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], 0
push esi
call fcn.1001627b
mov dword [ebp - 0x24], 0xdc0e3e76
mov dword [ebp - 0x10], 0
jmp 0x10018984
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0x9ce456
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10018971
dec dword [ebp - 0x24]
lea ecx, [ebp - 0x184]
call fcn.100162d7
push esi
lea ecx, [ebp - 0xd4]
call fcn.1001627b
xor ecx, ecx
mov dword [ebp - 4], 5
push 3
mov dword [ebp - 0x18], ecx
pop edx
jmp 0x100189c5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], 0x69fdf99f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100189b4
mov dword [ebp - 0x18], ecx
jmp 0x100189e0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100189cf
mov dword [ebp - 0x90], 0xffffffeb
jmp 0x10018a13
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10018a0d
push 0x20ca
push 0x20c9
push ecx
call dword [sym.imp.USER32.dll_RemoveMenu]
xor ecx, ecx
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], 5
jg 0x100189f1
mov dword [ebp - 0x20], 0xfffffffa
mov eax, 0xcf865116
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x10], 0x495e0e2b
cmp dword [ebp - 0x20], ecx
je 0x10018b34
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x104]
push esi
call fcn.1001627b
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x10018a79
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0x4b748abb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10018a66
mov dword [ebp - 0x20], edx
jmp 0x10018b1b
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x10], 0xa43b2b74
mov dword [ebp - 0x2c], 0x2ba8d7d2
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018ab4
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor edx, edx
cmp dword [ebp - 0x28], edx
je 0x10018afa
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
je 0x10018aec
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x10], 0xffff
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x104]
cmp dword [eax + 4], edx
je 0x10018afa
xor edx, edx
inc edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
push 0
setle cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x20]
neg eax
pop edx
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x36
jle 0x10018a86
lea ecx, [ebp - 0x104]
call fcn.100162d7
xor ecx, ecx
jmp 0x10018b3e
mov dword [ebp - 0x10], 0xffff
dec dword [ebp - 0x10]
push 0x268b
lea eax, [ebp - 0xd4]
push eax
push ecx
lea eax, [ebp - 0x158]
push eax
call fcn.10019363
add esp, 0x10
mov dword [ebp - 0x2c], 4
xor ecx, ecx
mov dword [ebp - 0x10], ecx
jmp 0x10018b79
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18c], 0x871c7bf0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10018b68
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], cl
je 0x10018b8f
push ecx
push 1
push 1
push ecx
call ebx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x30], 0xfffffff0
jmp 0x10018d8b
mov dword [ebp - 0x18], 0xf6af1124
lea ecx, [ebp - 0x11c]
push 2
call fcn.1001627b
mov dword [ebp - 0x2c], 0xdfc3e8ce
mov dword [ebp - 0x10], 0
jmp 0x10018bdb
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x665969a2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10018bc8
mov dword [ebp - 0x18], 0xffffffe2
jmp 0x10018cb5
mov dword [ebp - 0x10], 0x3d78
mov dword [ebp - 0x24], 0xd3ec93cc
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10018c4a
push 0x3ec
push 0x2173
push 0x17ed
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x187e
push 0x15a9
push 0x14f9
push 0x2260
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, 6
mov eax, 0xc25fcc58
setne cl
cmp eax, ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
sbb esi, esi
neg esi
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul esi, edx
cmp eax, esi
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
imul ecx, ecx, 0xa0b3
cmp ecx, eax
setg dl
mov dword [ebp - 0x2c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018bed
lea ecx, [ebp - 0x11c]
call fcn.100162d7
mov dword [ebp - 0x7c], 0xbfb3a4d
mov dword [ebp - 0x20], 0x7ddc85f7
mov dword [ebp - 0x10], 0xfb770a77
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x20], 0x14
jg 0x10018d52
push 0xffffffffffffffe4
pop esi
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x24], 6
jmp 0x10018d44
mov dword [ebp - 0x10], 0x11d962ee
dec dword [ebp - 0x10]
mov dword [ebp - 0x10], esi
jmp 0x10018d3b
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10018d38
push 0
push 0x254c
push 0x3cf
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe6
jge 0x10018d0e
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x10018cff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x14
jle 0x10018cef
lea eax, [ebp - 0x74]
mov dword [ebp - 0xb8], 0xa80278ee
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.1001b1fb
add esp, 0x20
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 6
jge 0x10018ba4
push 0x4bbe
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x60]
push 0
push eax
call fcn.1001bdb1
add esp, 0x20
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x24], 0x16db6d03
push 3
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x10], ecx
pop esi
jmp 0x10018df0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x16c], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10018ddf
push 2
mov dword [ebp - 0x64], ecx
pop edx
jmp 0x10018e31
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x10], ecx
jmp 0x10018e29
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp + eax*4 - 0x16c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp + eax*4 - 0x16c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x10018e09
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], edx
jle 0x10018dfd
mov dword [ebp - 0x24], 8
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x64], eax
or dword [ebp - 4], 0xffffffff
call fcn.100162d7
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x10
je 0x1001865d
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], 0x52f34111
mov dword [ebp - 0x2c], 0xa5bc4220
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x18], ebx
jmp 0x10018e8c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xac204e2d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10018e7e
mov dword [ebp - 0x18], ebx
jmp 0x10018ea8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x198], 0x6b933888
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10018e97
mov dword [ebp - 0x48], ebx
jmp 0x10018eee