Function at 0x83ae18
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd6c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x288], edx
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x278], edx
lea eax, [ebp - 0x270]
mov edx, dword [0x41b1d0]
call fcn.0040b2b0
xor eax, eax
push ebp
push 0x83b208
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x8dc044], eax
mov dl, 1
mov eax, dword [0x47a398]
call fcn.0049c83c
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b224
mov eax, 0x80000001
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83aee8
inc ebx
xor esi, esi
lea ecx, [ebp - 0x278]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x83aeda
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83aee4
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83aeb8
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b224
mov eax, 0x80000002
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83af42
inc ebx
xor esi, esi
lea ecx, [ebp - 0x27c]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x83af34
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83af3e
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83af12
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b28c
mov eax, 0x80000001
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83af9c
inc ebx
xor esi, esi
lea ecx, [ebp - 0x280]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x83af8e
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83af98
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83af6c
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b28c
mov eax, 0x80000002
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83aff6
inc ebx
xor esi, esi
lea ecx, [ebp - 0x284]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x284]
test eax, eax
je 0x83afe8
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83aff2
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83afc6
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b2fc
mov eax, 0x80000002
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83b050
inc ebx
xor esi, esi
lea ecx, [ebp - 0x288]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x83b042
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83b04c
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83b020
mov ecx, dword [ebp - 0x274]
mov edx, 0x83b37c
mov eax, 0x80000002
call fcn.005d4370
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x83b0aa
inc ebx
xor esi, esi
lea ecx, [ebp - 0x28c]
mov edx, esi
mov eax, dword [ebp - 0x274]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x83b09c
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x83b0a6
inc dword [0x8dc044]
inc esi
dec ebx
jne 0x83b07a
mov eax, dword [ebp - 0x274]
call fcn.00407f90
mov eax, dword [0x8d40b8]
mov eax, dword [eax]
test eax, eax
je 0x83b0c5
sub eax, 4
mov eax, dword [eax]
test eax, eax
je 0x83b147
mov eax, dword [0x8d40b8]
mov eax, dword [eax]
mov dl, 1
call fcn.004238d8
test al, al
je 0x83b147
mov edx, dword [0x8d40b8]
mov edx, dword [edx]
lea eax, [ebp - 0x290]
mov ecx, 0x83b404
call fcn.0040acf0
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x270]
mov edx, 0x1ff
call fcn.00423c38
test eax, eax
jne 0x83b147
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
mov eax, dword [ebp - 0x260]
and eax, 0x10
cmp eax, 0x10
je 0x83b12d
inc dword [0x8dc044]
lea eax, [ebp - 0x270]
call fcn.00423c88
test eax, eax
je 0x83b10d
lea eax, [ebp - 0x270]
call fcn.00423cac
mov eax, dword [0x8d31c8]
mov eax, dword [eax]
test eax, eax
je 0x83b157
sub eax, 4
mov eax, dword [eax]
test eax, eax
je 0x83b1d9
mov eax, dword [0x8d31c8]
mov eax, dword [eax]
mov dl, 1
call fcn.004238d8
test al, al
je 0x83b1d9
mov edx, dword [0x8d31c8]
mov edx, dword [edx]
lea eax, [ebp - 0x294]
mov ecx, 0x83b404
call fcn.0040acf0
mov eax, dword [ebp - 0x294]
lea ecx, [ebp - 0x270]
mov edx, 0x1ff
call fcn.00423c38
test eax, eax
jne 0x83b1d9
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
mov eax, dword [ebp - 0x260]
and eax, 0x10
cmp eax, 0x10
je 0x83b1bf
inc dword [0x8dc044]
lea eax, [ebp - 0x270]
call fcn.00423c88
test eax, eax
je 0x83b19f
lea eax, [ebp - 0x270]
call fcn.00423cac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83b20f
lea eax, [ebp - 0x294]
mov edx, 8
call fcn.00409d8c
lea eax, [ebp - 0x270]
mov edx, dword [0x41b1d0]
call fcn.0040b38c
ret