Function at 0x5a8a48
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x5a8a50
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x5a8e86
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5a8e61
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x456678]
call fcn.004567e4
mov esi, eax
mov dl, 1
mov eax, dword [0x4111e4]
call fcn.00403140
mov ebx, eax
mov edx, 0x80000001
mov eax, esi
call fcn.004568c0
xor ecx, ecx
mov edx, 0x5a8e9c
mov eax, esi
call fcn.00456a04
test al, al
je 0x5a8b5f
mov edx, ebx
mov eax, esi
call fcn.00456ed8
mov eax, dword [0x65a26c]
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5a8b5f
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0xc]
call fcn.00408fbc
mov eax, dword [ebp - 0xc]
mov edx, 0x5a8ed8
call fcn.004042a0
je 0x5a8b57
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.00457018
cmp al, 1
jne 0x5a8b57
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x1c]
mov eax, esi
call fcn.00457068
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.00408f80
mov edx, dword [ebp - 0x18]
mov eax, dword [0x65a26c]
call fcn.00413a78
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x5a8ae3
mov eax, esi
call fcn.00403170
mov eax, ebx
call fcn.00403170
mov dl, 1
mov eax, dword [0x456678]
call fcn.004567e4
mov esi, eax
mov dl, 1
mov eax, dword [0x4111e4]
call fcn.00403140
mov ebx, eax
mov edx, 0x80000002
mov eax, esi
call fcn.004568c0
xor ecx, ecx
mov edx, 0x5a8e9c
mov eax, esi
call fcn.00456a04
test al, al
je 0x5a8c4b
mov edx, ebx
mov eax, esi
call fcn.00456ed8
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5a8c4b
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00408fbc
mov eax, dword [ebp - 0x24]
mov edx, 0x5a8ed8
call fcn.004042a0
je 0x5a8c43
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2c]
mov eax, esi
call fcn.00457018
cmp al, 1
jne 0x5a8c43
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov eax, esi
call fcn.00457068
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.00408f80
mov edx, dword [ebp - 0x30]
mov eax, dword [0x65a26c]
call fcn.00413a78
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x5a8bcf
mov eax, esi
call fcn.00403170
mov eax, ebx
call fcn.00403170
mov dl, 1
mov eax, dword [0x456678]
call fcn.004567e4
mov esi, eax
mov dl, 1
mov eax, dword [0x4111e4]
call fcn.00403140
mov ebx, eax
mov edx, 0x80000002
mov eax, esi
call fcn.004568c0
xor ecx, ecx
mov edx, 0x5a8ee8
mov eax, esi
call fcn.00456a04
test al, al
je 0x5a8d37
mov edx, ebx
mov eax, esi
call fcn.00456ed8
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5a8d37
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00408fbc
mov eax, dword [ebp - 0x3c]
mov edx, 0x5a8ed8
call fcn.004042a0
je 0x5a8d2f
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x44]
mov eax, esi
call fcn.00457018
cmp al, 1
jne 0x5a8d2f
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 4]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov eax, esi
call fcn.00457068
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.00408f80
mov edx, dword [ebp - 0x48]
mov eax, dword [0x65a26c]
call fcn.00413a78
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x5a8cbb
mov eax, esi
call fcn.00403170
mov eax, ebx
call fcn.00403170
lea edx, [ebp - 0x54]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp dword [ebp - 0x54], 0
je 0x5a8e57
lea edx, [ebp - 0x5c]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00408f80
mov edx, dword [ebp - 0x58]
mov eax, 0x5a8f24
call fcn.0040447c
test eax, eax
jle 0x5a8e57
lea edx, [ebp - 0x64]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.00408f80
mov edx, dword [ebp - 0x60]
mov eax, 0x5a8f30
call fcn.0040447c
test eax, eax
jne 0x5a8e57
lea edx, [ebp - 0x6c]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.00408f80
mov edx, dword [ebp - 0x68]
mov eax, 0x5a8f44
call fcn.0040447c
test eax, eax
jne 0x5a8e57
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x5a8e21
lea edx, [ebp - 0x74]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x70]
mov edx, 0x5a8f5c
call fcn.004041dc
mov edx, dword [ebp - 0x70]
mov eax, dword [0x65a224]
mov eax, dword [eax + 0x2ec]
mov eax, dword [eax + 0x208]
call fcn.00413a78
jmp 0x5a8e57
lea edx, [ebp - 0x7c]
mov eax, dword [0x65a26c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x5a8f78
call fcn.004041dc
mov edx, dword [ebp - 0x78]
mov eax, dword [0x65a224]
mov eax, dword [eax + 0x2ec]
mov eax, dword [eax + 0x208]
call fcn.00413a78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5a8e6b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a8e8d
lea eax, [ebp - 0x7c]
mov edx, 0x1d
call fcn.00403f34
ret