Function at 0x4fc978
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd64
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x29c], ebx
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x294], ebx
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x28c], ebx
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 4], ebx
mov ebx, ecx
mov byte [ebp - 0x27a], dl
mov byte [ebp - 0x279], al
lea eax, [ebp - 0x278]
mov edx, dword [0x41878c]
call fcn.00409344
mov esi, dword [0x50a740]
xor eax, eax
push ebp
push 0x4fcda1
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4fcd60
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004b4e74
call fcn.00497784
mov ecx, ebx
movzx edx, byte [ebp - 0x27a]
movzx eax, byte [ebp - 0x279]
call fcn.004d47cc
test bl, bl
je 0x4fca30
movzx edx, byte [ebp - 0x27a]
movzx eax, byte [ebp - 0x279]
call fcn.004ed4fc
call fcn.004eaa6c
xor eax, eax
push ebp
push 0x4fcc30
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov eax, dword [0x50a988]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
push 1
mov eax, dword [0x50acc0]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
push 1
mov eax, dword [0x50ab94]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
push 1
mov eax, dword [0x50a8f8]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
push 1
mov eax, dword [0x50ab64]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
push 1
mov eax, dword [0x50acd4]
mov eax, dword [eax]
mov cl, 1
mov dl, 1
call fcn.0046f7d4
lea eax, [ebp - 4]
push eax
mov eax, dword [0x50a96c]
mov eax, dword [eax]
mov ecx, 0x4fcdbc
mov edx, 0x4fcde0
call fcn.0046195c
cmp dword [ebp - 4], 0
je 0x4fcadd
push 1
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0046f7d4
mov edx, dword [esi]
lea eax, [ebp - 0x280]
mov ecx, 0x4fce1c
call fcn.00408bdc
mov eax, dword [ebp - 0x280]
mov dl, 1
call fcn.0046fe84
mov edx, dword [esi]
lea eax, [ebp - 0x284]
mov ecx, 0x4fce40
call fcn.00408bdc
mov eax, dword [ebp - 0x284]
mov dl, 1
call fcn.0046fe84
mov edx, dword [esi]
lea eax, [ebp - 0x288]
mov ecx, 0x4fce64
call fcn.00408bdc
mov eax, dword [ebp - 0x288]
mov dl, 1
call fcn.0046fe84
mov edx, dword [esi]
lea eax, [ebp - 0x28c]
mov ecx, 0x4fce90
call fcn.00408bdc
mov eax, dword [ebp - 0x28c]
mov dl, 1
call fcn.0046fe84
mov eax, dword [0x50a880]
mov eax, dword [eax]
mov dl, 1
call fcn.0046fe84
mov eax, dword [0x50ac7c]
mov eax, dword [eax]
mov dl, 1
call fcn.0046fe84
mov edx, dword [esi]
lea eax, [ebp - 0x290]
mov ecx, 0x4fceb8
call fcn.00408bdc
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call fcn.0041e9d0
test eax, eax
jne 0x4fcc26
xor eax, eax
push ebp
push 0x4fcc1f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x264]
mov edx, 0x4fced0
call fcn.00408d14
je 0x4fcbf7
mov eax, dword [ebp - 0x264]
mov edx, 0x4fcee0
call fcn.00408d14
je 0x4fcbf7
mov edx, dword [esi]
lea eax, [ebp - 0x294]
mov ecx, dword [ebp - 0x264]
call fcn.00408bdc
mov eax, dword [ebp - 0x294]
mov dl, 1
call fcn.0046fe84
lea eax, [ebp - 0x278]
call fcn.0041ea20
test eax, eax
je 0x4fcbb3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4fcc26
lea eax, [ebp - 0x278]
call fcn.0041ea44
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fcc3a
xor eax, eax
push ebp
push 0x4fcc74
push dword fs:[eax]
mov dword fs:[eax], esp
mov cl, 1
mov edx, 0x4fcde0
mov eax, 0x80000001
call fcn.004621d4
mov cl, 1
mov edx, 0x4fcde0
mov eax, 0x80000002
call fcn.004621d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fcc7e
mov eax, dword [0x50a8b4]
mov eax, dword [eax]
mov ecx, 0x4fcef4
mov edx, 0x4fcf1c
call fcn.00461f68
call fcn.004bd344
push 0
push 0
push 0xffffffffffffffff
push 1
push 0x4fcf88
mov eax, dword [0x50a820]
push dword [eax]
push 0x4fcfa4
lea eax, [ebp - 0x298]
mov edx, 3
call fcn.00408c64
mov edx, dword [ebp - 0x298]
xor ecx, ecx
mov eax, 0x4fcfb4
call fcn.00474784
mov eax, dword [0x50a820]
mov eax, dword [eax]
mov dl, 1
call fcn.0046fe84
mov eax, dword [0x50a724]
mov eax, dword [eax]
call fcn.0046feec
test al, al
je 0x4fcd3b
push 0
push 0
push 0xffffffffffffffff
push 1
push 0x4fcf88
mov eax, dword [0x50a724]
push dword [eax]
push 0x4fcfa4
lea eax, [ebp - 0x29c]
mov edx, 3
call fcn.00408c64
mov edx, dword [ebp - 0x29c]
xor ecx, ecx
mov eax, 0x4fcfb4
call fcn.00474784
mov eax, dword [0x50a724]
mov eax, dword [eax]
mov dl, 1
call fcn.0046fe84
push 0
push 0
push 0xffffffffffffffff
push 1
mov eax, dword [0x50ac18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4fcfdc
call fcn.00474784
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fcd6a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4fcda8
lea eax, [ebp - 0x29c]
mov edx, 8
call fcn.00407b4c
lea eax, [ebp - 0x278]
mov edx, dword [0x41878c]
call fcn.0040941c
lea eax, [ebp - 4]
call fcn.00407aec
ret