Function at 0x482ac9
Capabilities:
Accept command line arguments
Contain obfuscated stackstrings
Get token membership
Parse pe header

Disassembly:
push 0x370
mov eax, 0x520ef1
call fcn.004d8af2
mov dword [ebp - 0x2f8], edx
mov eax, ecx
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x2e0], eax
mov eax, ebx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], ebx
call fcn.00406d1e
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x2b1], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 1
call fcn.0044f24f
push ecx
mov esi, eax
mov dword [ebp - 0x2ac], esp
mov eax, 0x53d648
mov ecx, esp
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 2
push str.Client_stats
call fcn.00409f12
push ebx
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0044ed57
call fcn.0044f24f
push 1
push ecx
mov ecx, esp
mov esi, eax
push str.Client_notification
call fcn.00406fea
push 1
push ebx
mov ecx, esi
call fcn.0044ebc5
push 0x1c
mov dword [ebp - 0x2dc], ebx
mov dword [ebp - 0x2d8], ebx
call fcn.004d8429
pop ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x2dc], eax
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x482be9
lea edi, [esi + 8]
push dword [edi]
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004b5061
push edi
mov ecx, dword [eax]
add ecx, 0x14
call fcn.0040446b
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi]
mov esi, ecx
cmp ecx, dword [eax]
jne 0x482bbc
call fcn.0044f24f
lea edx, [eax + 0x188]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
add ecx, 0x60
cmp ecx, edx
je 0x482c0b
mov eax, dword [edx]
push eax
push dword [eax]
call fcn.004bf28f
call fcn.0044f24f
mov ebx, 0x190
mov esi, dword [eax + ebx]
mov esi, dword [esi]
jmp 0x482d23
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004a9392
mov eax, dword [ebp - 0x2e4]
lea edx, [esi + 0x14]
cmp eax, dword [ebp - 0x2dc]
jne 0x482cd4
mov eax, dword [edx]
mov edi, dword [eax]
cmp edi, eax
je 0x482ceb
mov ebx, dword [edi + 8]
lea edx, [esi + 0x10]
push str.____:
lea ecx, [ebp - 0x2bc]
add ebx, 4
call fcn.00409442
push ebx
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c4]
call fcn.0040a037
pop ecx
pop ecx
mov byte [ebp - 4], 5
lea ebx, [edi + 8]
mov ecx, dword [ebx]
push eax
add ecx, 4
call fcn.00405d6e
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2bc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp + 0xc]
push ebx
mov ecx, dword [eax + 0xc]
add ecx, 0x60
call fcn.004a93ec
mov eax, dword [edi]
mov edi, eax
cmp eax, dword [esi + 0x14]
jne 0x482c56
mov ebx, 0x190
jmp 0x482ceb
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x3c]
add ecx, 0x14
cmp ecx, edx
je 0x482ceb
mov eax, dword [edx]
push eax
push dword [eax]
call fcn.004bf28f
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x482d0d
mov eax, dword [esi + 4]
jmp 0x482d03
cmp esi, dword [eax + 8]
jne 0x482d09
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x482cf9
mov esi, eax
jmp 0x482d23
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x482d23
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x482d17
call fcn.0044f24f
cmp esi, dword [eax + ebx]
jne 0x482c1f
call fcn.0044f24f
lea edx, [eax + 0x198]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
add ecx, 0x68
cmp ecx, edx
je 0x482d53
mov eax, dword [edx]
push eax
push dword [eax]
call fcn.004bf132
call fcn.0044f24f
mov ebx, 0x1a0
mov esi, dword [eax + ebx]
mov esi, dword [esi]
jmp 0x482e61
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004a9392
mov eax, dword [ebp - 0x2e4]
lea edx, [esi + 0x14]
cmp eax, dword [ebp - 0x2dc]
jne 0x482e12
mov eax, dword [edx]
mov edi, dword [eax]
cmp edi, eax
je 0x482e29
lea ebx, [edi + 8]
push str.____:
mov edx, ebx
lea ecx, [ebp - 0x2bc]
call fcn.00409442
push ebx
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c4]
call fcn.0040a037
pop ecx
pop ecx
push eax
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.00405d6e
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2bc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp + 0xc]
push ebx
mov ecx, dword [eax + 0xc]
add ecx, 0x68
call fcn.004ad3cd
mov eax, dword [edi]
mov edi, eax
cmp eax, dword [esi + 0x14]
jne 0x482d9e
mov ebx, 0x1a0
jmp 0x482e29
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x3c]
add ecx, 0x1c
cmp ecx, edx
je 0x482e29
mov eax, dword [edx]
push eax
push dword [eax]
call fcn.004bf132
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x482e4b
mov eax, dword [esi + 4]
jmp 0x482e41
cmp esi, dword [eax + 8]
jne 0x482e47
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x482e37
mov esi, eax
jmp 0x482e61
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x482e61
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x482e55
call fcn.0044f24f
cmp esi, dword [eax + ebx]
jne 0x482d67
call fcn.0044f24f
lea edi, [eax + 0x190]
mov esi, dword [edi]
mov ecx, edi
push dword [esi + 4]
push edi
call fcn.004b5d5d
mov dword [esi + 4], esi
xor ebx, ebx
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [edi + 4], ebx
call fcn.0044f24f
mov esi, eax
mov edx, dword [esi + 0x188]
call fcn.004b55d5
mov eax, dword [esi + 0x188]
mov dword [eax], eax
mov eax, dword [esi + 0x188]
mov dword [eax + 4], eax
mov dword [esi + 0x18c], ebx
call fcn.0044f24f
lea edi, [eax + 0x1a0]
mov esi, dword [edi]
mov ecx, edi
push dword [esi + 4]
push edi
call fcn.004b5c5b
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [edi + 4], ebx
call fcn.0044f24f
mov esi, eax
mov edx, dword [esi + 0x198]
call fcn.004b63d0
mov eax, dword [esi + 0x198]
lea ecx, [ebp - 0x2dc]
mov dword [eax], eax
mov eax, dword [esi + 0x198]
mov dword [eax + 4], eax
mov dword [esi + 0x19c], ebx
call fcn.0040da15
lea ecx, [ebp - 0x2b1]
call fcn.0044f694
lea ecx, [ebp - 0x348]
call fcn.00476c24
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 8
call fcn.00476c5c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x344]
push ecx
mov ecx, dword [eax + 0xc]
call fcn.00405d6e
lea eax, [ebp - 0x340]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
add ecx, 4
call fcn.00405d6e
mov eax, dword [ebp + 0xc]
push ecx
mov dword [ebp - 0x2ac], esp
lea ecx, [ebp - 0x344]
mov esi, dword [eax + 0xc]
mov eax, esp
push eax
call fcn.0043b0f4
push ecx
mov ecx, esp
mov byte [ebp - 4], 9
push str.Language
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov al, byte [ebp - 0x348]
mov byte [ecx + 8], al
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2ac], esp
mov esi, dword [eax + 0xc]
call fcn.0042b24a
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xa
push str.Architecture
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
call fcn.00428aa8
mov cl, al
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x39], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
lea eax, [ebp - 0x338]
push eax
add ecx, 0xc
call fcn.00405d6e
lea ecx, [ebp - 0x2a8]
call fcn.0042b0ee
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [ebp - 0x2ac], esp
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x2b8], esi
mov ecx, dword [ebp - 0x338]
add ecx, 0xfffffff0
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xb
push 0x54bf60
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x2ac], esp
mov esi, esp
mov edi, dword [eax + 0xc]
call fcn.0042b0ee
push ebx
mov ecx, esi
push dword [eax + 0xc]
call fcn.0042989d
add esp, 4
mov byte [ebp - 4], 0xc
mov ecx, esp
push str.OS_build
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00438d46
lea ecx, [ebp - 0x2a8]
call fcn.0042b0ee
mov edi, str.true
cmp dword [eax + 4], 0xa
jne 0x4831b1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x18c]
mov esi, dword [eax + 0xc]
call fcn.0042b0ee
cmp dword [eax + 4], 0xa
ja 0x4830de
jne 0x4830da
cmp dword [eax + 8], ebx
ja 0x4830de
cmp dword [eax + 0xc], 0x3839
jae 0x4830de
mov dl, bl
jmp 0x4830e0
mov dl, 1
test dl, dl
mov eax, edi
push ecx
mov edx, str.false
mov dword [ebp - 0x2ac], esp
cmove eax, edx
mov ecx, esp
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xd
push str.OS.Win10Anniversary
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
lea ecx, [ebp - 0x2c4]
call fcn.0040687a
push 1
lea eax, [ebp - 0x2c4]
mov byte [ebp - 4], 0xe
push eax
push str.ReleaseId
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov edx, reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x314]
call fcn.0042b75b
mov ecx, dword [ebp - 0x30c]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.00407189
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [ebp - 0x2ac], esp
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x2b8], esi
mov edi, dword [ebp - 0x2c4]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xf
push str.OS.Win10.ReleaseId
call fcn.00406fea
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.00438d46
lea ecx, [edi - 0x10]
mov byte [ebp - 4], 8
call fcn.00407189
mov edi, str.true
xor ebx, ebx
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov edx, str.false
mov eax, dword [ebp + 0xc]
push ecx
mov dword [ebp - 0x2ac], esp
mov eax, dword [eax + 0xc]
mov dword [eax + 0x3c], ecx
mov ecx, esp
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
mov eax, edi
cmp dword [esi + 0x3c], ebx
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x10
push str.Clean_boot
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
cmp dword [0x57d3f4], 0
setne cl
mov eax, dword [eax + 0xc]
push ecx
mov dword [ebp - 0x2ac], esp
mov byte [eax + 0x40], cl
mov ecx, esp
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x40], 0
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x11
push str.Used_proxy_auth
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
push ecx
mov ecx, esp
mov dword [ebp - 0x2ac], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp dword [esi + 0x14], 1
cmovbe eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x12
push 0x54c074
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
je 0x48341c
push 0x1c
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], ebx
call fcn.004d8429
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x2f0], eax
push ecx
lea edx, [ebp - 0x2f0]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2d4]
call fcn.0048282c
pop ecx
pop ecx
lea ecx, [ebp - 0x2bc]
call fcn.0040687a
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x2d4], 0
jge 0x4834ed
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x2ac]
push dword [ebp - 0x2d4]
push dword [ebp - 0x2cc]
push str._ws_0x_08x___d
push eax
call fcn.004011e0
add esp, 0x14
mov esi, eax
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
call fcn.0042b0ee
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, eax
call fcn.0042ae20
push eax
mov edx, str.error:
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2d8]
call fcn.004093b4
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2c4]
mov edx, eax
mov dword [esp], 0x5446d0
call fcn.00409442
push esi
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2e4]
call fcn.0040a037
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x1a
call fcn.00405d6e
mov ecx, dword [ebp - 0x2e4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2d8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2b8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x2ac]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea eax, [ebp - 0x2bc]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
add ecx, 0x24
call fcn.00405d6e
mov ecx, dword [ebp - 0x2bc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2cc]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x2f0]
mov byte [ebp - 4], 8
call fcn.004a9536
mov esi, dword [ebp + 0xc]
push ecx
mov ecx, esp
push str.protitle
call fcn.00406fea
lea ecx, [esi + 0x18]
call fcn.00438db1
mov esi, dword [ebp + 0xc]
mov bl, al
push ecx
mov ecx, esp
mov byte [ebp - 0x2b2], bl
push str.updaterclient
call fcn.00406fea
lea ecx, [esi + 0x18]
call fcn.00438db1
mov byte [ebp - 0x2bd], al
mov ecx, str.false
mov eax, dword [ebp + 0xc]
test bl, bl
push ecx
mov dword [ebp - 0x2ac], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, ecx
mov ecx, esp
push eax
mov dword [ebp - 0x2e4], eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1c
push 0x54c0cc
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00438d46
test bl, bl
je 0x48365e
lea ecx, [ebp - 0x18c]
call fcn.0042b0ee
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2ac], eax
cmp ecx, 5
jne 0x4835bb
lea ecx, [ebp - 0x18c]
call fcn.0042b0ee
lea ecx, [ebp - 0x2d8]
push ecx
mov ecx, eax
call fcn.0042add3
xor ebx, ebx
mov byte [ebp - 4], 0x1d
inc ebx
jmp 0x4835d6
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
jne 0x483515
mov esi, str.none
push esi
call fcn.004ddaa2
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2bc]
call fcn.00406efb
jmp 0x4833dc
mov esi, dword [ebp - 0x2f0]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x4833dc
mov ebx, 0x53d648
cmp ecx, 1
lea edx, [esi + 0x18]
mov eax, 0x545348
lea ecx, [ebp - 0x2ac]
cmovbe eax, ebx
push eax
call fcn.00409442
pop ecx
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2bc]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x2ac]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x483590
mov eax, dword [esi + 4]
jmp 0x483586
cmp esi, dword [eax + 8]
jne 0x48358c
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x48357c
mov esi, eax
jmp 0x4835a6
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4835a6
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x48359a
cmp byte [esi + 0xd], 0
jne 0x4833dc
mov ecx, dword [ebp - 0x2ec]
jmp 0x48352c
mov eax, str.false
lea ecx, [ebp - 0x2b8]
push eax
call fcn.00406fea
push 2
mov dword [ebp - 4], 0x1e
pop ebx
push ecx
mov esi, esp
mov dword [ebp - 0x2f4], ebx
mov dword [ebp - 0x2c4], esi
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x2b0], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov dword [ebp - 4], 0x1f
push str.Pro.5.x
call fcn.00406fea
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp - 4], 0x1e
call fcn.00438d46
test bl, 2
je 0x483639
mov ecx, dword [ebp - 0x2b8]
and ebx, 0xfffffffd
mov dword [ebp - 0x2f4], ebx
lea ecx, [ecx - 0x10]
call fcn.00407189
mov dword [ebp - 4], 8
test bl, 1
je 0x483664
mov ecx, dword [ebp - 0x2d8]
and ebx, 0xfffffffe
mov dword [ebp - 0x2f4], ebx
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x483664
mov ebx, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2b1]
mov byte [ebp - 0x2b1], 1
lea ecx, [ebp - 0x2d4]
call fcn.00432a02
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x2d4], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2cc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2b0], eax
jl 0x4836c1
cmp byte [ebp - 0x2b1], 0
mov ecx, str.false
mov eax, edi
cmove eax, ecx
lea ecx, [ebp - 0x2b8]
push eax
call fcn.00406fea
mov byte [ebp - 4], 0x21
or ebx, 4
jmp 0x4836ec
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x2ac]
push dword [ebp - 0x2d4]
push esi
push str._ws_0x_08x___d
push eax
call fcn.004011e0
add esp, 0x14
mov dword [ebp - 4], 0x22
or ebx, 8
push ecx
mov edi, esp
mov dword [ebp - 0x2f4], ebx
mov dword [ebp - 0x2c4], edi
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x2d8], esp
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push ecx
mov ecx, esp
mov dword [ebp - 4], 0x23
push str.SHA2_supported
call fcn.00406fea
mov ecx, dword [ebp - 0x2b0]
mov byte [ebp - 4], 0x22
call fcn.00438d46
test bl, 8
je 0x483749
mov ecx, dword [ebp - 0x2ac]
and ebx, 0xfffffff7
lea ecx, [ecx - 0x10]
call fcn.00407189
mov dword [ebp - 4], 0x20
test bl, 4
je 0x483763
mov ecx, dword [ebp - 0x2b8]
lea ecx, [ecx - 0x10]
call fcn.00407189
cmp dword [ebp - 0x2d4], 0
jl 0x483822
cmp byte [ebp - 0x2b1], 0
jne 0x483822
lea ecx, [ebp - 0x18c]
call fcn.0042b0ee
lea ecx, [ebp - 0x2c4]
push ecx
mov ecx, eax
call fcn.0042ae20
mov byte [ebp - 4], 0x24
mov eax, dword [ebp + 0xc]
push ecx
mov edi, esp
mov dword [ebp - 0x2b0], esp
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x2ac], edi
mov ecx, dword [ebp - 0x2c4]
add ecx, 0xfffffff0
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x25
push str.SHA2_missing_OS
call fcn.00406fea
mov ecx, ebx
mov byte [ebp - 4], 0x24
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push dword [ebp - 0x2e4]
mov edi, dword [eax + 0xc]
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x26
push str.SHA2_missing_Pro
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.00438d46
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 8
call fcn.00407189
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x314]
mov edx, dword [eax + 0xc]
add edx, 0x44
call fcn.0046c865
mov ecx, dword [ebp - 0x30c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp + 0xc]
push str.WinSta0
mov eax, dword [eax + 0xc]
push dword [eax + 0x44]
call fcn.004e3849
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 0x10
call fcn.004070e7
lea esi, [eax + 0x10]
mov dword [ebp - 0x2bc], esi
mov edx, str.Service_
mov byte [ebp - 4], 0x27
mov ecx, esi
call fcn.0042981b
test al, al
je 0x4838c9
push str.Service_0x0_3e7_
push esi
call fcn.004e3849
pop ecx
pop ecx
test eax, eax
je 0x4838c9
mov esi, str.Service_xyz
push esi
call fcn.004ddaa2
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2bc]
call fcn.00406efb
mov esi, dword [ebp - 0x2bc]
mov eax, dword [ebp + 0xc]
push ecx
mov edi, esp
mov dword [ebp - 0x2b8], esp
mov ebx, dword [eax + 0xc]
lea eax, [esi - 0x10]
mov dword [ebp - 0x2ac], edi
mov ecx, eax
mov dword [ebp - 0x2ac], eax
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x28
push str.WindowStation
call fcn.00406fea
mov ecx, ebx
mov byte [ebp - 4], 0x27
call fcn.00438d46
cmp byte [ebp - 0x2b2], 0
je 0x484050
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2b0], ecx
mov bl, byte [ecx + 0x28]
mov byte [ebp - 0x2b1], bl
test bl, bl
jne 0x48398f
push ecx
mov dword [ebp - 0x2ac], esp
lea esi, [eax + 0x18]
mov edi, esp
push ecx
mov ecx, esp
push str.showselection
call fcn.00406fea
mov ecx, esi
call fcn.00438db1
test al, al
mov ecx, str.true
mov eax, str.false
cmove ecx, eax
push ecx
mov ecx, edi
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x29
push str.Pro.One
call fcn.00406fea
mov ecx, dword [ebp - 0x2b0]
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
test bl, bl
mov ebx, dword [ebp - 0x2f8]
je 0x4839ad
add ebx, 9
cmp byte [ebx], 0
jne 0x4839b0
mov edi, str.true
mov eax, edi
jmp 0x4839ba
add ebx, 9
mov eax, str.false
mov edi, str.true
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2a
push str.Pro.Silent
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
cmp byte [ebx], 0
mov ebx, str.false
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2b
push str.Pro.FakeSilent
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x30], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2c
push str.Pro.Frozen
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x31], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2d
push str.Pro.Freeze
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x34], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2e
push str.Pro.UpdateRepository
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x35], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2f
push str.Pro.ScanRepository
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x32], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x30
push str.Pro.UpdateCache
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x33], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x31
push str.Pro.GetFile
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x2a], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov byte [ebp - 4], 0x32
mov ecx, esp
push str.Pro.Ini
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
mov ebx, dword [ebp - 0x2f8]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [ebx + 0x28], 0
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x33
push str.Pro.DisableAutoupdate
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
cmp byte [ebx + 0x24], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x34
push str.Pro.DisableShortcuts
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
cmp byte [ebx + 0x26], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x35
push str.Pro.AllUsers
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
cmp byte [ebx + 0x27], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov byte [ebp - 4], 0x36
mov ecx, esp
push str.Pro.Kill
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x2b2], 1
mov esi, dword [eax + 0xc]
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call ebx
mov byte [ebp - 4], 0x37
call fcn.0044f24f
mov edx, str.leveldemo_ninite.com
lea ecx, [eax + 0x17c]
call fcn.004044d6
mov cl, al
mov eax, edi
push ecx
test cl, cl
mov dword [ebp - 0x2b0], esp
mov ecx, str.false
mov edx, esp
cmove eax, ecx
mov ecx, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x38
push str.Pro.LPI
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x37
call fcn.00438d46
lea ecx, [ebp - 0x2b2]
mov byte [ebp - 4], 0x27
call fcn.0044f694
mov eax, dword [ebp + 0xc]
mov edx, str.false
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x3a], 0
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x39
push str.Pro.RemoteServer
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.false
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x3b], 0
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3a
push str.Pro.RemoteClient
call fcn.00406fea
mov byte [ebp - 4], 0x27
mov ecx, esi
call fcn.00438d46
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x2b2], 1
push eax
call ebx
mov byte [ebp - 4], 0x3b
call fcn.0044f24f
mov edx, str.soluto_ninite.com
lea ecx, [eax + 0x17c]
call fcn.004044d6
lea ecx, [ebp - 0x2b2]
mov byte [ebp - 4], 0x27
mov bl, al
call fcn.0044f694
test bl, bl
je 0x483eee
mov eax, dword [ebp + 0xc]
mov ebx, str.false
cmp byte [ebp - 0x2b1], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3c
push str.Soluto.Silent
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x31], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3d
push str.Soluto.Freeze
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x30], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3e
push str.Soluto.Frozen
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [esi + 0x3a], 0
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3f
push str.Soluto.RemoteServer
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0x2b2], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x40
call fcn.0044f24f
mov edx, str.kaseya_ninite.com
lea ecx, [eax + 0x17c]
call fcn.004044d6
lea ecx, [ebp - 0x2b2]
mov bl, al
call fcn.0044f694
test bl, bl
je 0x48421c
and dword [ebp - 0x2c4], 0
lea eax, [ebp - 0x2c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [ebp - 0x2ac], esi
lea ecx, [ebp - 0x2e4]
call fcn.0040687a
push 2
pop ebx
mov byte [ebp - 4], 0x42
cmp dword [ebp - 0x2c4], ebx
jle 0x483fea
push dword [esi + ebx*4]
lea ecx, [ebp - 0x2f8]
call fcn.00406fea
push 0
push 0x5c
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x43
call fcn.004aee68
cmp eax, 0xffffffff
jne 0x483fcf
push 0x5446d0
lea edx, [ebp - 0x2f8]
lea ecx, [ebp - 0x2b0]
call fcn.00409442
pop ecx
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2e4]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov ecx, dword [ebp - 0x2b0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x2f8]
add ecx, 0xfffffff0
call fcn.00407189
inc ebx
cmp ebx, dword [ebp - 0x2c4]
jl 0x483f6f
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [ebp - 0x2b0], esp
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x2b8], esi
mov edi, dword [ebp - 0x2e4]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x45
push str.Kaseya.Command
call fcn.00406fea
mov ecx, ebx
mov byte [ebp - 4], 0x42
call fcn.00438d46
lea ecx, [edi - 0x10]
call fcn.00407189
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x48421c
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x48421c
cmp byte [ebp - 0x2bd], 0
jne 0x48421c
and dword [ebp - 0x2e4], 0
lea eax, [ebp - 0x70]
push 0x12
push 1
push 0x53d240
push eax
call fcn.004d6394
add esp, 0x10
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
lea ecx, [ebp - 0x70]
call fcn.004d6486
mov eax, dword [ebp + 0xc]
mov edi, str.true
cmp dword [ebp - 0x2e4], 0
mov ebx, str.false
push ecx
mov ecx, esp
mov dword [ebp - 0x2b8], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x46
push str.Free.System
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x2bd], 1
mov esi, dword [eax + 0xc]
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x47
call fcn.0044f24f
mov ecx, eax
mov eax, edi
push ecx
mov edx, esp
mov dword [ebp - 0x2b8], esp
cmp byte [ecx + 0x178], 0
mov ecx, edx
cmove eax, ebx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x48
push str.Free.Domain
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x47
call fcn.00438d46
lea ecx, [ebp - 0x2bd]
mov byte [ebp - 4], 0x27
call fcn.0044f694
mov eax, dword [ebp + 0xc]
mov edx, str.false
mov ebx, dword [ebp - 0x2b0]
test ebx, ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2b8], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x49
push str.Free.NonWinsta0
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
test ebx, ebx
je 0x4841d7
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [ebp - 0x2b0], esp
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x2b8], esi
mov ecx, dword [ebp - 0x2ac]
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4a
push str.Free.WindowStation
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 0x27
call fcn.00438d46
mov edi, str.true
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2f8]
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, edi
cmp byte [edx + 9], 0
mov edx, str.false
cmove eax, edx
push eax
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4b
push str.Free.FakeSilent
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00438d46
lea ecx, [ebp - 0x2c4]
call fcn.0040687a
lea edx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x2d4]
call fcn.004366f2
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x2d4]
test ecx, ecx
js 0x484265
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
lea eax, [ebp - 0x2c4]
push eax
add ecx, 0x18
call fcn.00405d6e
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ebp + 0xc]
mov ebx, str._ws_0x_08x___d
push ecx
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, esp
push dword [ebp - 0x2d0]
push ecx
push dword [ebp - 0x2cc]
push ebx
push eax
call fcn.004011e0
add esp, 0x10
mov byte [ebp - 4], 0x4e
mov ecx, esp
push str.GetUniqueMachineID
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x4d
call fcn.00438d46
mov ecx, dword [ebp - 0x2cc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x2c4]
call fcn.0040687a
lea edx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d4]
call fcn.00436504
mov byte [ebp - 4], 0x50
cmp dword [ebp - 0x2d4], 0
jl 0x484309
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
lea eax, [ebp - 0x2c4]
push eax
add ecx, 0x1c
call fcn.00405d6e
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2cc]
push ecx
mov dword [ebp - 0x2b0], esp
mov edi, dword [eax + 0xc]
mov eax, esp
push dword [ebp - 0x2d0]
push dword [ebp - 0x2d4]
push esi
push ebx
push eax
call fcn.004011e0
add esp, 0x10
mov byte [ebp - 4], 0x51
mov ecx, esp
push str.GetUniqueMachineID3
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 0x50
call fcn.00438d46
lea ecx, [esi - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x308]
call fcn.004a9508
lea edx, [ebp - 0x308]
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x314]
call fcn.00444765
mov ecx, dword [ebp - 0x30c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0xc]
lea eax, [ebp - 0x308]
add edi, 0x58
cmp edi, eax
je 0x4843d5
mov esi, dword [edi]
mov ecx, edi
push dword [esi + 4]
push edi
call fcn.004b638f
lea eax, [ebp - 0x308]
mov dword [esi + 4], esi
xor ebx, ebx
mov dword [esi], esi
mov dword [esi + 8], esi
mov ecx, edi
push eax
mov dword [edi + 4], ebx
call fcn.004b6e3b
jmp 0x4843d7
xor ebx, ebx
mov dword [ebp - 0x2d4], ebx
mov dword [ebp - 0x2d0], ebx
mov dword [ebp - 0x2cc], ebx
push 0x20019
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallAdobe_Flash_Player_ActiveX
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x53
call fcn.004d6087
mov esi, dword [ebp - 0x2d4]
test eax, eax
jne 0x484428
mov eax, dword [ebp + 0xc]
mov edx, str.DisplayVersion
mov ecx, esi
mov eax, dword [eax + 0xc]
add eax, 0x20
push eax
call fcn.0042b675
pop ecx
mov byte [ebp - 4], 0x52
test esi, esi
je 0x484437
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [0x57d3ec]
cmp byte [eax + 1], 0
je 0x48445d
mov eax, dword [0x57d3ec]
mov esi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [ebp + 0xc]
sub ecx, esi
mov eax, dword [eax + 0xc]
mov dword [eax + 0x70], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
lea eax, [ebp - 0x334]
push eax
add ecx, 0x48
call fcn.00405d6e
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [ebp - 0x2b0], esp
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x2ac], esi
mov ecx, dword [ebp - 0x334]
add ecx, 0xfffffff0
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x54
push str.Version
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 0x52
call fcn.00438d46
mov eax, dword [ebp + 0xc]
mov edx, str.true
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
mov esi, dword [eax + 0xc]
mov eax, dword [0x57d3ec]
mov al, byte [eax + 1]
test al, al
mov eax, str.false
cmove edx, eax
push edx
call fcn.00406fea
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x55
push str.Canceled
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x52
call fcn.00438d46
lea ecx, [ebp - 0x37c]
call fcn.00438772
mov byte [ebp - 4], 0x56
lea edx, [ebp - 0x37c]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x320]
call fcn.004b3e13
pop ecx
mov byte [ebp - 4], 0x57
cmp dword [ebp - 0x320], 0
jge 0x4845a9
cmp dword [ebp - 0x31c], 0
mov eax, 0x2c7c
cmovne eax, dword [ebp - 0x31c]
push eax
push dword [ebp - 0x320]
push ecx
mov ecx, dword [ebp - 0x318]
mov esi, esp
mov dword [ebp - 0x2e0], esi
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x2d4]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x300]
lea eax, [ebp - 0x2d4]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x58
call fcn.0040121b
mov ecx, dword [ebp - 0x2cc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x318]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x48494a
mov ecx, dword [ebp - 0x318]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0x36], 0
jne 0x484714
cmp byte [eax + 0x37], 0
jne 0x484714
cmp byte [eax + 0x31], 0
jne 0x484714
cmp byte [eax + 0x32], 0
jne 0x484714
cmp byte [eax + 0x33], 0
jne 0x484714
cmp byte [eax + 0x34], 0
jne 0x484714
cmp byte [eax + 0x35], 0
jne 0x484714
cmp byte [eax + 0x3a], 0
jne 0x484714
mov ecx, dword [ebp - 0x37c]
mov esi, dword [ecx]
cmp esi, ecx
je 0x484650
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x484648
cmp dword [eax], 1
jne 0x484648
lea ecx, [eax + 8]
mov edx, str.Skipped__not_installed_
call fcn.004044d6
test al, al
je 0x484642
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x10], bl
mov ecx, dword [ebp - 0x37c]
mov eax, dword [esi]
mov esi, eax
cmp eax, ecx
jne 0x484619
lea ecx, [ebp - 0x37c]
call fcn.00438cf4
mov eax, dword [ebp - 0x37c]
mov esi, dword [eax]
jmp 0x4846bf
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.004044ab
mov ecx, dword [ebp - 0x2e8]
mov eax, esi
mov esi, dword [esi]
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x4846aa
mov edx, dword [ebp - 0x370]
test edx, edx
je 0x4846aa
mov ecx, dword [ecx + 0xc]
cmp ecx, dword [edx + 0x14]
je 0x4846aa
push eax
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x37c]
call fcn.004ad23c
mov ecx, dword [ebp - 0x2e4]
test ecx, ecx
je 0x4846b9
call fcn.00405adf
mov eax, dword [ebp - 0x37c]
cmp esi, eax
jne 0x484665
mov esi, dword [eax]
cmp esi, eax
je 0x484736
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x2c8]
call fcn.004044ab
mov ecx, dword [ebp - 0x2c8]
mov eax, esi
mov esi, dword [esi]
cmp byte [ecx + 0x29], 0
je 0x4846fb
push eax
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x37c]
call fcn.004ad23c
mov ecx, dword [ebp - 0x2c4]
test ecx, ecx
je 0x48470a
call fcn.00405adf
cmp esi, dword [ebp - 0x37c]
jne 0x4846c9
jmp 0x484736
mov edx, dword [ebp - 0x37c]
call fcn.004b55d5
mov eax, dword [ebp - 0x37c]
mov dword [eax], eax
mov eax, dword [ebp - 0x37c]
mov dword [eax + 4], eax
mov dword [ebp - 0x378], ebx
mov edx, dword [ebp - 0x358]
call fcn.004b55d5
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], ebx
mov dword [eax], eax
mov eax, dword [ebp - 0x358]
mov dword [eax + 4], eax
mov dword [ebp - 0x354], ebx
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 0x59
push eax
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00438df3
mov byte [ebp - 4], 0x5a
cmp dword [ebp - 0x32c], 0
jge 0x484814
cmp dword [ebp - 0x328], 0
mov eax, 0x2ca2
mov edi, dword [ebp - 0x324]
cmovne eax, dword [ebp - 0x328]
push eax
push dword [ebp - 0x32c]
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
mov dword [ebp - 0x2e0], esi
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x2d4]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x300]
lea eax, [ebp - 0x2d4]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x5b
call fcn.0040121b
mov ecx, dword [ebp - 0x2cc]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
je 0x48494a
jmp 0x484945
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x324]
add ecx, 0xfffffff0
call fcn.00407189
mov esi, dword [ebp - 0x2ec]
push ecx
push ecx
mov ecx, esp
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
test esi, esi
je 0x48483d
lock inc dword [esi + 4]
mov eax, dword [ebp - 0x2f0]
mov dword [ecx], eax
mov dword [ecx + 4], esi
lea ecx, [ebp - 0x2fc]
call fcn.00481618
pop ecx
pop ecx
mov edi, dword [eax]
mov ebx, dword [eax + 4]
and dword [eax], 0
and dword [eax + 4], 0
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2ec], ebx
test esi, esi
je 0x484878
mov ecx, esi
call fcn.00405adf
mov ecx, dword [ebp - 0x2f8]
test ecx, ecx
je 0x484887
call fcn.00405adf
push 1
push dword [ebp - 0x2e0]
mov edx, edi
lea ecx, [ebp - 0x2d4]
call fcn.0040d0f0
pop ecx
pop ecx
mov byte [ebp - 4], 0x5c
cmp dword [ebp - 0x2d4], 0
jge 0x48491c
cmp dword [ebp - 0x2d0], 0
mov eax, 0x2ca9
mov edi, dword [ebp - 0x2cc]
cmovne eax, dword [ebp - 0x2d0]
push eax
push dword [ebp - 0x2d4]
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
mov dword [ebp - 0x2e0], esi
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x314]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x300]
lea eax, [ebp - 0x314]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x5d
call fcn.0040121b
mov ecx, dword [ebp - 0x30c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
call fcn.00407189
jmp 0x48493f
mov ecx, dword [ebp - 0x2cc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, dword [ebp - 0x300]
and dword [esi], 0
lea ecx, [esi + 8]
and dword [esi + 4], 0
call fcn.0040687a
test ebx, ebx
je 0x48494a
mov ecx, ebx
call fcn.00405adf
lea ecx, [ebp - 0x37c]
call fcn.00484992
lea ecx, [ebp - 0x308]
call fcn.004ad221
mov ecx, dword [ebp - 0x2bc]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x348]
call fcn.0047f5e4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x484985
call fcn.00405adf
mov eax, esi
call fcn.004d8aa1
ret