Function at 0x452940
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x40cc42
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x40c304]
call fcn.00452404
mov dword [ebp - 4], eax
mov edx, 0x80000001
mov eax, dword [ebp - 4]
call fcn.004524a4
xor eax, eax
push ebp
push 0x40cbde
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov edx, 0x40cc58
mov eax, dword [ebp - 4]
call fcn.00452508
mov edx, 0x40cc90
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x4529d9
lea ecx, [ebp - 8]
mov edx, 0x40cc90
mov eax, dword [ebp - 4]
call fcn.004526d0
mov eax, dword [ebp - 8]
mov edx, dword [0x40f6cc]
call fcn.004496e0
je 0x4529ec
mov ecx, dword [0x40f6cc]
mov edx, 0x40cc90
mov eax, dword [ebp - 4]
call fcn.004526a4
jmp 0x4529ec
mov ecx, dword [0x40f6cc]
mov edx, 0x40cc90
mov eax, dword [ebp - 4]
call fcn.004526a4
mov eax, dword [ebp - 4]
call fcn.00452474
xor ecx, ecx
mov edx, 0x40cca8
mov eax, dword [ebp - 4]
call fcn.00452508
mov edx, 0x40ccf0
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452a38
mov edx, 0x40ccf0
mov eax, dword [ebp - 4]
call fcn.0045275c
dec eax
je 0x452a4a
mov ecx, 1
mov edx, 0x40ccf0
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452a4a
mov ecx, 1
mov edx, 0x40ccf0
mov eax, dword [ebp - 4]
call fcn.00452748
mov eax, dword [ebp - 4]
call fcn.00452474
xor ecx, ecx
mov edx, 0x40cd08
mov eax, dword [ebp - 4]
call fcn.00452508
mov edx, 0x40cd50
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452a94
mov edx, 0x40cd50
mov eax, dword [ebp - 4]
call fcn.0045275c
test eax, eax
je 0x452aa3
xor ecx, ecx
mov edx, 0x40cd50
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452aa3
xor ecx, ecx
mov edx, 0x40cd50
mov eax, dword [ebp - 4]
call fcn.00452748
mov edx, 0x40cd60
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452ad6
mov edx, 0x40cd60
mov eax, dword [ebp - 4]
call fcn.0045275c
test eax, eax
je 0x452ae5
xor ecx, ecx
mov edx, 0x40cd60
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452ae5
xor ecx, ecx
mov edx, 0x40cd60
mov eax, dword [ebp - 4]
call fcn.00452748
mov edx, 0x40cd78
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452b1a
mov edx, 0x40cd78
mov eax, dword [ebp - 4]
call fcn.0045275c
dec eax
je 0x452b2c
mov ecx, 1
mov edx, 0x40cd78
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452b2c
mov ecx, 1
mov edx, 0x40cd78
mov eax, dword [ebp - 4]
call fcn.00452748
mov eax, dword [ebp - 4]
call fcn.00452474
xor ecx, ecx
mov edx, 0x40cd8c
mov eax, dword [ebp - 4]
call fcn.00452508
mov edx, 0x40cdd0
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452b78
mov edx, 0x40cdd0
mov eax, dword [ebp - 4]
call fcn.0045275c
dec eax
je 0x452b8a
mov ecx, 1
mov edx, 0x40cdd0
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452b8a
mov ecx, 1
mov edx, 0x40cdd0
mov eax, dword [ebp - 4]
call fcn.00452748
mov edx, 0x40cdf0
mov eax, dword [ebp - 4]
call fcn.00452868
test al, al
je 0x452bbd
mov edx, 0x40cdf0
mov eax, dword [ebp - 4]
call fcn.0045275c
test eax, eax
je 0x452bcc
xor ecx, ecx
mov edx, 0x40cdf0
mov eax, dword [ebp - 4]
call fcn.00452748
jmp 0x452bcc
xor ecx, ecx
mov edx, 0x40cdf0
mov eax, dword [ebp - 4]
call fcn.00452748
mov eax, dword [ebp - 4]
call fcn.00452474
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452be8
mov eax, dword [ebp - 4]
call fcn.00448a88
push 0xffffffffffffffff
mov eax, dword [0x40f6cc]
call fcn.00449794
push eax
lea edx, [ebp - 0xc]
xor eax, eax
call fcn.00448754
mov eax, dword [ebp - 0xc]
call fcn.00449794
push eax
call fcn.0044b788
push 7
mov eax, dword [0x40f6cc]
call fcn.00449794
push eax
call fcn.0044b898
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40cc49
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00449398
ret