Function at 0x401290
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2024
call fcn.0041c430
mov eax, dword [0x425004]
xor eax, esp
mov dword [esp + 0x2020], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x24], eax
push str.IsWow64Process
xor edi, edi
mov dword [esp + 0x20], 0
push str.kernel32
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4012ff
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov eax, dword [esp + 0xc]
mov edx, 0x100
mov ecx, dword [0x426398]
test eax, eax
mov dword [0x4263a0], eax
cmovne ecx, edx
mov dword [0x426398], ecx
call fcn.00401190
xor edx, edx
mov eax, 1
cmp dword [ebp + 8], 1
mov dword [esp + 0x20], eax
setle dl
jle 0x401796
mov edi, dword [0x4285a8]
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx + eax*4]
mov ecx, str._help
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401386
test dx, dx
je 0x401382
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401386
add eax, 4
add ecx, 4
test dx, dx
jne 0x401360
xor eax, eax
jmp 0x40138b
sbb eax, eax
or eax, 1
test eax, eax
je 0x40183f
mov ecx, str._version
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4013c6
test dx, dx
je 0x4013c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4013c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4013a0
xor eax, eax
jmp 0x4013cb
sbb eax, eax
or eax, 1
test eax, eax
je 0x40192c
mov ecx, str._fileversion
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401406
test dx, dx
je 0x401402
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401406
add eax, 4
add ecx, 4
test dx, dx
jne 0x4013e0
xor eax, eax
jmp 0x40140b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40142f
lea ebx, [eax + 1]
cmp dword [esp + 0x14], eax
jne 0x401909
cmp dword [esp + 0xc], eax
jne 0x401909
cmp dword [esp + 0x10], eax
jmp 0x40154d
mov ecx, str._info
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40145c
test dx, dx
je 0x401458
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40145c
add eax, 4
add ecx, 4
test dx, dx
jne 0x401436
xor eax, eax
jmp 0x401461
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401488
mov dword [esp + 0x14], 1
test ebx, ebx
jne 0x401909
cmp dword [esp + 0xc], ebx
jne 0x401909
cmp dword [esp + 0x10], ebx
jmp 0x40154d
mov ecx, str._install
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4014b6
test dx, dx
je 0x4014b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4014b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x401490
xor eax, eax
jmp 0x4014bb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4014f2
mov dword [esp + 0xc], 1
cmp dword [esp + 0x14], eax
jne 0x401909
test ebx, ebx
jne 0x401909
cmp dword [esp + 0x10], ebx
jne 0x401909
cmp dword [esp + 0x18], ebx
jne 0x401909
jmp 0x4016fc
mov ecx, str._remove
mov eax, esi
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401526
test dx, dx
je 0x401522
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401526
add eax, 4
add ecx, 4
test dx, dx
jne 0x401500
xor eax, eax
jmp 0x40152b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40156b
mov dword [esp + 0x10], 1
cmp dword [esp + 0x14], eax
jne 0x401909
cmp dword [esp + 0xc], eax
jne 0x401909
test ebx, ebx
jne 0x401909
cmp dword [esp + 0x18], 0
jne 0x401909
test edi, edi
jne 0x401909
jmp 0x4016fc
mov ecx, str._DLLonly
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401598
test dx, dx
je 0x401594
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401598
add eax, 4
add ecx, 4
test dx, dx
jne 0x401572
xor eax, eax
jmp 0x40159d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4015dc
mov dword [esp + 0x18], 1
cmp dword [esp + 0x14], eax
jne 0x401909
cmp dword [esp + 0xc], eax
jne 0x401909
cmp dword [esp + 0x10], eax
jne 0x401909
test ebx, ebx
jne 0x401909
test edi, edi
jne 0x401909
jmp 0x4016fc
mov ecx, str._nouninstall
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401609
test dx, dx
je 0x401605
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401609
add eax, 4
add ecx, 4
test dx, dx
jne 0x4015e3
xor eax, eax
jmp 0x40160e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401648
mov edi, 1
mov dword [0x4285a8], edi
cmp dword [esp + 0x14], eax
jne 0x401909
cmp dword [esp + 0x18], eax
jne 0x401909
cmp dword [esp + 0x10], eax
jne 0x401909
test ebx, ebx
jne 0x401909
jmp 0x4016fc
mov ecx, str._force
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401676
test dx, dx
je 0x401672
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401676
add eax, 4
add ecx, 4
test dx, dx
jne 0x401650
xor eax, eax
jmp 0x40167b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40168b
mov dword [0x42639c], 1
jmp 0x4016fc
mov ecx, str._QA_MODE
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4016b8
test dx, dx
je 0x4016b4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4016b8
add eax, 4
add ecx, 4
test dx, dx
jne 0x401692
xor eax, eax
jmp 0x4016bd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401834
cmp dword [0x4263a0], 0
mov ecx, str.32_bit
mov eax, str.64_bit
mov dword [0x4263a4], 1
push 0x422a88
cmove eax, ecx
push eax
push str.QA_MODE_Enabled...Running_on__ws_nTI_Version__ws_n_n
call fcn.00401050
mov edi, dword [0x4285a8]
add esp, 0xc
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 8]
jl 0x401350
test ebx, ebx
je 0x401717
call fcn.00402200
cmp dword [esp + 0x14], 0
je 0x401772
push 0x4265a8
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf31
add esp, 0xc
mov ecx, str.haspdinst32.exe
cmp dword [0x4263a0], 0
mov eax, str.haspdinst64.exe
cmove eax, ecx
push eax
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf95
add esp, 0xc
lea ecx, [esp + 0x28]
mov edx, str._info
call fcn.00401c10
mov ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x401774
xor ebx, ebx
cmp dword [esp + 0x18], 0
je 0x40178e
call fcn.00401e20
mov ecx, 8
cmp eax, ecx
cmove ebx, ecx
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebx, str._r__nomsg
test edx, edx
je 0x401866
mov ecx, str.haspPre.bat
call fcn.00401b00
call fcn.00401e20
mov esi, eax
call fcn.00402580
test eax, eax
je 0x401846
push 0x4265a8
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf31
add esp, 0xc
mov ecx, str.haspdinst32.exe
cmp dword [0x4263a0], 0
mov eax, str.haspdinst64.exe
cmove eax, ecx
push eax
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf95
add esp, 0xc
cmp dword [0x4285a8], 0
jne 0x40181e
mov edx, ebx
lea ecx, [esp + 0x28]
call fcn.00401c10
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, str._i__nomsg
lea ecx, [esp + 0x28]
call fcn.00401c10
mov ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x40184a
push esi
push str._n_tUnknown_argument_____s_n
jmp 0x40190f
xor ecx, ecx
jmp 0x401927
mov ebx, dword [esp + 0x1c]
mov ecx, str.haspPost.bat
call fcn.00401b00
test esi, esi
je 0x401866
test ebx, ebx
mov eax, 0x10
cmovne esi, eax
mov ebx, esi
jmp 0x40186a
mov ebx, dword [esp + 0x1c]
test edi, edi
je 0x4018df
mov ecx, str.haspPreUn.bat
call fcn.00401b00
push 0x4265a8
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf31
add esp, 0xc
mov ecx, str.haspdinst32.exe
cmp dword [0x4263a0], 0
mov eax, str.haspdinst64.exe
cmove eax, ecx
push eax
lea eax, [esp + 0x2c]
push 0x1000
push eax
call fcn.0040cf95
add esp, 0xc
lea ecx, [esp + 0x28]
cmp dword [0x42639c], 0
mov eax, str._r__nomsg
mov edx, str._fr__nomsg
cmove edx, eax
call fcn.00401c10
mov ecx, str.haspPostUn.bat
mov ebx, eax
call fcn.00401b00
push 1
call fcn.00404e8a
add esp, 4
push eax
call fcn.0040509c
mov ecx, dword [esp + 0x2030]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040292d
mov esp, ebp
pop ebp
ret
push esi
push str._n_tImproper_usage_____s_n
push 2
call fcn.00404e8a
add esp, 4
push eax
call fcn.00401020
add esp, 0xc
mov ecx, 2
call fcn.00401130
push 0x422a88
push str.TI_Version:__ws_n
call fcn.00401050
push 1
call fcn.00404e8a
add esp, 0xc
push eax
call fcn.0040509c
add esp, 4
push 0
call fcn.00404cc9
int3