Function at 0x100193ed
Capabilities:
Accept command line arguments
Clear file content
Log keystrokes via polling
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
push ebx
push esi
push edi
mov dword [ebp - 0x94], edx
xor edx, edx
mov dword [ebp - 0x14], edx
push 2
mov dword [ebp - 0x24], edx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 4], edx
pop esi
jmp 0x10019426
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x12c], 0x8bbca631
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10019415
xor edi, edi
inc edi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], edx
jl 0x1001943e
inc dword [ebp - 0x24]
dec dword [ebp - 0x14]
jns 0x10019436
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], dl
je 0x1001944f
push edx
call dword [sym.imp.USER32.dll_GetKeyboardState]
xor edx, edx
mov dword [ebp - 8], 7
mov dword [ebp - 0x18], 0x25429297
mov dword [ebp - 0x24], 0x493876a4
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], edx
jmp 0x1001947d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x118], 0xa32f
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001946c
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, 0x26d8d383
setge cl
dec ecx
sub ecx, dword [ebp - 8]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 8]
add eax, ecx
xor ecx, ecx
cmp eax, 0x785b
setle cl
add ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 8]
jle 0x100194c9
mov eax, edx
cmp dword [ebp - 0x18], edx
je 0x100194cb
mov eax, edi
add eax, 0xf9732ac
je 0x100194de
mov dword [ebp - 0x14], 0xe6fc2e60
dec dword [ebp - 0x14]
jmp 0x1001950f
mov dword [ebp - 0x14], 0xb26d5d64
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 8]
imul eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x1001950f
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor edx, edx
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x1001952a
push edx
call ebx
push eax
call dword [sym.imp.USER32.dll_SetMenu]
xor edx, edx
mov dword [ebp - 0x48], 0xb4ffb87
mov dword [ebp - 0x38], 0xffffffff
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 8], 0xfffffff6
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xfff8
mov dword [ebp - 4], 0xcc013cef
mov dword [ebp - 0x24], 0x4a2c6eb8
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 4], edx
jmp 0x1001957e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa0], 0xcafa32fd
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001956d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xfa
jl 0x100195ad
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x593f6a08
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, edi
cmp dword [ebp - 0x20], edx
jne 0x100195f0
mov eax, edx
mov dword [ebp - 4], eax
mov dword [ebp - 0x40], 0xfc4f27d2
mov dword [ebp - 8], edx
jmp 0x1001960d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x60], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x100195ff
mov dword [ebp - 8], edx
jmp 0x10019628
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xfc], 5
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10019617
mov eax, dword [ebp - 0x60]
mov esi, dword [sym.imp.USER32.dll_GetDC]
neg eax
mov dword [ebp - 0xf0], eax
je 0x100196de
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x14], edx
je 0x10019665
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xf0], eax
jmp 0x10019711
mov dword [ebp - 4], edx
jmp 0x10019674
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001966a
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x60]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x60]
setg dl
cmp edx, 5
sbb edx, edx
sub ecx, eax
inc edx
imul ecx, edx
imul eax, ecx, 0xffff8dd0
cmp eax, 8
jb 0x100196c1
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp dword [ebp - 0x5c], edx
je 0x100196d2
mov ecx, edi
cmp dword [ebp - 0xf0], edx
jne 0x100196d4
mov ecx, edx
mov eax, dword [ebp - 0x5c]
sub ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x10019711
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x100196f9
push 0x761
push edx
push edx
call ebx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
xor edx, edx
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], 0
je 0x10019711
push edx
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
xor edx, edx
mov byte [ebp - 9], dl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 8], 0xb9abc19a
mov dword [ebp - 0x10], 2
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], 0xfffffffe
push 3
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x10019753
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0xbb8bffbe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019745
mov dword [ebp - 0x10], edx
jmp 0x1001976a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8c], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001975d
mov dword [ebp - 0x10], edx
jmp 0x10019786
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x124], 0x50740728
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019775
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
cmp eax, 0x9892657
setg cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
sub edx, eax
mov eax, 0x904e20ee
add edx, 0xfbde
cmp eax, edx
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
neg edx
jne 0x100197dd
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 4], edi
cmp dword [ebp - 4], 0xffffffff
jle 0x100198bc
mov dword [ebp - 0x14], 0x299b5f27
xor edx, edx
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x30], 0x71bf3935
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x80], edx
je 0x10019848
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], edx
jne 0x1001985f
cmp dword [ebp - 0x14], edx
je 0x10019861
mov edx, edi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
test ecx, ecx
setle bl
xor edx, edx
imul ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
cmp ebx, eax
mov eax, dword [ebp - 0x30]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffff7
setg al
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x100198d1
push 0xeed
push 0x2419
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
jmp 0x100198d1
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x100198d1
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x84]
jl 0x100198fb
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
cmp edx, 0x8afaef9a
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x8c]
cmp edx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
setl cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x120]
add ecx, 0xfffffff7
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
cmp byte [ebp - 9], 0
je 0x100199dd
mov dword [ebp - 4], 0
jmp 0x10019993
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0x3ae35568
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019985
mov dword [ebp - 0x58], 0xfffffffe
jmp 0x100199cf
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x100199bc
push 0x9bc
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x100199cc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xfffffff3
je 0x100199a1
push 0
call dword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
cmp dword [ebp - 0x48], edx
je 0x1001a127
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 8], edx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 4], edx
jmp 0x10019a20
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xec], 0x34392f20
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10019a0f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], edx
je 0x10019a4f
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x10], 0xffff
push 0xfffffffffffffffd
pop edi
mov dword [ebp - 0xec], eax
mov dword [ebp - 8], edx
jmp 0x10019b46
mov dword [ebp - 0x18], 0x540f
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], edx
jl 0x10019b43
mov dword [ebp - 0x30], 0x6fbd
mov dword [ebp - 4], edx
jmp 0x10019a9e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], 9
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10019a8d
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
cmp eax, 0x2a227283
mov eax, dword [ebp - 0xac]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
push 0
sete dl
sub edx, 0x29ae
neg edx
sbb edx, edx
inc edx
cmp edx, 0xba2d3c5e
sbb edx, edx
neg edx
sub edx, 0xf1111919
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xc4]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xb4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
mov dword [ebp + eax*4 - 0xec], edx
dec dword [ebp - 0x10]
pop edx
jns 0x10019a81
dec dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10019a67
mov dword [ebp - 0x28], 0xdba3
mov dword [ebp - 0x30], 0xbd085c9e
inc dword [ebp - 0x28]
mov dword [ebp - 8], 6
mov dword [ebp - 4], edx
jmp 0x10019b7d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xcc], 0x1928
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10019b6c
mov dword [ebp - 8], 1
cmp dword [ebp - 8], edx
jl 0x10019bd4
mov dword [ebp - 0x18], 0x62a2b3b7
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10019bc1
push 0x19bf
push 0xea2
push 0xc74
push 0x377
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor edx, edx
mov eax, dword [ebp - 8]
imul eax, dword [ebp + eax*4 - 0xcc], 0xfffffff9
mov dword [ebp - 0x18], eax
dec dword [ebp - 8]
jns 0x10019b8f
mov dword [ebp - 8], edx
jmp 0x10019be6
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcc], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10019bd9
mov dword [ebp - 0x28], 0xa
cmp dword [ebp - 0x28], 0x38
jne 0x1001a3bb
xor esi, esi
inc esi
mov dword [ebp - 8], 0x1824a8c6
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0x9d010789
mov dword [ebp - 0x34], 4
mov dword [ebp - 8], 0xffffffef
jmp 0x10019c38
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff5
jle 0x10019c25
mov dword [ebp - 8], 0xffffffe6
jmp 0x10019c73
mov dword [ebp - 4], 0xdfe4b283
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], 0xcd9d7
mov dword [ebp - 4], edx
jmp 0x10019c6a
mov dword [ebp - 0x18], 0x1da7
inc dword [ebp - 0x18]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xc
jl 0x10019c5d
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x18
je 0x10019c47
mov dword [ebp - 0x98], 0x50315362
mov dword [ebp - 0x10], 2
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0xeed08e15
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], edx
jmp 0x10019cad
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0x1713b910
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10019c9f
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], edx
jl 0x10019e2f
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2c], edx
je 0x10019d16
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2c], edx
je 0x10019cda
mov eax, esi
cmp dword [ebp - 0x10], edx
jne 0x10019cdc
mov eax, edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
je 0x10019ceb
mov ecx, esi
cmp dword [ebp - 0x2c], edx
jge 0x10019ced
mov ecx, edx
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2c]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, dword [ebp + eax*4 - 0x2c]
mov ecx, esi
jg 0x10019d18
mov ecx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
add eax, ecx
je 0x10019d47
mov dword [ebp - 0x18], 0xa421e0b
xor edx, edx
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 5
setg al
mov dword [ebp - 0x14], eax
jmp 0x10019d54
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2c], edx
jne 0x10019e2f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 0xffff
mov eax, dword [ebp - 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 edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
xor edx, edx
cmp ecx, 0x598737a3
setge dl
xor eax, eax
test edx, edx
setns al
lea ecx, [eax + 0x4b7e2c11]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
imul eax, ecx
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ecx
je 0x10019ddd
mov byte [ebp - 9], cl
cmp byte [ebp - 9], cl
je 0x10019e23
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
jmp 0x10019e23
mov dword [ebp - 4], ecx
jmp 0x10019df3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x10c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10019de2
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ecx
jl 0x10019e23
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x10019e18
push 0x1b4b
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor ecx, ecx
dec dword [ebp - 0x108]
dec dword [ebp - 8]
jns 0x10019e01
dec dword [ebp - 0x10]
push 0
pop edx
jns 0x10019cbe
mov dword [ebp - 0x18], 0x7e2f9d44
mov dword [ebp - 4], edi
mov dword [ebp - 4], edx
jmp 0x10019e4b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe0], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10019e3e
mov dword [ebp - 4], edx
jmp 0x10019ece
mov dword [ebp - 8], edi
mov dword [ebp - 0x18], 4
mov dword [ebp - 8], edx
jmp 0x10019eae
mov dword [ebp - 0x18], 0xdec4f3f7
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xe0]
cmp eax, 0x3535
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], 0xc6076fda
cmp dword [ebp - 0x18], edx
jne 0x10019eb4
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x10019e65
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10019ecb
push 0x1a9a
push edx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x15
jge 0x10019e56
mov dword [ebp - 0x34], 0x2f144811
mov dword [ebp - 0x18], 0xffffffff
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10019ef5
push edx
push edx
call dword [sym.imp.USER32.dll_CopyRect]
xor edx, edx
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10019f14
push 0x2cd
push edx
push 0x194a
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
xor edx, edx
lea eax, [ebp - 0x98]
push eax
push edx
call fcn.1001d1b7
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], 0x14d2fc5c
mov dword [ebp - 0x14], 0xbc1552c2
mov dword [ebp - 0x10], 0xe8b7
mov eax, dword [ebp - 0x10]
add eax, 0x7a4a
je 0x10019f50
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
je 0x1001a0cb
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], 0xae5d5ec7
mov dword [ebp - 0x24], 0x55e97312
mov dword [ebp - 0x18], 0x4c0c5dc7
mov dword [ebp - 0x18], 0x92777ef5
mov dword [ebp - 0x10], ecx
jmp 0x10019f8f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0xc0e2632c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10019f81
mov dword [ebp - 0x10], ecx
jmp 0x1001a04b
mov dword [ebp - 0x18], 0x6340c09c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp dword [ebp - 0x70], ecx
je 0x10019fbb
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x7c], ecx
mov eax, esi
jne 0x10019fbd
mov eax, ecx
mov dword [ebp - 4], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
push 0
mov eax, dword [ebp + eax*4 - 0x7c]
add eax, dword [ebp - 0x24]
cmp eax, 0xfbde
setne cl
xor edx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, 0x4d34d7c8
setne dl
imul eax, edx, 0x64cb4235
sub ecx, eax
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
add eax, eax
cmp eax, esi
setge cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x10]
pop ecx
cmp dword [ebp - 0x10], 3
jle 0x10019f9d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xe0ee4d50
jb 0x1001a08b
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
cmp dword [ebp - 8], 0xae77ddba
ja 0x1001a0a3
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x74]
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp eax, ecx
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x74]
cmp edx, eax
setge cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
jmp 0x1001a0e0
mov byte [ebp - 9], cl
cmp byte [ebp - 9], cl
je 0x1001a0e2
push ecx
push 0x1777
push ecx
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x30], ecx
jne 0x1001a0f2
cmp dword [ebp - 0x28], ecx
je 0x1001a0f4
mov ecx, esi
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
add eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
push 0
setl dl
mov dword [ebp - 0x30], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x38
pop edx
je 0x10019c00
jmp 0x1001a3bb
mov dword [ebp - 0x3c], 0xb6bd0d4
mov dword [ebp - 4], edx
cmp dword [ebp - 4], edx
je 0x1001a16b
mov dword [ebp - 0x18], 0x97a8
mov byte [ebp - 9], dl
cmp byte [ebp - 9], dl
je 0x1001a158
push 0xb0f
push 0xdc8
push edx
call dword [sym.imp.GDI32.dll_OffsetRgn]
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x1001a163
inc dword [ebp - 0x18]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1e
jge 0x1001a15d
jmp 0x1001a189
mov dword [ebp - 0x34], 0x987f
mov dword [ebp - 0x30], 0x5efa20bd
mov dword [ebp - 0x18], 0x34d8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x18]
mov dword [ebp - 0x38], 0xffffffec
cmp dword [ebp - 0x38], 0xfffffff7
jle 0x1001a331
push 0xfffffffffffffffd
xor esi, esi
pop edi
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 0x299fa9ef
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x14], edx
jmp 0x1001a1c0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001a1b6
mov dword [ebp - 0x20], 0xfffffff6
jmp 0x1001a2df
mov dword [ebp - 0x34], 0x62e08974
mov dword [ebp - 0x18], 0x6dfc9b99
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x14], edx
jmp 0x1001a20a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd4], 0x2c41ac3d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001a1f9
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x68]
cmp eax, ecx
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x6c]
cmp ecx, edi
mov ecx, dword [ebp - 0x24]
setge al
cmp eax, 0x87972e7e
sbb eax, eax
neg eax
imul ecx, eax
dec dword [ebp - 0x24]
dec ecx
je 0x1001a24d
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x34]
cmp eax, edx
setle cl
xor edx, edx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], edx
je 0x1001a2c2
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x14], edx
jmp 0x1001a2b4
cmp dword [ebp - 0x34], edx
je 0x1001a2a4
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, esi
setle cl
mov dword [ebp - 0x68], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jl 0x1001a29c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
jmp 0x1001a2d6
mov byte [ebp - 9], dl
cmp byte [ebp - 9], dl
je 0x1001a2d6
push edx
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor edx, edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffec
je 0x1001a1d2
mov dword [ebp - 0x90], 0x3cd0cd8a
lea ecx, [ebp - 0x41]
mov byte [ebp - 0x41], dl
xor dl, dl
call fcn.1001a48e
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001c9fd
add esp, 0x18
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff7
push 0
pop edx
jg 0x1001a1a0
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x48], edx
je 0x1001a342
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 0x1799
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
imul ecx, eax
cmp ecx, dword [ebp - 0x3c]
jl 0x1001a3b1
xor ebx, ebx
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a390
xor cl, cl
call fcn.1001a46f
push ebx
push 0x7d71
push 0x63d0
lea eax, [ebp - 0x42]
mov byte [ebp - 0x42], bl
push 0x482
push eax
call fcn.1001d30e
add esp, 0x14
jmp 0x1001a3bb
mov dword [ebp - 0x18], 0xffffffff
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x94]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0xa4]
mov edi, edx
mov esi, eax
call fcn.1001937b
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret