Function at 0x4b8424
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x4b842c
push ecx
push ebx
xor eax, eax
push ebp
push 0x4b8a0e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4b8a28
call fcn.004c28a8
xor ebx, ebx
test ebx, ebx
jne 0x4b8840
mov eax, dword [0x4d8f20]
cmp byte [eax], 0
je 0x4b8840
push 0x80000002
lea eax, [ebp - 8]
push eax
mov ecx, dword [0x4d8f84]
mov ecx, dword [ecx]
lea eax, [ebp - 0x10]
mov edx, 0x4b8a48
call fcn.00405c8c
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
call fcn.00405434
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, 0x4b8ab8
call fcn.004ab334
push 0x80000002
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [0x4d8fc4]
mov ecx, dword [ecx]
lea eax, [ebp - 0x1c]
mov edx, 0x4b8a48
call fcn.00405c8c
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
call fcn.00405434
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
mov eax, 0x4b8ab8
call fcn.004ab334
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 8]
call fcn.00405a8c
push 0x80000002
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [0x4d8a08]
mov ecx, dword [ecx]
lea eax, [ebp - 0x28]
mov edx, 0x4b8a48
call fcn.00405c8c
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
call fcn.00405434
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
mov eax, 0x4b8ab8
call fcn.004ab334
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 8]
call fcn.00405a8c
push 0x80000002
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [0x4d8e40]
mov ecx, dword [ecx]
lea eax, [ebp - 0x34]
mov edx, 0x4b8a48
call fcn.00405c8c
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
call fcn.00405434
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 8]
mov eax, 0x4b8ab8
call fcn.004ab334
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 8]
call fcn.00405a8c
mov eax, dword [ebp - 8]
xor edx, edx
call fcn.00405d44
jbe 0x4b8840
lea eax, [ebp - 8]
mov edx, 0x4b8ad8
call fcn.00405c2c
lea eax, [ebp - 0x3c]
mov ecx, dword [ebp - 8]
mov edx, 0x4b8af0
call fcn.00405c8c
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x38]
call fcn.00405434
mov eax, dword [ebp - 0x38]
call fcn.004c28a8
mov eax, dword [ebp - 8]
call fcn.004767a8
test al, al
je 0x4b8840
lea eax, [ebp - 4]
mov edx, 0x4b8b2c
call fcn.00405a8c
lea eax, [ebp - 4]
mov edx, 0x4b8b74
call fcn.00405c2c
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 4]
mov edx, 0x4b8c14
call fcn.00405c8c
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
call fcn.00405434
mov eax, dword [ebp - 0x40]
call fcn.004c28a8
mov eax, dword [0x4d90b8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
call fcn.00405c10
push eax
mov eax, dword [ebp - 8]
call fcn.00405c10
push eax
mov eax, dword [0x4d8de4]
mov eax, dword [eax]
call eax
mov ebx, eax
mov eax, dword [0x4d90b8]
mov byte [eax], 0
test ebx, ebx
jne 0x4b869d
mov eax, 0x4b8c54
call fcn.004c28a8
mov eax, dword [0x4d8e40]
mov eax, dword [eax]
call fcn.004b4c20
test al, al
jne 0x4b8675
mov eax, dword [0x4d8a08]
mov eax, dword [eax]
call fcn.004b4c20
test al, al
jne 0x4b8675
mov eax, dword [0x4d8fc4]
mov eax, dword [eax]
call fcn.004b4c20
test al, al
jne 0x4b8675
mov eax, dword [0x4d8f84]
mov eax, dword [eax]
call fcn.004b4c20
test al, al
jne 0x4b8675
xor eax, eax
jmp 0x4b8677
mov al, 1
mov edx, dword [0x4d8b7c]
mov byte [edx], al
call fcn.004b6c68
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x68]
jmp 0x4b8840
cmp ebx, 0xbc2
jne 0x4b8840
mov eax, 0x4b8c7c
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 5
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
call fcn.004cf1b0
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x3f4]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0xdc]
push 0x4b8cb4
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.00471958
push dword [ebp - 0x48]
push 0x4b8cbc
lea eax, [ebp - 4]
mov edx, 3
call fcn.00405cfc
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b8728
lea eax, [ebp - 4]
mov edx, 0x4b8cd4
call fcn.00405c2c
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x3d4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b874e
lea eax, [ebp - 4]
mov edx, 0x4b8cf0
call fcn.00405c2c
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x464]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b8774
lea eax, [ebp - 4]
mov edx, 0x4b8d18
call fcn.00405c2c
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x504]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
jne 0x4b879a
lea eax, [ebp - 4]
mov edx, 0x4b8d34
call fcn.00405c2c
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x3cc]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b87c2
lea eax, [ebp - 4]
mov edx, 0x4b8d50
call fcn.00405c2c
jmp 0x4b87cf
lea eax, [ebp - 4]
mov edx, 0x4b8d6c
call fcn.00405c2c
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x4b87f7
lea eax, [ebp - 4]
mov edx, 0x4b8d8c
call fcn.00405c2c
jmp 0x4b8804
lea eax, [ebp - 4]
mov edx, 0x4b8da8
call fcn.00405c2c
lea eax, [ebp - 0x50]
mov ecx, dword [ebp - 4]
mov edx, 0x4b8dc8
call fcn.00405c8c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.00405434
mov eax, dword [ebp - 0x4c]
call fcn.004c28a8
push 0x80000001
push 0
mov ecx, 0x4b8e24
mov edx, dword [ebp - 4]
mov eax, 0x4b8e5c
call fcn.004ab458
test ebx, ebx
je 0x4b8940
cmp ebx, 0xbc2
je 0x4b8940
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x58]
call fcn.0040a338
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
mov edx, 0x4b8e7c
call fcn.004054c4
mov eax, dword [ebp - 0x54]
call fcn.004c28a8
mov eax, dword [0x4d8d44]
mov byte [eax], 2
cmp ebx, 0x642
je 0x4b891b
push 1
push 1
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x60]
mov eax, dword [0x4d8b54]
mov eax, dword [eax]
mov edx, 0x4b8ea8
call fcn.004731f0
mov eax, dword [ebp - 0x60]
push eax
lea edx, [ebp - 0x6c]
mov eax, ebx
call fcn.004b5458
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], 0xf
lea edx, [ebp - 0x68]
xor ecx, ecx
pop eax
call fcn.00476378
mov eax, dword [ebp - 0x5c]
or ecx, 0xffffffff
xor edx, edx
call fcn.004c0100
lea eax, [ebp - 0x74]
call fcn.004abf18
push dword [ebp - 0x74]
push 0x4b8ed4
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x7c]
call fcn.0040a338
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
call fcn.00405c00
push dword [ebp - 0x78]
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00405cfc
mov eax, dword [ebp - 0x70]
call fcn.004abaa4
mov eax, dword [0x4d8d30]
cmp dword [eax], 0
je 0x4b8940
push 0
push 0
push 0xd30
mov eax, dword [0x4d8d30]
mov eax, dword [eax]
call fcn.004564b8
push eax
call sub.user32.dll_PostMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b8a18
lea eax, [ebp - 0x7c]
call fcn.004051ac
lea eax, [ebp - 0x78]
mov edx, 4
call fcn.00405a40
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.004051d0
lea eax, [ebp - 0x50]
call fcn.00405a28
lea eax, [ebp - 0x4c]
call fcn.004051ac
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x40]
call fcn.004051ac
lea eax, [ebp - 0x3c]
call fcn.00405a28
lea eax, [ebp - 0x38]
call fcn.004051ac
lea eax, [ebp - 0x34]
call fcn.00405a28
lea eax, [ebp - 0x30]
call fcn.004051ac
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x24]
call fcn.004051ac
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0x18]
call fcn.004051ac
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 0xc]
call fcn.004051ac
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405a40
ret