Function at 0x519504
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x51950c
push ebx
push esi
push edi
mov ebx, 0x5670e8
mov esi, dword [0x524e58]
xor eax, eax
push ebp
push 0x519b59
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x519b34
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000001
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519b70
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 2
mov edx, 0x519ba4
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.00466afc
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519bb8
mov eax, dword [ebx]
call fcn.00466b90
xor ecx, ecx
mov edx, 0x519bfc
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.00466afc
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519c10
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x519c48
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.00466afc
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519c64
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 4]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 4]
mov edx, 0x519ca0
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519cac
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 8]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 8]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519d20
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 0xc]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 0xc]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519d80
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 0x10]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 0x10]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519de0
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 0x14]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 0x14]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x519e40
mov eax, dword [ebx]
call fcn.00466b90
lea edx, [ebp - 0x18]
mov eax, dword [esi]
call fcn.004639c0
mov ecx, dword [ebp - 0x18]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
call fcn.0051946c
test eax, eax
je 0x519849
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519e9c
mov eax, dword [ebx]
call fcn.00466b90
push 0x519ef8
lea edx, [ebp - 0x20]
mov eax, dword [esi]
call fcn.004639c0
push dword [ebp - 0x20]
push 0x519f0c
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404a74
mov ecx, dword [ebp - 0x1c]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
jmp 0x5198ab
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519e9c
mov eax, dword [ebx]
call fcn.00466b90
push 0x519f0c
lea edx, [ebp - 0x28]
mov eax, dword [esi]
call fcn.004639c0
push dword [ebp - 0x28]
push 0x519f18
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404a74
mov ecx, dword [ebp - 0x24]
mov edx, 0x519d0c
mov eax, dword [ebx]
call fcn.00466d4c
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000001
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519f2c
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x519f74
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000002
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519bb8
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x519f90
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000001
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x519fb0
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x51a000
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000001
mov eax, dword [ebx]
call fcn.00466b2c
mov cl, 1
mov edx, 0x51a010
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x51a054
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a074
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.004038e4
mov dl, 1
mov eax, dword [0x46698c]
call fcn.00466a8c
mov dword [ebx], eax
mov edx, 0x80000001
mov eax, dword [ebx]
call fcn.00466b2c
mov eax, dword [ebx]
mov byte [eax + 0xc], 0
mov cl, 1
mov edx, 0x51a094
mov eax, dword [ebx]
call fcn.00466b90
mov ecx, 1
mov edx, 0x51a0d8
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a0f4
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a10c
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a12c
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a148
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a15c
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a174
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a194
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a000
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a1b4
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a1cc
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a1e8
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a200
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a214
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a224
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a238
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a250
mov eax, dword [ebx]
call fcn.00466df0
mov ecx, 1
mov edx, 0x51a260
mov eax, dword [ebx]
call fcn.00466df0
mov eax, dword [ebx]
call fcn.004038e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x519b3e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x519b60
lea eax, [ebp - 0x28]
mov edx, 0xa
call fcn.00404718
ret