Function at 0x4fb8c4
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404258
xor eax, eax
push ebp
push 0x4fbcad
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dword [ebp - 0x28], eax
mov dl, 1
mov eax, dword [0x458670]
call fcn.00458770
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [0x40fd08]
call fcn.0040308c
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4fbc6e
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 8]
mov eax, 0x4fbcc4
call fcn.00404390
test eax, eax
jle 0x4fb9c1
mov eax, dword [ebp - 8]
mov edx, 0x4fbcc4
call fcn.004041b4
jne 0x4fb969
lea eax, [ebp - 0x24]
mov edx, 0x4fbcd4
call fcn.00403ebc
jmp 0x4fb9b2
mov eax, dword [ebp - 8]
mov edx, 0x4fbd0c
call fcn.004041b4
jne 0x4fb987
lea eax, [ebp - 0x24]
mov edx, 0x4fbd1c
call fcn.00403ebc
jmp 0x4fb9b2
mov eax, dword [ebp - 8]
mov edx, 0x4fbd58
call fcn.004041b4
jne 0x4fb9a5
lea eax, [ebp - 0x24]
mov edx, 0x4fbd68
call fcn.00403ebc
jmp 0x4fb9b2
lea eax, [ebp - 0x24]
mov edx, 0x4fbda8
call fcn.00403ebc
mov edx, 0x80000001
mov eax, dword [ebp - 0xc]
call fcn.00458810
jmp 0x4fba35
mov eax, dword [ebp - 8]
mov edx, 0x4fbdec
call fcn.004041b4
jne 0x4fb9df
lea eax, [ebp - 0x24]
mov edx, 0x4fbcd4
call fcn.00403ebc
jmp 0x4fba28
mov eax, dword [ebp - 8]
mov edx, 0x4fbdfc
call fcn.004041b4
jne 0x4fb9fd
lea eax, [ebp - 0x24]
mov edx, 0x4fbd1c
call fcn.00403ebc
jmp 0x4fba28
mov eax, dword [ebp - 8]
mov edx, 0x4fbe0c
call fcn.004041b4
jne 0x4fba1b
lea eax, [ebp - 0x24]
mov edx, 0x4fbd68
call fcn.00403ebc
jmp 0x4fba28
lea eax, [ebp - 0x24]
mov edx, 0x4fbda8
call fcn.00403ebc
mov edx, 0x80000002
mov eax, dword [ebp - 0xc]
call fcn.00458810
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
call fcn.00458954
test al, al
je 0x4fbc50
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.00458e28
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4fbc48
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.00458f94
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x20c]
call fcn.004625e8
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
call fcn.004620bc
mov eax, dword [ebp - 0x1c]
call fcn.00404268
mov ebx, eax
mov eax, ebx
call fcn.00409a80
inc eax
call fcn.004027b4
mov esi, eax
mov edx, ebx
mov eax, esi
call fcn.00409ae8
cmp byte [esi], 0x22
jne 0x4fbad5
lea ebx, [esi + 1]
jmp 0x4fbad7
mov ebx, esi
mov eax, ebx
call fcn.00409ca8
mov edx, eax
lea eax, [ebp - 0x34]
call fcn.00403fdc
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004091ac
mov eax, dword [ebp - 0x30]
call fcn.00404268
mov ebx, eax
mov dl, 0x22
mov eax, ebx
call fcn.00409c30
test eax, eax
je 0x4fbb18
mov dl, 0x22
mov eax, ebx
call fcn.00409c30
mov byte [eax], 0
jmp 0x4fbb77
lea eax, [ebp - 0x38]
mov edx, ebx
call fcn.00403fdc
mov edx, dword [ebp - 0x38]
mov eax, 0x4fbe1c
call fcn.00404390
dec eax
jne 0x4fbb57
add ebx, 0xd
mov edx, 0x4fbe2c
mov eax, ebx
call fcn.00409c54
test eax, eax
je 0x4fbb77
mov edx, 0x4fbe2c
mov eax, ebx
call fcn.00409c54
mov byte [eax + 4], 0
jmp 0x4fbb77
mov edx, 0x4fbe34
mov eax, ebx
call fcn.00409c54
test eax, eax
je 0x4fbb77
mov edx, 0x4fbe34
mov eax, ebx
call fcn.00409c54
mov byte [eax + 4], 0
lea eax, [ebp - 0x3c]
mov edx, ebx
call fcn.00403fdc
mov eax, dword [ebp - 0x3c]
call fcn.004faacc
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
call fcn.0043e644
inc eax
je 0x4fbbb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e4]
call fcn.0043e6dc
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.00462260
jmp 0x4fbbc5
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.00462260
mov edx, dword [ebp - 8]
mov eax, 0x4fbe44
call fcn.00404390
test eax, eax
jle 0x4fbbec
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.00462060
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0046215c
jmp 0x4fbc01
mov dl, 1
mov eax, dword [ebp - 0x20]
call fcn.00462060
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x20]
call fcn.0046215c
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x40]
mov edx, ebx
call fcn.00403fdc
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.004027cc
inc dword [ebp - 0x14]
dec dword [ebp - 0x2c]
jne 0x4fba71
mov eax, dword [ebp - 0xc]
call fcn.004587e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4fbc75
mov eax, dword [ebp - 0x10]
call fcn.004030bc
mov eax, dword [ebp - 0xc]
call fcn.004030bc
ret