Function at 0x43c3f0
Capabilities:
Execute command
Query environment variable

Disassembly:
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
je 0x43cbfc
push ebp
mov eax, 0x60dc
mov ebp, esp
push edi
push esi
push ebx
call fcn.005e3260
sub esp, eax
lea eax, [ebp - 0x6070]
mov dword [ebp - 0x60a4], ecx
mov dword [esp], 0x84f1a0
mov dword [0x8671a0], 0x80009812
mov dword [0x8671c8], 0
mov dword [ebp - 0x6078], eax
call sub.msvcrt.dll_wcslen
lea ebx, [eax + eax]
mov edx, ebx
sar edx, 1
cmp edx, 7
mov dword [ebp - 0x2018], edx
ja 0x43ce24
cmp edx, 1
mov eax, dword [ebp - 0x6078]
jne 0x43d0ee
movzx ecx, word [0x84f1a0]
mov word [eax], cx
xor ebx, ebx
mov dword [ebp - 0x6074], edx
mov word [eax + edx*2], bx
mov dword [0x84b16c], 0
call fcn.00447650
mov dword [0x86b570], eax
mov eax, dword [0x722ac0]
lea edi, [ebp - 0x6018]
mov ecx, 0x800
lea esi, [ebp - 0x6018]
mov ebx, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov dword [ebp - 0x60bc], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x1000
mov dword [esp + 4], esi
mov dword [esp], 0x73a164
call ebx
sub esp, 0xc
mov dword [esp + 4], str._temp
mov dword [esp], esi
call sub.msvcrt.dll_wcscat
lea eax, [ebp - 0x4018]
mov dword [esp + 8], 0x1000
mov dword [esp], 0x73a188
mov dword [esp + 4], eax
call ebx
lea eax, [ebp - 0x4018]
sub esp, 0xc
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
test eax, eax
je 0x43cf38
lea eax, [ebp - 0x4018]
mov dword [esp + 8], 0x1000
mov dword [esp], 0x73a188
mov dword [esp + 4], eax
call ebx
lea eax, [ebp - 0x4018]
sub esp, 0xc
mov dword [esp + 4], 0x73a192
mov dword [esp], 0x8470e0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [ebp - 0x60c0], eax
call eax
mov ecx, dword [ebp - 0x60a4]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
mov dword [ebp - 0x609c], eax
je 0x43cbca
lea ecx, [ebp - 0x6058]
mov dword [ebp - 0x6060], ecx
mov esi, dword [eax]
mov eax, dword [eax + 4]
lea ebx, [eax + eax]
mov dword [ebp - 0x60a0], eax
mov eax, esi
add eax, ebx
setne dl
test esi, esi
sete al
and dl, al
mov byte [ebp - 0x60b5], dl
jne 0x43c8da
mov dword [ebp - 0x60a8], 0
nop
lea esi, [esi]
mov eax, ebx
sar eax, 1
cmp eax, 7
mov edx, eax
mov dword [ebp - 0x6048], eax
ja 0x43c8f0
cmp eax, 1
jne 0x43c942
movzx eax, word [esi]
mov word [ebp - 0x6058], ax
lea eax, [ebp - 0x6058]
xor ecx, ecx
mov dword [ebp - 0x605c], edx
mov word [eax + edx*2], cx
lea eax, [ebp - 0x6060]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
lea eax, [ebp - 0x6084]
mov dword [esp], eax
call fcn.004045f0
lea esi, [ebp - 0x6040]
lea ecx, [ebp - 0x6060]
xor eax, eax
mov dword [esp + 4], 0
mov dword [esp], 0x20
mov dword [ebp - 0x6048], esi
mov dword [ebp - 0x6044], 0
mov word [ebp - 0x6040], ax
call fcn.0064fd50
sub esp, 8
cmp eax, 0xffffffff
je 0x43c702
mov ebx, dword [ebp - 0x605c]
add eax, 1
cmp eax, ebx
ja 0x43d421
mov edx, dword [ebp - 0x6060]
lea edi, [ebp - 0x2010]
sub ebx, eax
add ebx, ebx
mov dword [ebp - 0x60a0], edi
mov dword [ebp - 0x2018], edi
lea edi, [edx + eax*2]
mov eax, edi
add eax, ebx
je 0x43c68d
test edi, edi
je 0x43d8f5
mov eax, ebx
sar eax, 1
cmp eax, 7
mov dword [ebp - 0x608c], eax
ja 0x43c9a1
cmp eax, 1
jne 0x43ca70
movzx eax, word [edi]
mov dword [ebp - 0x2014], 1
mov word [ebp - 0x2010], ax
xor eax, eax
mov word [ebp - 0x200e], ax
lea eax, [ebp - 0x2018]
lea ecx, [ebp - 0x6048]
mov dword [esp], eax
call fcn.006c6110
mov eax, dword [ebp - 0x2018]
sub esp, 4
xor ebx, ebx
cmp eax, dword [ebp - 0x60a0]
mov dword [ebp - 0x2014], 0
mov word [eax], bx
je 0x43c702
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x6084]
cmp eax, dword [ebp - 0x6080]
je 0x43c7fd
mov eax, dword [eax]
mov dword [esp + 4], str.Command:__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f830
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.init
mov eax, dword [eax]
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
sub esp, 8
test eax, eax
mov edx, dword [ebp - 0x6084]
je 0x43ca91
mov eax, dword [ebp - 0x6080]
mov ecx, dword [0x8671a0]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
ja 0x43c952
and ecx, 0xfffffffe
imul eax, dword [0x720344], 0x874
mov dword [0x8671a0], ecx
mov ecx, 0x8672c0
mov eax, dword [eax + 0x868bb0]
mov dword [esp], eax
call fcn.00434bf0
imul eax, dword [0x720344], 0x874
sub esp, 4
mov ecx, 0x8672d4
mov eax, dword [eax + 0x868bb0]
mov dword [esp], eax
call fcn.00434bf0
imul ecx, dword [0x720344], 0x874
sub esp, 4
add ecx, 0x868340
call fcn.0043a4b0
mov dword [esp], 0xf
call fcn.00425410
mov dword [esp], 0x868340
call fcn.0043ac40
and dword [0x8671a0], 0xfffffffe
sub esp, 4
mov dword [ebp - 0x60a8], eax
mov eax, dword [ebp - 0x6048]
cmp eax, esi
je 0x43c80f
mov dword [esp], eax
call fcn.006febf0
mov edx, dword [ebp - 0x6080]
mov eax, dword [ebp - 0x6084]
cmp edx, eax
je 0x43c86c
lea esi, [eax + 0x18]
mov ecx, dword [ebp - 0x609c]
sub edx, esi
shr edx, 3
mov edi, ecx
imul edx, edx, 0xaaaaaab
lea edx, [edx + edx*2]
lea ebx, [eax + edx*8 + 0x18]
jmp 0x43c851
mov dword [esp], edx
call fcn.006febf0
cmp esi, ebx
mov eax, esi
je 0x43c860
add esi, 0x18
mov edx, dword [eax]
add eax, 8
cmp edx, eax
jne 0x43c840
cmp esi, ebx
mov eax, esi
jne 0x43c84e
mov eax, dword [ebp - 0x6084]
mov dword [ebp - 0x609c], edi
test eax, eax
je 0x43c878
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x6060]
lea edi, [ebp - 0x6058]
cmp eax, edi
je 0x43c890
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x609c]
mov ecx, dword [ebp - 0x60a4]
add eax, 0x18
cmp dword [ecx + 8], eax
je 0x43cbca
lea edi, [ebp - 0x6058]
mov dword [ebp - 0x6060], edi
mov edi, dword [ebp - 0x609c]
mov dword [ebp - 0x609c], eax
mov esi, dword [edi + 0x18]
mov ebx, dword [edi + 0x1c]
mov eax, esi
add ebx, ebx
add eax, ebx
je 0x43c5b0
test esi, esi
jne 0x43c5b0
mov dword [esp], 0x737fbc
call fcn.006e4530
lea esi, [esi]
lea edi, [edi]
lea eax, [ebp - 0x6048]
lea ecx, [ebp - 0x6060]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x6048]
sub esp, 8
mov dword [ebp - 0x6060], eax
mov dword [ebp - 0x6058], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x6048]
mov eax, dword [ebp - 0x6060]
jmp 0x43c5de
test eax, eax
lea eax, [ebp - 0x6058]
je 0x43c5de
jmp 0x43c921
mov dword [esp + 4], str.reindex
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
mov ebx, eax
mov eax, dword [ebp - 0x6084]
sub esp, 8
mov eax, dword [eax + 0x18]
mov dword [esp + 4], str.Argument:__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f830
test ebx, ebx
mov ecx, dword [0x8671a0]
je 0x43c777
or ecx, 1
jmp 0x43c77a
lea eax, [ebp - 0x2018]
mov dword [esp + 4], 0
mov ecx, eax
lea eax, [ebp - 0x608c]
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x608c]
sub esp, 8
mov dword [ebp - 0x2018], eax
mov dword [ebp - 0x2010], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
xor edi, edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x2018]
cmp ecx, dword [ebp - 0x60a0]
mov edx, dword [ebp - 0x608c]
mov eax, dword [ebp - 0x6048]
mov dword [ebp - 0x2014], edx
mov word [ecx + edx*2], di
je 0x43c6c6
cmp eax, esi
mov ebx, dword [ebp - 0x2010]
je 0x43ca50
test eax, eax
mov edi, dword [ebp - 0x6040]
mov dword [ebp - 0x6048], ecx
mov dword [ebp - 0x6044], edx
mov dword [ebp - 0x6040], ebx
je 0x43c702
mov dword [ebp - 0x2018], eax
mov dword [ebp - 0x2010], edi
jmp 0x43c6e3
mov dword [ebp - 0x6048], ecx
mov dword [ebp - 0x6044], edx
mov dword [ebp - 0x6040], ebx
jmp 0x43c702
test eax, eax
jne 0x43cbff
xor eax, eax
mov dword [ebp - 0x2014], 0
mov word [ebp + ebx - 0x2010], ax
jmp 0x43c6c6
mov dword [esp + 4], str.activetorrent
mov eax, dword [edx]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__wcsicmp]
mov dword [ebp - 0x60ac], eax
call eax
test eax, eax
mov edx, dword [ebp - 0x6084]
jne 0x43cc0a
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43ce01
mov eax, dword [edx + 0x18]
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov dword [ebp - 0x60a0], eax
call ebx
mov ecx, dword [eax]
mov dword [ebp - 0x60ac], ecx
call ebx
mov dword [eax], 0
mov eax, dword [ebp - 0x60a0]
lea edi, [ebp - 0x6030]
mov dword [esp + 8], 0xa
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_wcstol
mov edi, eax
mov eax, dword [ebp - 0x60a0]
cmp eax, dword [ebp - 0x6030]
je 0x43d449
call ebx
cmp dword [eax], 0x22
je 0x43d43d
call ebx
mov ecx, dword [eax]
test ecx, ecx
jne 0x43cb45
call ebx
mov ecx, dword [ebp - 0x60ac]
mov dword [eax], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], str.Argument:__d_n
mov dword [esp], 0x849160
mov dword [0x722ac4], edi
call fcn.0041f830
mov ecx, dword [0x86b570]
test ecx, ecx
je 0x43cb72
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00447650
mov dword [0x86b570], eax
jmp 0x43c7fd
mov dword [esp + 4], str.Last_operation_failed__ending_n
mov dword [esp], 0x849160
call fcn.0041f010
mov eax, dword [ebp - 0x6048]
cmp eax, esi
je 0x43cba7
mov dword [esp], eax
call fcn.006febf0
lea ecx, [ebp - 0x6084]
lea edi, [ebp - 0x6058]
call fcn.006bbef0
mov eax, dword [ebp - 0x6060]
cmp eax, edi
je 0x43cbca
mov dword [esp], eax
call fcn.006febf0
mov edx, dword [ebp - 0x6078]
lea ecx, [ebp - 0x6070]
mov eax, 1
cmp edx, ecx
je 0x43cbf4
mov dword [esp], edx
mov byte [ebp - 0x609c], al
call fcn.006febf0
movzx eax, byte [ebp - 0x609c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
ret
mov eax, dword [ebp - 0x60a0]
jmp 0x43c9d4
mov dword [esp + 4], str.select
mov eax, dword [edx]
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
sub esp, 8
test eax, eax
mov edx, dword [ebp - 0x6084]
je 0x43d100
mov eax, dword [ebp - 0x6080]
mov dword [ebp - 0x6030], 0
mov dword [ebp - 0x602c], 0
mov dword [ebp - 0x6028], 0
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43d147
lea eax, [ebp - 0x2010]
mov ebx, dword [edx + 0x1c]
mov dword [ebp - 0x60a0], eax
mov dword [ebp - 0x2018], eax
mov eax, dword [edx + 0x18]
lea edi, [ebx + ebx]
mov dword [ebp - 0x60a8], edi
mov ecx, eax
mov dword [ebp - 0x60b0], eax
add ecx, edi
je 0x43cc9a
test eax, eax
je 0x43cdef
mov ebx, 1
mov dword [ebp - 0x60b4], 0
lea esi, [esi]
mov eax, dword [ebp - 0x60a8]
sar eax, 1
cmp eax, 7
mov edx, eax
mov dword [ebp - 0x6088], eax
ja 0x43cec1
cmp eax, 1
jne 0x43cf25
mov eax, dword [ebp - 0x60b0]
mov ecx, dword [ebp - 0x60a0]
movzx eax, word [eax]
mov word [ebp - 0x2010], ax
lea eax, [ecx + edx*2]
mov dword [ebp - 0x2014], edx
xor edx, edx
lea edi, [ebp - 0x6030]
mov word [eax], dx
mov edx, dword [sym.imp.msvcrt.dll_isspace]
mov byte [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], edx
call fcn.006e9700
mov edx, dword [ebp - 0x2018]
mov ecx, dword [ebp - 0x2014]
lea ecx, [edx + ecx*2]
cmp eax, ecx
je 0x43ce7a
sub eax, edx
lea ecx, [ebp - 0x2018]
mov dword [esp], 0
sar eax, 1
lea edi, [ebp - 0x6030]
mov dword [esp + 4], eax
call fcn.006c5fe0
mov edx, dword [ebp - 0x2018]
sub esp, 8
mov dword [esp + 4], 0x73a276
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x2018]
jne 0x43ce8e
or dword [ebp - 0x60b4], 2
cmp edx, dword [ebp - 0x60a0]
je 0x43cd95
mov dword [esp], edx
call fcn.006febf0
mov edx, dword [ebp - 0x6084]
mov eax, dword [ebp - 0x6080]
add ebx, 1
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, ebx
jbe 0x43cf4f
lea eax, [ebx + ebx*2]
mov ecx, dword [ebp - 0x60a0]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2018], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edi, [eax + eax]
mov eax, ecx
mov dword [ebp - 0x60b0], ecx
add eax, edi
mov dword [ebp - 0x60a8], edi
je 0x43ccb0
test ecx, ecx
jne 0x43ccb0
mov dword [esp], 0x737fbc
lea edi, [ebp - 0x6030]
call fcn.006e4530
mov dword [esp + 4], str.Error:_activetorrent_:_Missing_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
mov dword [ebp - 0x60a8], 1
jmp 0x43c7fd
lea eax, [ebp - 0x2018]
lea ecx, [ebp - 0x6078]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x2018]
sub esp, 8
mov dword [ebp - 0x6078], eax
mov dword [ebp - 0x6070], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x84f1a0
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x2018]
mov eax, dword [ebp - 0x6078]
jmp 0x43c46f
xor eax, eax
mov dword [ebp - 0x2014], 0
mov word [edx], ax
jmp 0x43cd57
mov dword [esp + 4], str.newer
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x2018]
jne 0x43d0bb
or dword [ebp - 0x60b4], 4
jmp 0x43cd85
lea eax, [ebp - 0x6088]
lea ecx, [ebp - 0x2018]
mov dword [esp + 4], 0
lea edi, [ebp - 0x6030]
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x6088]
sub esp, 8
mov dword [ebp - 0x2018], eax
mov dword [ebp - 0x2010], edx
mov ecx, dword [ebp - 0x60a8]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x60b0]
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x6088]
mov ecx, dword [ebp - 0x2018]
jmp 0x43cce8
test eax, eax
jne 0x43d8c2
mov ecx, dword [ebp - 0x60a0]
jmp 0x43cce8
lea eax, [ebp - 0x4018]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
jmp 0x43c511
mov ecx, dword [ebp - 0x60b4]
mov edx, dword [ebp - 0x6030]
mov eax, dword [ebp - 0x602c]
test ecx, ecx
je 0x43d13f
sub eax, edx
mov ebx, dword [ebp - 0x60b4]
mov dword [esp + 4], str.Select:_filter:_d__drpfilter:_d_n
sar eax, 3
mov dword [esp], 0x849160
lea edi, [ebp - 0x6030]
imul eax, eax, 0xaaaaaaab
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0041f5d0
mov ecx, dword [0x720348]
mov dword [esp + 4], 0
mov dword [esp], 0x7e
call fcn.0042f230
mov ecx, dword [0x720348]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0xd
call fcn.00430920
mov ecx, dword [0x720348]
sub esp, 8
call fcn.004315e0
mov ecx, dword [0x720348]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [0x8671c8], ebx
call fcn.0042f230
mov ecx, dword [0x720348]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0xd
call fcn.00430920
mov ecx, dword [0x720348]
sub esp, 8
call fcn.00431960
mov ecx, dword [0x720348]
call fcn.00430810
mov dword [esp + 8], eax
mov dword [esp + 4], str._d_drivers_selected_n
mov dword [esp], 0x849160
call fcn.0041f5d0
mov dword [ebp - 0x60a8], 0
mov edx, dword [ebp - 0x602c]
mov eax, dword [ebp - 0x6030]
cmp edx, eax
je 0x43d0a6
lea edi, [eax + 0x18]
sub edx, edi
shr edx, 3
imul edx, edx, 0xaaaaaab
lea edx, [edx + edx*2]
lea ebx, [eax + edx*8 + 0x18]
jmp 0x43d091
mov dword [esp], edx
call fcn.006febf0
cmp edi, ebx
mov eax, edi
je 0x43d0a0
add edi, 0x18
mov edx, dword [eax]
add eax, 8
cmp edx, eax
jne 0x43d080
cmp edi, ebx
mov eax, edi
jne 0x43d08e
mov eax, dword [ebp - 0x6030]
test eax, eax
je 0x43c7fd
mov dword [esp], eax
call fcn.006febf0
jmp 0x43c7fd
mov dword [esp + 4], str.current
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x2018]
jne 0x43d170
or dword [ebp - 0x60b4], 8
jmp 0x43cd85
test edx, edx
je 0x43c46f
jmp 0x43ce55
mov dword [esp + 4], str.checkupdates
mov eax, dword [edx]
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
sub esp, 8
test eax, eax
je 0x43d1a3
mov ecx, dword [0x86b570]
mov edi, dword [ebp - 0x60bc]
mov eax, dword [ecx]
mov dword [esp], edi
call dword [eax + 0x50]
sub esp, 4
mov dword [ebp - 0x60a8], eax
jmp 0x43c7fd
cmp edx, eax
jne 0x43cf69
mov dword [esp + 4], str.Error:_select_:_Missing_argument_n
mov dword [esp], 0x849160
lea edi, [ebp - 0x6030]
call fcn.0041f010
mov dword [ebp - 0x60a8], 1
jmp 0x43d051
mov dword [esp + 4], str.older
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x2018]
jne 0x43d230
or dword [ebp - 0x60b4], 0x10
jmp 0x43cd85
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], 0x73a318
mov edi, dword [ebp - 0x60ac]
mov eax, dword [eax]
mov dword [esp], eax
call edi
test eax, eax
mov edx, dword [ebp - 0x6084]
jne 0x43d2d9
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43d2c0
mov dword [esp + 4], 0x73a320
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call edi
test eax, eax
jne 0x43d263
mov ecx, dword [0x86b570]
mov eax, dword [ecx]
call dword [eax + 0x54]
test eax, eax
mov dword [ebp - 0x60a8], eax
jne 0x43d6a7
mov dword [esp + 4], str.Application_downloaded_successfully_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], str.better
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x2018]
jne 0x43d360
or dword [ebp - 0x60b4], 0x20
jmp 0x43cd85
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.indexes
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d472
mov ecx, dword [0x86b570]
mov eax, dword [ecx]
call dword [eax + 0x58]
test eax, eax
mov dword [ebp - 0x60a8], eax
jne 0x43d459
mov dword [esp + 4], str.Indexes_downloaded_successfully_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], str.Error:_get_:_Missing_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov dword [esp + 4], str.install
mov eax, dword [edx]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d6c0
mov ecx, dword [0x86b570]
mov eax, dword [ecx]
call dword [eax + 0x68]
mov dword [ebp - 0x60a8], eax
mov eax, dword [0x869440]
mov dword [esp + 4], str.Installer_return_code:__d_
mov dword [esp], 0x849160
mov edx, eax
mov ebx, eax
mov dword [esp + 8], eax
shr edx, 0x1e
sar ebx, 0x10
movzx edi, ax
mov ecx, edx
movzx ebx, bl
and ecx, 1
mov byte [ebp - 0x60b5], cl
call fcn.0041f830
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], str._d_drivers_installed___d_drivers_failed._n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], str.worse
mov dword [esp], edx
lea edi, [ebp - 0x6030]
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d409
or dword [ebp - 0x60b4], 0x40
mov edx, dword [ebp - 0x2018]
jmp 0x43cd85
mov eax, dword [ebp - 0x6048]
cmp eax, esi
je 0x43d3c4
mov dword [esp], eax
call fcn.006febf0
lea ecx, [ebp - 0x6084]
mov esi, ebx
call fcn.006bbef0
mov eax, dword [ebp - 0x6060]
lea edi, [ebp - 0x6058]
cmp eax, edi
je 0x43d3e9
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x6078]
lea edi, [ebp - 0x6070]
cmp eax, edi
je 0x43d401
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], esi
call fcn.005e6130
cmp dword [ebp - 0x2014], 0
jne 0x43d901
mov edx, dword [ebp - 0x2018]
jmp 0x43cd85
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x73a1a2
mov dword [esp], 0x738040
call fcn.006e55d0
mov dword [esp], str.stoi
call fcn.006e4710
mov dword [esp], str.stoi
call fcn.006e5580
mov esi, eax
jmp 0x43d3e9
mov dword [esp + 4], str.Indexes_download_failed_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.driverpacks
mov ebx, dword [ebp - 0x60ac]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
test eax, eax
mov edx, dword [ebp - 0x6084]
jne 0x43d5f8
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jbe 0x43d5c6
mov dword [esp + 4], 0x73a3ce
mov eax, dword [edx + 0x30]
mov dword [esp], eax
call ebx
mov edi, dword [ebp - 0x6084]
test eax, eax
mov edx, dword [edi + 0x30]
je 0x43d4f1
mov dword [esp + 4], 0x73a276
mov dword [esp], edx
call ebx
mov edi, dword [ebp - 0x6084]
test eax, eax
mov edx, dword [edi + 0x30]
jne 0x43d644
mov eax, dword [edi + 0x30]
mov dword [esp + 4], str.Argument:__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f830
mov ebx, dword [0x86b570]
lea ecx, [ebp - 0x2018]
mov dword [ebp - 0x60ac], ecx
lea ecx, [ebp - 0x2010]
mov eax, dword [ebx]
mov dword [ebp - 0x60a0], ecx
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x6084]
mov dword [ebp - 0x2018], ecx
mov ecx, dword [ebp - 0x60ac]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
add eax, eax
mov dword [esp], edx
add eax, edx
mov dword [esp + 4], eax
call fcn.0043aff0
push eax
push eax
mov ecx, ebx
mov eax, dword [ebp - 0x60ac]
mov dword [esp], eax
call edi
mov dword [ebp - 0x60a8], eax
mov eax, dword [ebp - 0x2018]
cmp eax, dword [ebp - 0x60a0]
push edi
je 0x43d583
mov dword [esp], eax
call fcn.006febf0
cmp dword [ebp - 0x60a8], 0
jne 0x43d5df
mov dword [esp + 4], str.Driver_packs_downloaded_successfully_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp], eax
call fcn.006febf0
jmp 0x43d3b2
mov dword [esp + 4], str.Error:_get_driverpacks_:_missing_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov dword [esp + 4], str.Driver_packs_download_failed_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], str.everything
mov eax, dword [edx + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d7b5
mov ecx, dword [0x86b570]
mov eax, dword [ecx]
call dword [eax + 0x60]
test eax, eax
mov dword [ebp - 0x60a8], eax
jne 0x43d68e
mov dword [esp + 4], str.Everything_downloaded_successfully_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], 0x73a3d6
mov dword [esp], edx
mov eax, dword [ebp - 0x60ac]
call eax
mov edi, dword [ebp - 0x6084]
test eax, eax
mov edx, dword [edi + 0x30]
je 0x43d4f1
mov dword [esp + 4], 0x73a3e6
mov dword [esp], edx
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d7ce
mov edi, dword [ebp - 0x6084]
jmp 0x43d4f1
mov dword [esp + 4], str.Download_failed_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov dword [esp + 4], str.Application_download_failed_n
mov dword [esp], 0x849160
call fcn.0041f5d0
jmp 0x43c7fd
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.snapshot
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d81d
mov ecx, 0x849160
and dword [0x8671a0], 0xffffefff
call fcn.0041ee20
mov edx, dword [ebp - 0x6084]
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43d7e7
mov eax, dword [edx + 0x18]
mov dword [esp + 4], 0x73a58c
mov dword [esp + 8], eax
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x60ac], eax
mov dword [esp], eax
mov eax, dword [ebp - 0x60c0]
call eax
mov eax, dword [ebp - 0x60ac]
mov dword [esp + 4], str.Argument:__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f830
mov eax, dword [0x720348]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x60ac]
mov dword [esp], ecx
mov ecx, eax
call fcn.0040b6e0
test eax, eax
mov dword [ebp - 0x60a8], eax
push ebx
mov eax, str.succeeded
mov edx, str.failed
cmovne eax, edx
mov dword [esp + 4], str.Snapshot__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f5d0
or dword [0x8671a0], 0x1000
jmp 0x43c7fd
mov dword [esp + 4], str.Error:_get_:_Invalid_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov dword [esp + 4], str.Error:_get_driverpacks_:_invalid_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov eax, dword [ebp - 0x6078]
mov dword [esp + 0xc], 0x849160
mov dword [esp + 4], str._s_sstate.snp
mov dword [esp + 8], eax
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x60ac], eax
mov dword [esp], eax
mov eax, dword [ebp - 0x60c0]
call eax
jmp 0x43d73d
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.loadsnapshot
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
mov edx, dword [ebp - 0x6084]
jne 0x43d9a8
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43d98f
mov eax, dword [edx + 0x18]
mov dword [esp + 4], str.Argument:__S_n
mov dword [esp], 0x849160
mov dword [esp + 8], eax
call fcn.0041f830
mov eax, dword [ebp - 0x6084]
mov ecx, 0x869458
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call fcn.00441560
test al, al
push ecx
je 0x43d976
mov eax, dword [ebp - 0x6084]
mov eax, dword [eax + 0x18]
mov dword [esp], 0x85d1a0
mov dword [esp + 4], eax
call sub.msvcrt.dll_wcscpy
mov dword [0x8671a4], 1
jmp 0x43c7fd
mov eax, dword [ebp - 0x60a0]
jmp 0x43cef8
mov ebx, edi
jmp 0x43d3b2
mov dword [esp], 0x737fbc
call fcn.006e4530
mov ecx, dword [ebp - 0x602c]
cmp ecx, dword [ebp - 0x6028]
je 0x43d94e
test ecx, ecx
je 0x43d93c
lea eax, [ecx + 8]
lea edi, [ebp - 0x6030]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2014]
mov edx, dword [ebp - 0x2018]
add eax, eax
add eax, edx
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0043aff0
push eax
push eax
add dword [ebp - 0x602c], 0x18
mov edx, dword [ebp - 0x2018]
jmp 0x43cd85
lea edi, [ebp - 0x6030]
lea eax, [ebp - 0x2018]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, edi
call fcn.006bb900
push edi
push edi
jmp 0x43d416
mov dword [esp + 4], str.Error:_loadsnapshot_:_File_not_found.
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov dword [esp + 4], str.Error:_loadsnapshot_:_Missing_argument_n
mov dword [esp], 0x849160
call fcn.0041f010
jmp 0x43ce15
mov dword [esp + 4], str.unloadsnapshot
mov eax, dword [edx]
mov dword [esp], eax
mov eax, dword [ebp - 0x60ac]
call eax
test eax, eax
jne 0x43d9d0
mov dword [0x8671a4], 0
jmp 0x43c7fd
mov eax, dword [ebp - 0x6084]
mov dword [esp + 4], str.restorepoint
mov eax, dword [eax]
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
test eax, eax
push edx
push edx
je 0x43da7d
lea edi, [ebp - 0x6030]
mov dword [esp], 0x73a660
mov ecx, edi
call fcn.006ffe30
push eax
mov eax, dword [ebp - 0x6080]
sub eax, dword [ebp - 0x6084]
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp eax, 1
jbe 0x43db53
mov dword [esp], 0x738078
mov ecx, edi
call fcn.006c4ef0
push eax
mov ebx, 1
mov edx, dword [ebp - 0x6084]
mov eax, dword [ebp - 0x6080]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
invalid