Function at 0x1001aa0f
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
push ebx
push esi
xor esi, esi
mov dword [ebp - 4], 0x3644
inc esi
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x20], esi
xor edx, edx
mov dword [ebp - 0x1c], 0x915bb00
mov dword [ebp - 0x18], 0xee3f2f34
push edi
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x10], edx
jmp 0x1001aa56
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1bc], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001aa49
push 3
mov dword [ebp - 0x10], edx
pop ebx
jmp 0x1001aa71
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1001aa64
mov dword [ebp - 0x20], edx
or ecx, 0xffffffff
mov eax, dword [ebp - 4]
mov edi, 0x485b
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1b8], edi
mov eax, dword [ebp - 4]
cmp ecx, eax
push 0xfffffffffffffff7
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edi
mov eax, dword [ebp - 4]
setle cl
dec eax
neg eax
sbb eax, eax
inc eax
sub ecx, eax
neg ecx
pop eax
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x10], 0x4e064826
mov dword [ebp - 0x18], 0x493e623b
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x10], 5
cmp dword [ebp - 0x10], 0x17
jne 0x1001ab93
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], 0x12f3ccd2
cmp dword [ebp - 0x10], edx
je 0x1001ab70
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 0x145c
setl cl
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
setl bl
xor edx, edx
cmp ecx, eax
setle dl
xor eax, eax
cmp ebx, edx
setge al
add eax, dword [ebp - 4]
jne 0x1001ab6e
xor edx, edx
cmp dword [ebp - 0x10], edx
je 0x1001ab70
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
push 0
setg cl
mov dword [ebp - 0x134], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x17
pop edx
push 3
pop ebx
je 0x1001ab08
mov edi, dword [sym.imp.USER32.dll_EndPaint]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001abb0
push edx
call ebx
push eax
call edi
xor edx, edx
mov dword [ebp - 0xc], 0x3644
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x18], 0xa43d9532
mov dword [ebp - 4], edx
jmp 0x1001abdb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1a4], 0xcbad86e5
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001abca
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001ac04
push edx
push 0x2b8
push edx
push edx
push 0x1121
push 0x646
call dword [sym.imp.USER32.dll_ToAsciiEx]
xor edx, edx
mov eax, dword [ebp - 0x20]
neg eax
push 0xfffffffffffffffa
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1a0], eax
mov eax, 0xbea5223f
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], 0xfffc
mov dword [ebp - 0x14], 0xfffb
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0xffffffe8
pop ecx
jne 0x1001acc4
or edi, 0xffffffff
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x148], edi
mov eax, dword [ebp - 0x68]
cmp eax, 0xe503
push 0xfffffffffffffffa
setg cl
xor edx, edx
dec ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
sub ecx, eax
mov eax, dword [ebp - 0x68]
cmp ecx, eax
mov eax, dword [ebp - 0x68]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, 0xbea5223f
setne cl
mov dword [ebp - 0x68], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe8
pop ecx
je 0x1001ac45
mov edi, dword [sym.imp.USER32.dll_EndPaint]
xor edx, edx
dec dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0x915bb00
mov dword [ebp - 4], edx
jmp 0x1001ace4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xbc], 0xfffffffe
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001acd3
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0xb4], 0xffffffe9
jmp 0x1001ad24
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001ad1e
push edx
push 0xcec
push 0x1fa8
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
xor edx, edx
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 0xfffffff0
jl 0x1001acfc
push 2
mov dword [ebp - 0x18], 0xee3f2f34
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x1001ad4d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18c], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001ad3c
mov dword [ebp - 4], edx
jmp 0x1001ad65
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001ad57
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x28], edx
je 0x1001adc8
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x10], 0x13
jmp 0x1001ad9d
cmp dword [ebp - 0x10], edx
jne 0x1001ada3
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001ad9a
push edx
push edx
call dword [sym.imp.USER32.dll_LoadIconA]
xor edx, edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xf
jg 0x1001ad82
mov dword [ebp - 0x10], edx
jmp 0x1001adbd
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001adba
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
xor edx, edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe7
jne 0x1001ada8
jmp 0x1001ae7a
mov dword [ebp - 0x10], 0xf37c04cc
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jg 0x1001ae6b
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], 0x389a
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov edx, dword [ebp - 4]
sub edx, eax
mov eax, dword [ebp - 0x10]
imul edx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
sub edx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
sub ecx, 6
cmp ecx, dword [ebp - 0x2c]
jge 0x1001ae22
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 4], 0x55f992db
jl 0x1001ae42
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
push 0
pop edx
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
inc ecx
mov dword [ebp + eax*4 - 0x2c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jle 0x1001addf
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x1001ae7a
push edx
call ebx
push eax
call edi
xor edx, edx
push 3
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x1001ae91
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001ae84
mov dword [ebp - 4], 0x5c68ec0a
mov dword [ebp - 4], 0xffffffe7
jmp 0x1001aebe
cmp byte [ebp - 5], 0
je 0x1001aebb
push edx
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
mov byte [ebp - 5], dl
jge 0x1001aea6
cmp byte [ebp - 5], 0
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
je 0x1001aedc
push 0xfaa
call esi
xor edx, edx
mov dword [ebp - 0x20], edx
or ecx, 0xffffffff
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x188], 0x485b
mov eax, dword [ebp - 0xc]
cmp ecx, eax
push 2
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x485b
mov eax, dword [ebp - 0xc]
setle cl
dec eax
neg eax
sbb eax, eax
inc eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 4], 0x74b666a7
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
pop ecx
jmp 0x1001af59
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x214], 0x963ba20b
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001af48
mov dword [ebp - 0xc], edx
jmp 0x1001af74
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x19c], 0xfffffff9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001af63
cmp dword [ebp - 4], edx
je 0x1001af81
xor edx, edx
inc edx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, 9
setne cl
cmp ecx, edx
je 0x1001af9e
xor ecx, ecx
cmp dword [ebp - 0x10], ecx
je 0x1001afa0
xor edx, edx
inc edx
mov eax, edx
jmp 0x1001afa5
xor ecx, ecx
xor edx, edx
mov eax, ecx
inc edx
add eax, 0xd41e5596
je 0x1001b001
mov dword [ebp - 4], ecx
jmp 0x1001affa
mov dword [ebp - 0x10], ecx
jmp 0x1001afd7
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], ecx
dec dword [ebp - 0x11c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1001afb6
mov dword [ebp - 0x10], ecx
jmp 0x1001aff2
mov dword [ebp - 0x20], 0x9cb0befc
mov dword [ebp - 0x20], 0xc41ac3dc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1001afe1
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x1001afb1
jmp 0x1001b07f
mov dword [ebp - 0x24], edx
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x1001b054
push ecx
push 0x22b4
push 0xd
push 0x2405
push 0x54f
push 0xbc8
push 0x159b
push 0x281
push 0xa8
push 0x4c
push 0xcb2
push 0x24a6
push 0xb22
push 0x1603
call dword [sym.imp.GDI32.dll_CreateFontA]
xor edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x24], ecx
jle 0x1001b069
mov eax, edx
cmp dword [ebp - 4], ecx
jne 0x1001b06b
mov eax, ecx
cmp eax, dword [ebp - 0x10]
jne 0x1001b073
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x19c], eax
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x1001b09f
push ecx
push 0x79a
push ecx
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov dword [ebp - 4], 0xb9f9b319
xor ebx, ebx
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x18], 0xe28d
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], 0x14
cmp dword [ebp - 4], 0xe
je 0x1001b162
or edi, 0xffffffff
mov dword [ebp - 0xc], 0xfffffffb
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b0e6
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
add eax, 6
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 4], eax
jl 0x1001b103
cmp dword [ebp - 0xc], ebx
jne 0x1001b103
mov edx, ebx
jmp 0x1001b106
xor edx, edx
inc edx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
push 0
setle cl
xor ebx, ebx
cmp ecx, eax
setge bl
xor edx, edx
imul ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ebx, eax
mov eax, dword [ebp - 0xc]
pop ebx
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 4]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xe
jne 0x1001b0cd
mov edi, dword [sym.imp.USER32.dll_EndPaint]
push 2
mov dword [ebp - 0xc], ebx
pop ecx
jmp 0x1001b17b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1b4], 0xb26b
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001b16a
mov dword [ebp - 0xc], ebx
or edx, 0xffffffff
cmp dword [ebp - 0xc], ecx
jge 0x1001b197
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x48], edx
inc dword [ebp - 0xc]
jmp 0x1001b186
mov dword [ebp - 0x44], ebx
jmp 0x1001b1ad
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x1b4], 0xe56f
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ecx
jl 0x1001b19c
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x24], 0x15256ee9
mov dword [ebp - 0x14], 0x2dfce95
mov dword [ebp - 0x14], 0x83faa058
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], 0x4f34d89b
mov dword [ebp - 4], ebx
jmp 0x1001b1e6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x234], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001b1d9
mov dword [ebp - 0xc], 0xc
jmp 0x1001b2d2
mov dword [ebp - 4], 0x5dae5a6
mov dword [ebp - 0x14], 0x1456b864
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x14], 0x361cd5cc
mov dword [ebp - 0x10], ebx
jmp 0x1001b22d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x244], 0xb531eaa4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001b21c
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0x18], 0xcdf8abff
cmp dword [ebp - 4], ebx
jne 0x1001b2dc
mov eax, dword [ebp - 4]
neg eax
sbb eax, eax
neg eax
cmp eax, 0xfffffffa
jb 0x1001b26e
cmp dword [ebp - 0xc], ebx
je 0x1001b27b
cmp dword [ebp - 0xd0], ebx
je 0x1001b27b
xor ecx, ecx
inc ecx
jmp 0x1001b27d
mov ecx, ebx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], eax
je 0x1001b2a6
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
cmp eax, 1
mov eax, dword [ebp - 4]
setle cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0xd0], edx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff4
jle 0x1001b1f8
mov dword [ebp - 0x24], 0x3644
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x14], 0x8067e307
mov dword [ebp - 0x20], 0x69ec4279
mov dword [ebp - 0xc], 0x1fa147b8
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 0x6673e7ed
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x10], 0x176d
mov dword [ebp - 0x18], 0xb922
mov dword [ebp - 4], 0x12c005d9
mov dword [ebp - 4], 0x300c
mov dword [ebp - 0x14], 0x67684abf
mov dword [ebp - 4], ebx
jmp 0x1001b359
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 0xbd3aeb59
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001b348
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
cmp eax, 0xb8a2
mov eax, ecx
cmovg eax, ebx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x34]
cmp eax, 8
setl cl
xor edx, edx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, 3
setne cl
xor edx, edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
cmp eax, 0x96a0
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0xc]
cmp ecx, 0xfffffff6
jg 0x1001b3f8
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xfffffff8
jmp 0x1001b3f0
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jge 0x1001b3dd
jmp 0x1001b438
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b408
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov dword [ebp - 0xc], 0x15
jmp 0x1001b432
mov dword [ebp - 4], ebx
jmp 0x1001b429
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b426
push 0xfaa
call esi
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xf
jle 0x1001b416
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff8
jle 0x1001b411
mov dword [ebp - 0xc], 0x4e064826
mov dword [ebp - 0x1c], 0x493e623b
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xc], 5
jmp 0x1001b4f5
mov dword [ebp - 0x18], 3
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], 0x12f3ccd2
cmp dword [ebp - 0xc], ebx
je 0x1001b4e0
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0x145c
setl cl
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
setl bl
xor edx, edx
cmp ecx, eax
setle dl
xor eax, eax
cmp ebx, edx
setge al
xor ebx, ebx
add eax, dword [ebp - 4]
jne 0x1001b4db
cmp dword [ebp - 0xc], ebx
je 0x1001b4e0
xor edx, edx
inc edx
jmp 0x1001b4e2
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x154], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x17
je 0x1001b46d
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b514
push ebx
call esi
push eax
call edi
or ecx, 0xffffffff
xor edi, edi
mov dword [ebp - 0x14], ecx
inc edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0x57e8b72f
mov dword [ebp - 0x14], 0x2edc7555
mov dword [ebp - 0x14], 0x9ac196a1
mov dword [ebp - 0x14], 0x14173bf3
mov dword [ebp - 0xc], ebx
jmp 0x1001b54e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1c0], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001b541
mov dword [ebp - 0xc], ebx
jmp 0x1001b569
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1d0], 0x8bffbefa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1001b558
dec dword [ebp - 0x1c4]
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0x4e94f934
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0xc], ebx
jmp 0x1001b59f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xac], 0x89a9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001b58e
mov dword [ebp - 0xc], ebx
jmp 0x1001b5b6
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1f4], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x1001b5a9
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setl dl
cmp edx, 0x8e1b8814
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setne dl
xor ecx, ecx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x126c
setge cl
imul ecx, dword [ebp - 0xac]
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 4], 0x5d6c05ba
mov dword [ebp - 0xc], 0xfffffffb
mov dword [ebp - 4], ebx
jmp 0x1001b6b8
mov dword [ebp - 0xc], ebx
jmp 0x1001b638
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0x3c6fe23a
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x1001b62a
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 4], ebx
jne 0x1001b64c
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xc], 8
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x40], edi
jl 0x1001b6b0
mov dword [ebp - 0x18], 0x2d50fa8f
mov ecx, edi
mov dword [ebp - 0x14], 0x550e3526
mov dword [ebp - 0x3c], 0xbb08
cmp dword [ebp - 4], ebx
jne 0x1001b68b
mov ecx, ebx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
inc eax
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
jg 0x1001b6a1
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edi
setl cl
mov dword [ebp - 0x14], ecx
jmp 0x1001b6b5
cmp dword [ebp - 0x3c], ebx
jne 0x1001b6c2
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe6
jge 0x1001b625
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b6d2
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x1c], 0xa43d9532
mov dword [ebp - 4], ebx
jmp 0x1001b6f6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x184], 0xcbad86e5
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001b6e5
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b71d
push ebx
push 0x2b8
push ebx
push ebx
push 0x1121
push 0x646
call dword [sym.imp.USER32.dll_ToAsciiEx]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x34], 0x915bb00
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], 0xfffffff8
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b755
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0xc], ebx
jmp 0x1001b7d8
push 3
mov dword [ebp - 0x18], 0x32fd2d1a
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xc], ebx
jne 0x1001b775
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0xfffffffd
setg cl
mov dword [ebp - 4], ecx
cmp dword [ebp - 0xc], ebx
je 0x1001b7b2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x6d5d64f6
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xc], ebx
je 0x1001b7c9
mov dword [ebp - 0x14], 0xaedf47f2
jmp 0x1001b7d0
mov dword [ebp - 0x14], 0xafca8629
cmp dword [ebp - 0x14], ebx
jne 0x1001b7e2
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff5
jne 0x1001b75a
mov dword [ebp - 0x20], 0xee3f2f34
mov eax, 0x51c3
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 0x20398070
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0x974b666a
mov dword [ebp - 0x14], 0x9a92
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 4], ebx
jmp 0x1001b833
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x274], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001b826
inc dword [ebp - 0x100]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001b867
push ebx
call esi
push eax
push 0xb7
push 0x49e
push 0x1c49
push 0x1e61
push ebx
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 0xfffc
mov dword [ebp - 0x14], 0xfffb
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0xffffffe8
jne 0x1001b8fd
or ebx, 0xffffffff
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov eax, 0xbea5223f
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x178], ebx
mov eax, dword [ebp - 0x78]
cmp eax, 0xe503
setg cl
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
sub ecx, eax
mov eax, dword [ebp - 0x78]
cmp ecx, eax
mov eax, dword [ebp - 0x78]
sete dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x78], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe8
je 0x1001b884
xor ebx, ebx
dec dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0x3edb
mov dword [ebp - 4], 0x19c2
mov dword [ebp - 0x18], 0x1efae07d
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
or eax, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], ebx
jmp 0x1001b943
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x30], 0x26595ad3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001b935
mov dword [ebp - 0xc], ebx
jmp 0x1001b95e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x20c], 0x2a7fad54
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1001b94d
imul eax, dword [ebp - 0x1c], 0xfffffff8
cmp eax, edi
ja 0x1001b972
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, edi
setl cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 4]
cmp eax, 0xa9864ba8
mov eax, dword [ebp - 0x58]
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
imul ecx, ecx, 0xe213
cmp ecx, eax
setne dl
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, eax
cmp ecx, dword [ebp - 0x58]
jle 0x1001b9d9