Function at 0x614a74
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x614a7c
push ebx
push esi
push edi
xor edx, edx
push ebp
push 0x614e89
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [eax + 0x3b0]
xor edx, edx
call fcn.00481c70
mov eax, dword [0x6b2568]
call fcn.004d26b0
xor eax, eax
push ebp
push 0x614ad7
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x614ea4
mov edx, 0x614ebc
mov eax, 0x80000002
call fcn.00627a60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x614ae1
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0xec]
mov edx, dword [0x6aabf4]
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
mov ecx, 0x80
mov edx, 0x41
call fcn.00407320
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x434]
mov edx, dword [eax]
call dword [edx + 0xec]
mov edx, dword [0x6ab76c]
mov edx, dword [edx]
mov edx, dword [edx + eax*4]
pop eax
call fcn.0040721c
jne 0x614bc6
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x434]
mov edx, dword [eax]
call dword [edx + 0xec]
mov edx, dword [0x6ab76c]
mov edx, dword [edx]
cmp dword [edx + eax*4], 0
je 0x614bc6
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0xec]
mov edx, dword [0x6aabf4]
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
mov ecx, 6
mov edx, 0xb
call fcn.00407320
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x434]
mov edx, dword [eax]
call dword [edx + 0xec]
mov edx, dword [0x6ab704]
mov edx, dword [edx]
mov edx, dword [edx + eax*4]
pop eax
call fcn.0040721c
je 0x614c00
mov edx, dword [0x6ab3f0]
mov edx, dword [edx]
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x434]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
mov edx, dword [0x6aac14]
mov edx, dword [edx]
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
lea edx, [ebp - 0x18]
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4c8]
call fcn.004a753c
mov eax, dword [ebp - 0x18]
mov edx, 0x614f28
call fcn.00408384
jne 0x614c69
push 0x614f44
push 1
push 2
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4b4]
call fcn.004a753c
mov edx, dword [ebp - 0x20]
mov eax, dword [0x6ab5e0]
mov eax, dword [eax]
mov ecx, 0x614f60
call fcn.0061f72c
mov eax, dword [ebp - 0x1c]
mov edx, 0x614f70
call fcn.00408384
jne 0x614cdb
mov eax, dword [0x6ab378]
cmp dword [eax], 0xffffffff
jne 0x614c9a
mov eax, dword [0x6aafa4]
mov eax, dword [eax]
xor edx, edx
call fcn.00625c80
mov edx, eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5e0]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
jmp 0x614cbf
mov eax, dword [0x6ab378]
mov eax, dword [eax]
xor edx, edx
call fcn.00625c80
mov edx, eax
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5e0]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
xor edx, edx
call fcn.0063a2c8
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
xor edx, edx
call fcn.0063a9ac
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
xor edx, edx
call fcn.0063cd14
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
xor edx, edx
call fcn.0063c27c
mov eax, dword [0x6ab6b0]
mov eax, dword [eax]
xor edx, edx
call fcn.00631918
mov eax, 0x614f8c
call fcn.00626d98
test al, al
je 0x614d61
lea eax, [ebp - 8]
mov edx, 0x614fb4
call fcn.00407cf0
lea eax, [ebp - 4]
xor edx, edx
call fcn.00407cf0
lea eax, [ebp - 4]
push eax
mov cx, 0x3d
mov edx, 0x614fd4
mov eax, 0x615000
call fcn.00626f28
cmp dword [ebp - 4], 0
je 0x614d61
push 0x61501c
push dword [ebp - 4]
push 0x615040
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00408264
xor eax, eax
push ebp
push 0x614dbf
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x614ea4
mov edx, 0x614ebc
mov eax, 0x80000002
call fcn.00627864
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x614ea4
mov edx, 0x615050
mov eax, 0x80000002
call fcn.00627630
mov ecx, 0x614ea4
mov edx, 0x614ebc
mov eax, 0x80000002
call fcn.00627a60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x614dc9
push 1
push 0x615040
lea edx, [ebp - 0x48]
mov eax, dword [0x6ab3ec]
mov eax, dword [eax]
call fcn.004d7bd4
push dword [ebp - 0x48]
push 0x6150c8
push dword [ebp - 8]
push dword [ebp - 0xc]
lea eax, [ebp - 0x44]
mov edx, 5
call fcn.00408264
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
call fcn.00429cb8
lea eax, [ebp - 0x40]
push eax
mov ecx, 0x614ea4
mov edx, 0x6150ec
mov eax, 0x80000002
call fcn.00627630
mov eax, dword [0x6aafd8]
mov eax, dword [eax]
call fcn.004d26b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x614e90
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00407c94
lea eax, [ebp - 0x40]
mov edx, dword [0x4012a8]
mov ecx, 2
call fcn.00408b38
lea eax, [ebp - 0x20]
call fcn.00407c8c
lea eax, [ebp - 0x1c]
call fcn.00407c8c
lea eax, [ebp - 0x18]
call fcn.00407c8c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00406b54
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00407c94
ret