Function at 0x439610
Capabilities:
Execute command
Query environment variable

Disassembly:
push r15
mov eax, 0x61c8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.0067cdd0
sub rsp, rax
xor eax, eax
mov rdx, qword [rcx + 0x10]
sub rdx, qword [rcx + 8]
mov r15, rcx
sar rdx, 5
test rdx, rdx
jne 0x439653
add rsp, 0x61c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [0x00826960]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xc0], rax
lea rcx, [r14 + 0x4000]
mov dword [r14 + 0x1c000], 0x80009812
mov dword [r14 + 0x1c024], 0
call sub.msvcrt.dll_wcslen
lea rbx, [rax + rax]
mov rdx, rbx
sar rdx, 1
cmp rdx, 7
mov qword [rsp + 0x41c0], rdx
ja 0x43989b
cmp rdx, 1
mov rax, qword [rsp + 0xc0]
je 0x43980d
test rdx, rdx
jne 0x4398cb
xor r11d, r11d
mov qword [rsp + 0xc8], rdx
mov word [rax + rdx*2], r11w
mov rax, qword [0x00826910]
mov dword [rax + 0x2010], 0
call fcn.004447e0
mov rbx, qword [0x008269c0]
mov r8d, 0x2000
xor edx, edx
mov qword [rbx], rax
mov rax, qword [0x008275a0]
lea rbx, [rsp + 0x1c0]
mov rcx, rbx
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
call sub.msvcrt.dll_memset
mov r8d, 0x1000
mov rdx, rbx
mov rsi, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rcx, [0x00800860]
call rsi
lea rdx, str._temp
mov rcx, rbx
call fcn.0068bb68
lea rax, [rsp + 0x21c0]
mov r8d, 0x1000
mov rdi, rax
mov qword [rsp + 0x68], rax
mov rdx, rax
lea rcx, [0x00800884]
call rsi
mov rcx, rdi
call sub.msvcrt.dll_wcslen
test rax, rax
je 0x4398f2
mov rbx, qword [rsp + 0x68]
mov r8d, 0x1000
lea rcx, [0x00800884]
mov rdx, rbx
call rsi
mov rax, qword [sym.imp.USER32.dll_wsprintfW]
mov r8, rbx
lea rdx, str._sSDIO
mov rcx, qword [0x00828ad0]
mov qword [rsp + 0x88], rax
call rax
mov rdi, qword [r15 + 8]
cmp rdi, qword [r15 + 0x10]
je 0x439869
lea rbx, [rsp + 0xe0]
lea rax, [rbx + 0x10]
mov qword [rsp + 0xe0], rax
mov rax, qword [rdi + 8]
mov r12, qword [rdi]
lea rsi, [rax + rax]
mov rax, r12
add rax, rsi
setne dl
test r12, r12
sete al
and dl, al
mov byte [rsp + 0x7f], dl
je 0x439904
lea rcx, [0x00800710]
call fcn.007cd620
movzx ecx, word [r14 + 0x4000]
mov word [rax], cx
jmp 0x4396d0
mov rcx, qword [0x00826910]
lea rdx, str.Last_operation_failed__ending_n
call fcn.0041db00
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x100]
add rax, 0x10
cmp rcx, rax
je 0x43984b
call fcn.007da050
mov rcx, r12
add rbx, 0x10
call fcn.007949c0
mov rcx, qword [rsp + 0xe0]
cmp rcx, rbx
je 0x439869
call fcn.007da050
mov rdx, qword [rsp + 0x60]
mov eax, 1
mov rcx, qword [rsp + 0xc0]
add rdx, 0x10
cmp rcx, rdx
je 0x43963f
mov byte [rsp + 0x30], al
call fcn.007da050
movzx eax, byte [rsp + 0x30]
jmp 0x43963f
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x41c0]
xor r8d, r8d
mov rdx, rax
call fcn.0079f8b0
mov rdx, qword [rsp + 0x41c0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], rdx
lea rdx, [r14 + 0x4000]
mov r8, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x41c0]
mov rax, qword [rsp + 0xc0]
jmp 0x4396d0
mov rcx, qword [rsp + 0x68]
mov rdx, rbx
call fcn.0068bb48
jmp 0x439780
lea rax, [rsp + 0x100]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x130]
lea rbp, [rsp + 0x110]
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
mov rdx, rsi
sar rdx, 1
cmp rdx, 7
mov rax, rdx
mov qword [rsp + 0x100], rdx
ja 0x439bc5
cmp rax, 1
je 0x439d44
lea rcx, [rbx + 0x10]
test rdx, rdx
jne 0x439bf0
xor r10d, r10d
mov r8d, 0x20
mov rdx, rbx
mov qword [rsp + 0xe8], rax
lea r12, [rsp + 0xa0]
mov word [rcx + rax*2], r10w
mov rcx, r12
call fcn.004047f0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x20
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0x108], 0
mov rcx, rbx
mov word [rsp + 0x110], r9w
call fcn.00716bf0
cmp rax, 0xffffffffffffffff
je 0x439af3
mov rsi, qword [rsp + 0xe8]
add rax, 1
cmp rax, rsi
ja 0x43a326
mov rdx, qword [rsp + 0x30]
sub rsi, rax
add rsi, rsi
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp + 0xe0]
lea r13, [rdx + rax*2]
mov rax, r13
add rax, rsi
je 0x439a22
test r13, r13
jne 0x439a22
lea rcx, [0x00800710]
call fcn.007cd620
mov rax, rsi
sar rax, 1
cmp rax, 7
mov qword [rsp + 0x90], rax
ja 0x439d60
cmp rax, 1
je 0x439d95
test rax, rax
je 0x439dfb
mov rcx, qword [rsp + 0x30]
mov rdx, r13
mov r8, rsi
call sub.msvcrt.dll_memcpy
xor ecx, ecx
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x120]
cmp rdx, qword [rsp + 0x30]
mov qword [rsp + 0x128], rax
mov word [rdx + rax*2], cx
mov rcx, qword [rsp + 0x100]
je 0x439dba
cmp rcx, rbp
je 0x439dd6
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x130]
test rcx, rcx
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x110], rax
je 0x439af3
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x128], 0
xor r13d, r13d
cmp rcx, qword [rsp + 0x30]
mov word [rcx], r13w
je 0x439af3
call fcn.007da050
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
sar rax, 5
test rax, rax
jne 0x439c10
mov rcx, qword [rsp + 0x100]
cmp rcx, rbp
je 0x439b25
call fcn.007da050
mov rsi, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
cmp rsi, r12
je 0x439b64
nop word [rax + rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x439b53
call fcn.007da050
add r12, 0x20
cmp rsi, r12
jne 0x439b40
mov r12, qword [rsp + 0xa0]
test r12, r12
je 0x439b71
mov rcx, r12
call fcn.007da050
mov rcx, qword [rsp + 0xe0]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x439b87
call fcn.007da050
lea rax, [rdi + 0x20]
cmp qword [r15 + 0x10], rax
je 0x439869
mov rsi, qword [rdi + 0x28]
lea rdx, [rbx + 0x10]
mov r12, qword [rdi + 0x20]
mov qword [rsp + 0xe0], rdx
add rsi, rsi
mov rdi, r12
add rdi, rsi
je 0x439bbd
test r12, r12
je 0x439801
mov rdi, rax
jmp 0x439940
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, rbx
call fcn.0079f8b0
mov rcx, rax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xf0], rax
mov r8, rsi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xe0]
jmp 0x439972
mov r8, qword [rdx]
lea rdx, str.Command:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rax, qword [rsp + 0xa0]
lea rdx, str.init
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x439e13
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x439d35
mov rcx, qword [rdx + 0x20]
lea rdx, str.reindex
call sub.SHELL32.dll_StrStrIW
mov rsi, rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [0x00826910]
lea rdx, str.Argument:__S_n
mov r8, qword [rax + 0x20]
call fcn.0041e210
test rsi, rsi
je 0x439d35
mov eax, dword [r14 + 0x1c000]
or eax, 1
mov r13, qword [0x00828a80]
mov dword [r14 + 0x1c000], eax
lea rsi, [0x008da460]
mov rcx, qword [0x00828c80]
movsxd rax, dword [r13]
imul rax, rax, 0x8f8
mov rdx, qword [rsi + rax + 0x8f0]
call fcn.00432280
movsxd rax, dword [r13]
mov rcx, qword [0x00828c80]
imul rax, rax, 0x8f8
add rcx, 0x28
mov rdx, qword [rsi + rax + 0x8f0]
call fcn.00432280
movsxd rcx, dword [r13]
imul rcx, rcx, 0x8f8
add rcx, rsi
call fcn.004377b0
mov ecx, 0xf
call fcn.004225a0
mov rcx, rsi
call fcn.00438770
and dword [r14 + 0x1c000], 0xfffffffe
mov dword [rsp + 0x40], eax
jmp 0x439b13
mov eax, dword [r14 + 0x1c000]
and eax, 0xfffffffe
jmp 0x439ca8
movzx edx, word [r12]
lea rcx, [rbx + 0x10]
mov word [rsp + 0xf0], dx
jmp 0x439972
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x90]
xor r8d, r8d
call fcn.0079f8b0
mov rcx, rax
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x130], rax
jmp 0x439a52
movzx eax, word [r13]
xor r8d, r8d
mov qword [rsp + 0x128], 1
mov word [rsp + 0x132], r8w
mov word [rsp + 0x130], ax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
call fcn.0079f7f0
mov rcx, qword [rsp + 0x120]
jmp 0x439ad4
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x110], rax
jmp 0x439af3
mov qword [rsp + 0x128], 0
xor eax, eax
mov word [rsp + rsi + 0x130], ax
jmp 0x439dba
mov rax, qword [rsp + 0xa0]
lea rdx, str.activetorrent
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x439f00
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43a1d6
mov rax, qword [rdx + 0x20]
mov rsi, qword [sym.imp.msvcrt.dll__errno]
mov qword [rsp + 0x38], rax
call rsi
mov r13d, dword [rax]
call rsi
mov rcx, qword [rsp + 0x38]
mov dword [rax], 0
lea rdx, [rsp + 0x98]
mov r8d, 0xa
call sub.msvcrt.dll_wcstol
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x98]
je 0x43a347
call rsi
cmp dword [rax], 0x22
je 0x43a1ca
call rsi
mov edx, dword [rax]
test edx, edx
jne 0x439eb4
call rsi
mov dword [rax], r13d
mov edx, dword [rsp + 0x50]
mov rax, qword [0x008275b0]
mov rcx, qword [0x00826910]
mov r8d, edx
mov dword [rax], edx
lea rdx, str.Argument:__d_n
call fcn.0041e210
mov rax, qword [0x008269c0]
mov rcx, qword [rax]
test rcx, rcx
je 0x439eec
mov rax, qword [rcx]
call qword [rax + 8]
call fcn.004447e0
mov rdx, qword [0x008269c0]
mov qword [rdx], rax
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.select
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43a353
mov r8, qword [rsp + 0xa0]
mov qword [rsp + 0x41c0], 0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x41c8], 0
mov qword [rsp + 0x41d0], 0
sub rax, r8
cmp rax, 0x3f
jbe 0x43a1ff
lea rax, [rsp + 0x41c0]
mov esi, 1
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x40], rax
jmp 0x439fa9
or dword [rsp + 0x50], 2
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
add rsi, 1
sub rax, r8
sar rax, 5
cmp rax, rsi
jbe 0x43a07b
mov rax, qword [rsp + 0x40]
lea rdx, [0x00800950]
mov r13, rsi
shl r13, 5
mov rcx, qword [r8 + r13]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x439f80
mov rax, qword [rsp + 0xa0]
lea rdx, str.newer
mov rcx, qword [rax + r13]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a005
or dword [rsp + 0x50], 4
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
mov rax, qword [rsp + 0xa0]
lea rdx, str.current
mov rcx, qword [rax + r13]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a03e
or dword [rsp + 0x50], 8
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
mov rax, qword [rsp + 0xa0]
lea rdx, str.older
mov rcx, qword [rax + r13]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a22c
or dword [rsp + 0x50], 0x10
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
mov r9, qword [rsp + 0x41c8]
mov r11d, dword [rsp + 0x50]
sub r9, qword [rsp + 0x41c0]
sar r9, 5
test r11d, r11d
je 0x43a1f6
mov r8d, dword [rsp + 0x50]
lea rax, [rsp + 0x41c0]
mov rcx, qword [0x00826910]
lea rdx, str.Select:__d___d_n
mov qword [rsp + 0x38], rax
call fcn.0041e020
mov rsi, qword [0x00828c70]
lea rax, [rsp + 0x41c0]
xor r8d, r8d
mov edx, 0x7e
mov qword [rsp + 0x38], rax
mov rcx, qword [rsi]
call fcn.0042bb60
mov rcx, qword [rsi]
lea rax, [rsp + 0x41c0]
xor r8d, r8d
mov edx, 0xd
mov qword [rsp + 0x38], rax
call fcn.0042d580
mov rcx, qword [rsi]
lea rax, [rsp + 0x41c0]
mov qword [rsp + 0x38], rax
call fcn.0042e1e0
mov eax, dword [rsp + 0x50]
lea rdx, [rsp + 0x41c0]
mov rcx, qword [rsi]
mov qword [rsp + 0x38], rdx
mov r8, rdx
mov edx, eax
mov dword [r14 + 0x1c024], eax
call fcn.0042bb60
mov rcx, qword [rsi]
xor r8d, r8d
mov edx, 0xd
call fcn.0042d580
mov rcx, qword [rsi]
call fcn.0042e330
mov rcx, qword [rsi]
call fcn.0042d1a0
mov rcx, qword [0x00826910]
mov r8d, eax
lea rdx, str._d_drivers_selected_n
call fcn.0041e020
mov dword [rsp + 0x40], 0
mov rsi, qword [rsp + 0x41c8]
mov r12, qword [rsp + 0x41c0]
cmp rsi, r12
je 0x43a1b4
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x43a1a3
call fcn.007da050
add r12, 0x20
cmp rsi, r12
jne 0x43a190
mov r12, qword [rsp + 0x41c0]
test r12, r12
je 0x439b13
mov rcx, r12
call fcn.007da050
jmp 0x439b13
lea rcx, str.stoi
call fcn.007cd990
mov rcx, qword [0x00826910]
lea rdx, str.Error:_activetorrent_:_Missing_argument_n
call fcn.0041db00
mov dword [rsp + 0x40], 1
jmp 0x439b13
test r9, r9
jne 0x43a09d
mov rcx, qword [0x00826910]
lea rax, [rsp + 0x41c0]
lea rdx, str.Error:_select_:_Missing_argument_n
mov qword [rsp + 0x38], rax
call fcn.0041db00
mov dword [rsp + 0x40], 1
jmp 0x43a17b
mov rax, qword [rsp + 0xa0]
lea rdx, str.better
mov rcx, qword [rax + r13]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a2e9
or dword [rsp + 0x50], 0x20
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xc0]
add rax, 0x10
cmp rcx, rax
je 0x43a28e
call fcn.007da050
mov rcx, rsi
call fcn.0067d310
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x100]
add rax, 0x10
cmp rcx, rax
je 0x43a2b4
call fcn.007da050
mov rcx, r12
call fcn.007949c0
mov rcx, qword [rsp + 0xe0]
add rbx, 0x10
cmp rcx, rbx
je 0x43a273
call fcn.007da050
jmp 0x43a273
mov rax, qword [rsp + 0xa0]
lea rdx, str.worse
mov rcx, qword [rax + r13]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a3a5
or dword [rsp + 0x50], 0x40
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
lea rdx, [0x0080089e]
mov r9, rsi
mov r8, rax
lea rcx, [0x008007a0]
call fcn.007d05c0
mov rsi, rax
jmp 0x43a2bc
lea rcx, str.stoi
call fcn.007d0570
mov rax, qword [rsp + 0xa0]
lea rdx, str.checkupdates
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43a42c
mov rax, qword [0x008269c0]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0xa0]
mov dword [rsp + 0x40], eax
jmp 0x439b13
mov r8, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x41c8]
add r13, r8
cmp rcx, qword [rsp + 0x41d0]
je 0x43a40a
test rcx, rcx
je 0x43a3f9
lea rax, [rcx + 0x10]
mov r10, qword [rsp + 0x40]
mov qword [rcx], rax
mov rax, qword [r13 + 8]
mov rdx, qword [r13]
mov qword [rsp + 0x38], r10
lea r8, [rdx + rax*2]
call fcn.00438b10
mov rcx, qword [rsp + 0x41c8]
mov r8, qword [rsp + 0xa0]
add rcx, 0x20
mov qword [rsp + 0x41c8], rcx
jmp 0x439f8d
mov rax, qword [rsp + 0x40]
mov rdx, r13
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.00794560
mov r8, qword [rsp + 0xa0]
jmp 0x439f8d
mov rax, qword [rsp + 0xa0]
lea rdx, [0x008009d2]
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a4b5
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43a697
mov rcx, qword [rdx + 0x20]
lea rdx, [0x008009da]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a647
mov rax, qword [0x008269c0]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0xa8]
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x43a542
mov rcx, qword [0x00826910]
lea rdx, str.Application_downloaded_successfully_n
call fcn.0041e020
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.install
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a55a
mov rax, qword [0x008269c0]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0xd0]
mov dword [rsp + 0x40], eax
mov rax, qword [0x00828d20]
lea rdx, str.Installer_return_code:__d_
mov rcx, qword [0x00826910]
mov r8d, dword [rax]
mov eax, r8d
mov esi, r8d
movzx r13d, r8w
shr eax, 0x1e
sar esi, 0x10
and eax, 1
movzx esi, sil
mov byte [rsp + 0x7f], al
call fcn.0041e210
mov rcx, qword [0x00826910]
mov r9d, esi
mov r8d, r13d
lea rdx, str._d_drivers_installed___d_drivers_failed._n
call fcn.0041e020
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Application_download_failed_n
call fcn.0041e020
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.snapshot
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a91e
mov rcx, qword [0x00826910]
and dword [r14 + 0x1c000], 0xffffefff
call fcn.0041d930
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
lea rax, [rsp + 0x41c0]
mov qword [rsp + 0x38], rax
jbe 0x43a8f6
mov r8, qword [rdx + 0x20]
lea rdx, [0x00800c34]
mov rcx, rax
mov rax, qword [rsp + 0x88]
call rax
mov r8, qword [rsp + 0x38]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rax, qword [0x00828c70]
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.0040ac60
mov rcx, qword [0x00826910]
test eax, eax
mov dword [rsp + 0x40], eax
lea r8, str.succeeded
lea rax, str.failed
cmovne r8, rax
lea rdx, str.Snapshot__S_n
call fcn.0041e020
or dword [r14 + 0x1c000], 0x1000
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.indexes
mov rcx, qword [rax + 0x20]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a6c7
mov rax, qword [0x008269c0]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0xb0]
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x43a6af
mov rcx, qword [0x00826910]
lea rdx, str.Indexes_downloaded_successfully_n
call fcn.0041e020
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_get_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Indexes_download_failed_n
call fcn.0041e020
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.DriverPacks
mov rcx, qword [rax + 0x20]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a89e
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x5f
jbe 0x43a886
mov rcx, qword [rdx + 0x40]
lea rdx, [0x00800a92]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a7f3
mov rax, qword [rsp + 0xa0]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
mov r8, qword [rax + 0x40]
call fcn.0041e210
mov rax, qword [0x008269c0]
lea rsi, [rsp + 0x140]
lea rdx, [rsi + 0x10]
mov rcx, rsi
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x140], rdx
mov r13, qword [rax + 0xb8]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov rax, qword [0x008269c0]
mov rdx, rsi
mov rcx, qword [rax]
call r13
mov rcx, qword [rsp + 0x140]
add rsi, 0x10
mov dword [rsp + 0x40], eax
cmp rcx, rsi
je 0x43a7ab
call fcn.007da050
mov r10d, dword [rsp + 0x40]
test r10d, r10d
jne 0x43a86e
mov rcx, qword [0x00826910]
lea rdx, str.Driver_packs_downloaded_successfully_n
call fcn.0041e020
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800950]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x43a71e
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800a9a]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x43a71e
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800aaa]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x43a71e
mov rcx, qword [0x00826910]
lea rdx, str.Error:_get_driverpacks_:_invalid_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Driver_packs_download_failed_n
call fcn.0041e020
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_get_driverpacks_:_missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.everything
mov rcx, qword [rax + 0x20]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43a9ce
mov rax, qword [0x008269c0]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0xc0]
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x43a9b6
mov rcx, qword [0x00826910]
lea rdx, str.Everything_downloaded_successfully_n
call fcn.0041e020
jmp 0x439b13
mov rcx, rax
mov r9, qword [0x00826910]
mov r8, qword [rsp + 0xc0]
lea rdx, str._s_sstate.snp
mov rax, qword [rsp + 0x88]
call rax
jmp 0x43a5d3
mov rax, qword [rsp + 0xa0]
lea rdx, str.loadsnapshot
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43aa16
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43a9fe
mov r8, qword [rdx + 0x20]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rax, qword [rsp + 0xa0]
mov rcx, qword [0x00826970]
mov rdx, qword [rax + 0x20]
call fcn.0043e770
test al, al
je 0x43a9e6
mov rax, qword [rsp + 0xa0]
lea rcx, [r14 + 0x12000]
mov rdx, qword [rax + 0x20]
call fcn.0068bb48
mov dword [r14 + 0x1c004], 1
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Download_failed_n
call fcn.0041e020
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_get_:_Invalid_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Error:_loadsnapshot_:_File_not_found.
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Error:_loadsnapshot_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.unloadsnapshot
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43aa42
mov dword [r14 + 0x1c004], 0
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.restorepoint
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43abe1
lea rax, [rsp + 0x41c0]
lea rdx, str.Snappy_Driver_Installer
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.007dae00
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsp + 0xa0]
cmp rax, 0x3f
jbe 0x43ab10
mov rcx, qword [rsp + 0x38]
lea rdx, [0x008007d8]
call fcn.0079e7f0
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
sar rax, 5
cmp rax, 1
je 0x43ab10
lea r13, [0x00800d38]
mov esi, 1
mov rax, rsi
mov rcx, qword [rsp + 0x38]
shl rax, 5
mov rdx, qword [rdx + rax]
call fcn.0079e600
mov rcx, qword [rsp + 0x38]
mov rdx, r13
call fcn.0079e600
mov rdx, qword [rsp + 0xa0]
add rsi, 1
mov rax, qword [rsp + 0xa8]
sub rax, rdx
sar rax, 5
cmp rsi, rax
jne 0x43aace
mov r8, qword [rsp + 0x41c0]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
lea rsi, [rsp + 0x160]
mov rdx, qword [rsp + 0x41c0]
lea rax, [rsi + 0x10]
mov rcx, rsi
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x41c8]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov rcx, qword [0x00826970]
mov rdx, rsi
call fcn.004412c0
mov rcx, qword [rsp + 0x160]
xor eax, 1
add rsi, 0x10
movzx eax, al
mov r13d, eax
mov dword [rsp + 0x40], eax
cmp rcx, rsi
je 0x43ab8d
call fcn.007da050
mov r9, qword [rsp + 0x41c0]
test r13b, r13b
mov rcx, qword [0x00826910]
lea rax, str.failed
lea r8, str.succeeded
cmovne r8, rax
lea rdx, str.Restore_point__S:__S_n
call fcn.0041e020
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x41c0]
add rax, 0x10
cmp rcx, rax
je 0x439b13
call fcn.007da050
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.writedevicelist
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43acf8
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43ace0
mov r8, qword [rdx + 0x20]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x20]
lea rax, [rsp + 0x41c0]
mov rcx, rax
mov rsi, rax
call fcn.0068bb48
mov rax, qword [0x00828c70]
mov rdx, rsi
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [0x00826910]
test eax, eax
mov dword [rsp + 0x40], eax
lea r8, str.succeeded
lea rax, str.failed
cmovne r8, rax
lea rdx, str.Write_Device_List__S_n
call fcn.0041e020
jmp 0x439b13
mov rsi, rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x41c0]
add rax, 0x10
cmp rcx, rax
je 0x43a299
call fcn.007da050
jmp 0x43a299
mov rcx, qword [0x00826910]
lea rdx, str.Error:_writedevicelist_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.logdir
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43ad52
cmp qword [rsp + 0x108], 0
je 0x43adb7
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
call fcn.0079f7f0
mov r8, qword [rsp + 0x100]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.drpdir
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43ade7
cmp qword [rsp + 0x108], 0
je 0x43adcf
mov r8, qword [rsp + 0x100]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rdx, qword [rsp + 0x100]
lea rcx, [r14 + 0x6000]
call fcn.0068bb48
mov ecx, 9
call fcn.004225a0
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_logdir_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Error:_drpdir_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.indexdir
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43ae50
cmp qword [rsp + 0x108], 0
je 0x43aeab
mov r8, qword [rsp + 0x100]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rdx, qword [rsp + 0x100]
lea rcx, [r14 + 0xc000]
call fcn.0068bb48
mov ecx, 9
call fcn.004225a0
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.extractdir
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43aedb
cmp qword [rsp + 0x108], 0
je 0x43aec3
mov r8, qword [rsp + 0x100]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
mov rdx, qword [rsp + 0x100]
mov rcx, qword [0x00828ad0]
call fcn.0068bb48
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_indexdir_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rcx, qword [0x00826910]
lea rdx, str.Error:_extractdir_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.torrentport
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43af55
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43afe9
mov r8, qword [rdx + 0x20]
xor r9d, r9d
mov dword [rsp + 0x20], 0xa
lea rdx, str.stoi
lea rcx, [sub.msvcrt.dll_wcstol]
call fcn.007033b0
mov rcx, qword [0x00826910]
mov r8d, eax
mov dword [rsp + 0x78], eax
lea rdx, str.Argument:__d_n
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.keeptempfiles
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43b052
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43b046
mov rcx, qword [rdx + 0x20]
lea rdx, [0x00800852]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b001
mov eax, dword [r14 + 0x1c000]
or eax, 0x40000
mov dword [r14 + 0x1c000], eax
mov rcx, qword [0x00826910]
test eax, 0x40000
lea r8, [0x00800858]
lea rax, [0x00800852]
cmovne r8, rax
lea rdx, str.Keep_Temp_Files_is__S_n
call fcn.0041e210
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_torrentport_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800858]
mov rcx, qword [rax + 0x20]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b033
mov eax, dword [r14 + 0x1c000]
and eax, 0xfffbffff
mov dword [r14 + 0x1c000], eax
jmp 0x43afba
mov rcx, qword [0x00826910]
lea rdx, str.Error:_keeptempfiles_:_Invalid_argument
call fcn.0041db00
mov eax, dword [r14 + 0x1c000]
jmp 0x43afba
mov rax, qword [rsp + 0xa0]
lea rdx, str.echo
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b0ba
mov rax, qword [0x00826910]
mov rdx, qword [0x00826910]
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x00826910]
mov esi, dword [rax + 0x2010]
mov eax, esi
or ah, 1
mov dword [rdx + 0x2010], eax
lea rdx, [0x00800f4a]
call fcn.0041e020
mov rax, qword [0x00826910]
mov dword [rax + 0x2010], esi
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800f4e]
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b15c
mov rax, qword [0x00826910]
mov rdx, qword [rsp + 0xa0]
mov esi, dword [rax + 0x2010]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43b12c
mov rcx, qword [rdx + 0x20]
lea rdx, [0x00800852]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b45a
or esi, 0x1000
mov rax, qword [0x00826910]
mov dword [rax + 0x2010], esi
mov rcx, qword [0x00826910]
and esi, 0x1000
lea rax, [0x00800852]
lea r8, [0x00800858]
cmovne r8, rax
lea rdx, str.Debug_is__S_n
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.logging
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b215
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43b1e3
mov rcx, qword [rdx + 0x20]
lea rdx, [0x00800852]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b482
mov rdx, qword [rsp + 0xc0]
lea rax, [rsp + 0x41c0]
mov rcx, rax
mov rsi, rax
and dword [r14 + 0x1c000], 0xfffff7ff
call fcn.0068bb48
mov rcx, qword [0x00826910]
mov rdx, rsi
call fcn.0041db90
test byte [r14 + 0x1c001], 8
lea rax, [0x00800858]
mov rcx, qword [0x00826910]
lea r8, [0x00800852]
lea rdx, str.Logging_is__S_n
cmovne r8, rax
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800f88]
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b3d6
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsp + 0xa0]
cmp rax, 0x3f
jbe 0x43b3be
lea rax, [rsp + 0x41c0]
lea rdx, str.__c
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.007dae00
mov rax, qword [rsp + 0xa0]
lea r13, [rsp + 0x180]
mov esi, 1
mov rdx, qword [rsp + 0xa8]
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x40], rcx
sub rdx, rax
sar rdx, 5
cmp rdx, 1
je 0x43b357
mov rdx, rsi
mov rcx, r13
shl rdx, 5
add rax, rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x180], rdx
mov rdx, qword [rax]
mov rax, qword [rax + 8]
lea r8, [rdx + rax*2]
call fcn.00438b10
lea rcx, [0x00800d38]
call sub.msvcrt.dll_wcslen
mov r8, rax
movabs rax, 0x3fffffffffffffff
sub rax, qword [rsp + 0x188]
cmp r8, rax
ja 0x43b3ad
lea rdx, [0x00800d38]
mov rcx, r13
call fcn.0079f760
mov r8, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x38]
call fcn.0079f760
mov rcx, qword [rsp + 0x180]
cmp rcx, qword [rsp + 0x40]
je 0x43b333
call fcn.007da050
mov rax, qword [rsp + 0xa0]
add rsi, 1
mov rdx, qword [rsp + 0xa8]
sub rdx, rax
sar rdx, 5
cmp rsi, rdx
jne 0x43b2a2
mov r8, qword [rsp + 0x41c0]
mov dword [rsp + 0x20], 1
mov r9d, 1
mov rcx, qword [0x00826970]
lea rdx, [0x00800f88]
call fcn.0043f4d0
mov dword [rsp + 0x40], eax
jmp 0x43abbd
lea rcx, [0x008007fe]
call fcn.007cd940
jmp 0x43ac9b
mov rcx, qword [0x00826910]
lea rdx, str.Error:_cmd_:_Missing_argument_n
call fcn.0041db00
jmp 0x43a1e9
mov rax, qword [rsp + 0xa0]
lea rdx, str.verbose
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b4d5
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43b4bf
mov r8, qword [rdx + 0x20]
xor r9d, r9d
mov dword [rsp + 0x20], 0xa
lea rdx, str.stoi
lea rcx, [sub.msvcrt.dll_wcstol]
call fcn.007033b0
mov r8d, eax
mov rax, qword [0x00826910]
mov dword [rax + 0x2010], r8d
mov rcx, rax
lea rdx, str.Verbose_is__d_n
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800858]
mov rcx, qword [rax + 0x20]
call sub.SHELL32.dll_StrStrIW
mov edx, esi
and dh, 0xef
test rax, rax
cmovne esi, edx
jmp 0x43b11f
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800858]
mov rcx, qword [rax + 0x20]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b1e3
mov rcx, qword [0x00826910]
or dword [r14 + 0x1c000], 0x800
call fcn.0041daa0
jmp 0x43b1e3
mov rax, qword [0x00826910]
mov r8d, dword [rax + 0x2010]
mov rcx, rax
jmp 0x43b449
mov rax, qword [rsp + 0xa0]
lea rdx, str.enableinstall
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b53d
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
ja 0x43b56a
mov eax, dword [r14 + 0x1c000]
mov rcx, qword [0x00826910]
test al, 0x40
lea r8, [0x00800852]
lea rax, [0x00800858]
cmovne r8, rax
lea rdx, str.Install_is__S_n
call fcn.0041e210
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, [0x0080100c]
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b599
lea rcx, str.pause
call sub.msvcrt.dll_system
jmp 0x439b13
mov rcx, qword [rdx + 0x20]
lea rdx, [0x00800852]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43b60c
mov eax, dword [r14 + 0x1c000]
and eax, 0xffffffbf
mov dword [r14 + 0x1c000], eax
jmp 0x43b511
mov rax, qword [rsp + 0xa0]
lea rdx, str.reboot
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43b66c
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
ja 0x43b643
mov rsi, qword [rsp + 0x68]
lea rdx, str.__c_Shutdown.exe__r__t_5
mov rcx, rsi
call fcn.0068bb48
mov rcx, qword [0x00826970]
xor r9d, r9d
mov r8, rsi
mov dword [rsp + 0x20], 0
lea rdx, [0x00800f88]
call fcn.0043f4d0
jmp 0x43a38a
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00800858]
mov rcx, qword [rax + 0x20]
call sub.SHELL32.dll_StrStrIW
test rax, rax
mov eax, dword [r14 + 0x1c000]
je 0x43b511
or eax, 0x40
mov dword [r14 + 0x1c000], eax
jmp 0x43b511
mov rcx, qword [rdx + 0x20]
lea rdx, str.ifneeded
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43b5d2
cmp byte [rsp + 0x7f], 0
je 0x439b13
jmp 0x43b5d2
mov rax, qword [rsp + 0xa0]
lea rdx, str.runlatest
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43b8de
mov rax, qword [rsp + 0xa0]
lea r13, [rsp + 0x180]
xor r9d, r9d
mov qword [rsp + 0x188], 0
mov rdx, qword [rsp + 0xa8]
lea r8, [r13 + 0x10]
mov word [rsp + 0x190], r9w
mov qword [rsp + 0x180], r8
sub rdx, rax
sar rdx, 5
cmp rdx, 1
je 0x43b8d6
lea rsi, [rsp + 0x1a0]
mov qword [rsp + 0x38], 1
lea rdx, [rsi + 0x10]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x38]
lea rcx, [0x00800d38]
shl rdx, 5
add rax, rdx
mov qword [rsp + 0x50], rax
call sub.msvcrt.dll_wcslen
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
mov qword [rsp + 0x1a8], 0
mov word [rsp + 0x1b0], r8w
mov rdx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x1a0], rcx
mov rcx, rsi
add rdx, qword [rax + 8]
call fcn.0079f5c0
movabs rax, 0x3fffffffffffffff
sub rax, qword [rsp + 0x1a8]
cmp qword [rsp + 0x70], rax
ja 0x43b8c8
mov r8, qword [rsp + 0x70]
lea rdx, [0x00800d38]
mov rcx, rsi
call fcn.0079f760
mov rax, qword [rsp + 0x50]
mov rcx, rsi
mov r8, qword [rax + 8]
mov rdx, qword [rax]
call fcn.0079f760
mov r8, qword [rsp + 0x1a8]
mov rcx, r13
mov rdx, qword [rsp + 0x1a0]
call fcn.0079f760
mov rcx, qword [rsp + 0x1a0]
cmp rcx, qword [rsp + 0x80]
je 0x43b7c8
call fcn.007da050
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
add qword [rsp + 0x38], 1
mov rcx, qword [rsp + 0x38]
sub rdx, rax
sar rdx, 5
cmp rcx, rdx
jne 0x43b6f6
mov rdx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x188]
lea r8, [rdx + rax*2]
lea rax, [rsp + 0x41c0]
mov rsi, rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x41d0]
mov rcx, rsi
mov qword [rsp + 0x41c0], rax
call fcn.00438b10
mov rdx, rsi
mov rcx, r15
call fcn.00439220
mov rcx, qword [rsp + 0x41c0]
mov rax, rsi
add rax, 0x10
cmp rcx, rax
je 0x43b853
call fcn.007da050
mov rcx, qword [rsp + 0x180]
add r13, 0x10
cmp rcx, r13
jne 0x43abd7
jmp 0x439b13
mov rcx, qword [rsp + 0x1a0]
add rsi, 0x10
mov rdi, rax
cmp rcx, rsi
je 0x43b886
call fcn.007da050
mov rsi, rdi
mov rcx, qword [rsp + 0x180]
add r13, 0x10
cmp rcx, r13
jne 0x43acb8
jmp 0x43a299
lea rcx, [0x008007fe]
call fcn.007cd940
jmp 0x43b86d
mov rdx, r8
jmp 0x43b807
mov rax, qword [rsp + 0xa0]
lea rdx, str.onerror
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
je 0x43bb20
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x439b13
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
sub rax, rdx
cmp rax, 0x3f
jbe 0x43bb08
mov rcx, qword [rdx + 0x20]
lea rdx, [0x00801098]
call sub.SHELL32.dll_StrStrIW
test rax, rax
jne 0x43981d
mov rax, qword [rsp + 0xa0]
lea rdx, str.goto
mov rcx, qword [rax + 0x20]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x439b13
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
sub rdx, rax
cmp rdx, 0x5f
jbe 0x43baf0
lea rsi, [rsp + 0x1a0]
lea rdx, [rsi + 0x10]
mov rcx, rsi
mov qword [rsp + 0x1a0], rdx
mov rdx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov r8, qword [rsp + 0x1a0]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
lea rcx, [0x008010ca]
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rcx, rsi
lea rdx, [0x008010ca]
mov r9, rax
call fcn.00716b30
cmp rax, 0xffffffffffffffff
je 0x43bad5
mov r13, qword [r15 + 8]
lea rax, [rsp + 0x41c0]
cmp r13, qword [r15 + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x41d0]
mov qword [rsp + 0x50], rax
je 0x43ba83
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x41c0], rax
mov rax, qword [r13 + 8]
mov rdx, qword [r13]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x41c0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
mov rcx, qword [rsp + 0x41c0]
je 0x43ba6d
cmp rcx, qword [rsp + 0x50]
je 0x43ba61
call fcn.007da050
add r13, 0x20
cmp qword [r15 + 0x10], r13
jne 0x43ba10
jmp 0x43ba83
mov rax, qword [rsp + 0x38]
add rax, 0x10
cmp rcx, rax
je 0x43ba80
call fcn.007da050
mov rdi, r13
mov rcx, qword [rsp + 0x1a0]
add rsi, 0x10
cmp rcx, rsi
jne 0x43abd7
jmp 0x439b13
lea r8, [0x008010ca]
xor edx, edx
mov rcx, rsi
call fcn.0079ea40
jmp 0x43b9ec
mov rcx, qword [0x00826910]
lea rdx, str.Error:_goto_:_Missing_argument_n
call fcn.0041db00
jmp 0x439b13
mov rcx, qword [0x00826910]
lea rdx, str.Error:_onerror_:_Missing_argument_n
call fcn.0041db00
jmp 0x439b13
mov rax, qword [rsp + 0xa0]
lea rdx, str.goto
mov rcx, qword [rax]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x43bc73
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
sub rdx, rax
cmp rdx, 0x3f
jbe 0x43baf0
lea rsi, [rsp + 0x1a0]
lea rdx, [rsi + 0x10]
mov rcx, rsi
mov qword [rsp + 0x1a0], rdx
mov rdx, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov r8, qword [rsp + 0x1a0]
lea rdx, str.Argument:__S_n
mov rcx, qword [0x00826910]
call fcn.0041e210
lea rcx, [0x008010ca]
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rcx, rsi
lea rdx, [0x008010ca]
mov r9, rax
call fcn.00716b30
cmp rax, 0xffffffffffffffff
je 0x43bc58
mov r13, qword [r15 + 8]
lea rax, [rsp + 0x41c0]
cmp r13, qword [r15 + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x41d0]
mov qword [rsp + 0x50], rax
je 0x43ba83
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x41c0], rax
mov rax, qword [r13 + 8]
mov rdx, qword [r13]
lea r8, [rdx + rax*2]
call fcn.00438b10
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x41c0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
mov rcx, qword [rsp + 0x41c0]
je 0x43ba6d
cmp rcx, qword [rsp + 0x50]
je 0x43bc44
call fcn.007da050
add r13, 0x20
cmp qword [r15 + 0x10], r13
jne 0x43bbef
jmp 0x43ba83
lea r8, [0x008010ca]
xor edx, edx
mov rcx, rsi
call fcn.0079ea40
jmp 0x43bbc7
mov rax, qword [rsp + 0xa0]
lea rdx, [0x00801098]
mov rcx, qword [rax]
call sub.SHELL32.dll_StrStrIW
test rax, rax
jne 0x439830
mov rcx, qword [0x00826910]
lea rdx, str.Invalid_command_n
call fcn.0041e020
jmp 0x43a1e9