Function at 0x4d2920
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x4d2928
push ebx
push esi
xor eax, eax
push ebp
push 0x4d303f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4d3054
call fcn.004c4130
mov ebx, 1
jmp 0x4d2f13
mov eax, dword [0x4dabb8]
cmp byte [eax], 0
je 0x4d29af
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00472d48
mov eax, dword [ebp - 4]
call fcn.00405b7c
cmp eax, 0x200
jle 0x4d298c
lea eax, [ebp - 4]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00409e78
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00409b7c
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.004059e8
jmp 0x4d2a0f
lea edx, [ebp - 8]
mov eax, ebx
call fcn.0040334c
mov esi, dword [ebp - 8]
test esi, esi
je 0x4d29c5
sub esi, 4
mov esi, dword [esi]
cmp esi, 0x200
jle 0x4d29e3
lea eax, [ebp - 8]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00405674
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00409e24
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004097dc
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 8]
call fcn.00405214
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00405b5c
push 0x4d307c
lea edx, [ebp - 0x28]
mov eax, ebx
call fcn.0040a1b8
push dword [ebp - 0x28]
push 0x4d30a0
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00405510
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00405b5c
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.00405b88
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
call fcn.00405404
mov eax, dword [ebp - 0x1c]
call fcn.004c4130
mov eax, dword [ebp - 4]
mov edx, 0x4d30a8
call fcn.00405ca0
jne 0x4d2a78
mov eax, dword [0x4db0bc]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d30d0
call fcn.00405ca0
jne 0x4d2a94
mov eax, dword [0x4dafd4]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d30e4
call fcn.00405ca0
jne 0x4d2ab0
mov eax, dword [0x4dab80]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3100
call fcn.00405ca0
jne 0x4d2acc
mov eax, dword [0x4daebc]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3120
call fcn.00405ca0
jne 0x4d2ae8
mov eax, dword [0x4daf40]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d313c
call fcn.00405ca0
jne 0x4d2b04
mov eax, dword [0x4dab70]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3158
call fcn.00405ca0
jne 0x4d2b20
mov eax, dword [0x4dabcc]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3174
call fcn.00405ca0
jne 0x4d2b3c
mov eax, dword [0x4db15c]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d318c
call fcn.00405ca0
jne 0x4d2b58
mov eax, dword [0x4db1a4]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d31a4
call fcn.00405ca0
jne 0x4d2b74
mov eax, dword [0x4dab8c]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d31cc
call fcn.00405ca0
jne 0x4d2b90
mov eax, dword [0x4dac20]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d31e4
call fcn.00405ca0
jne 0x4d2bac
mov eax, dword [0x4daba0]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3200
call fcn.00405ca0
jne 0x4d2bc8
mov eax, dword [0x4dadbc]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d321c
call fcn.00405ca0
jne 0x4d2be4
mov eax, dword [0x4dad68]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3238
call fcn.00405ca0
jne 0x4d2c00
mov eax, dword [0x4dab7c]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3250
call fcn.00405ca0
jne 0x4d2c1c
mov eax, dword [0x4daf54]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3268
call fcn.00405ca0
jne 0x4d2c38
mov eax, dword [0x4db0f4]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d328c
call fcn.00405ca0
jne 0x4d2c54
mov eax, dword [0x4dae7c]
mov byte [eax], 1
jmp 0x4d2f12
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
mov eax, dword [ebp - 0x2c]
mov edx, 0x4d32a4
call fcn.00405ca0
jne 0x4d2d1e
mov eax, dword [0x4db0d8]
mov byte [eax], 1
mov eax, dword [0x4dab80]
mov byte [eax], 1
mov eax, dword [0x4db0bc]
mov byte [eax], 1
lea eax, [ebp - 4]
mov ecx, 0xd
mov edx, 1
call fcn.00405d70
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405ca0
jbe 0x4d2d04
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00409c14
mov edx, dword [ebp - 0x30]
mov eax, dword [0x4dae70]
call fcn.004059c0
mov eax, dword [0x4dae70]
mov eax, dword [eax]
call fcn.00405b7c
mov edx, dword [0x4dae70]
mov edx, dword [edx]
cmp word [edx + eax*2 - 2], 0x5c
je 0x4d2f12
mov eax, dword [0x4dae70]
mov edx, 0x4d32c4
call fcn.00405b88
mov eax, dword [0x4dae70]
jmp 0x4d2f12
lea eax, [ebp - 0x34]
call fcn.004c4c98
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4dae70]
call fcn.004059c0
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d32cc
call fcn.00405ca0
jne 0x4d2d42
mov eax, dword [0x4dab80]
mov byte [eax], 1
mov eax, dword [0x4db0bc]
mov byte [eax], 1
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d32d8
call fcn.00405ca0
jne 0x4d2d66
mov eax, dword [0x4dab80]
mov byte [eax], 1
mov eax, dword [0x4db0bc]
mov byte [eax], 1
jmp 0x4d2f12
lea eax, [ebp - 0x38]
push eax
mov ecx, 5
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
mov eax, dword [ebp - 0x38]
mov edx, 0x4d32ec
call fcn.00405ca0
jne 0x4d2dd2
lea eax, [ebp - 4]
mov ecx, 6
mov edx, 1
call fcn.00405d70
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405ca0
jbe 0x4d2dc1
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00409c14
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4dafd0]
call fcn.00405404
mov eax, dword [0x4dafd0]
mov eax, dword [eax]
call fcn.004b5458
jmp 0x4d2f12
lea eax, [ebp - 0x40]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
mov eax, dword [ebp - 0x40]
mov edx, 0x4d32fc
call fcn.00405ca0
jne 0x4d2e3e
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.00405d70
mov eax, dword [0x4daaf8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405ca0
jbe 0x4d2f12
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.00409c14
mov edx, dword [ebp - 0x44]
mov eax, dword [0x4daddc]
call fcn.004059c0
jmp 0x4d2f12
lea eax, [ebp - 0x48]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
mov eax, dword [ebp - 0x48]
mov edx, 0x4d330c
call fcn.00405ca0
jne 0x4d2e9f
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.00405d70
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405ca0
jbe 0x4d2f12
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 4]
call fcn.00409c14
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x4daee8]
call fcn.004059c0
jmp 0x4d2f12
lea eax, [ebp - 0x50]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405d24
mov eax, dword [ebp - 0x50]
mov edx, 0x4d331c
call fcn.00405ca0
jne 0x4d2f12
lea eax, [ebp - 4]
mov ecx, 9
mov edx, 1
call fcn.00405d70
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405ca0
jbe 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d3334
call fcn.00405ca0
jne 0x4d2efb
mov eax, dword [0x4db1ac]
mov byte [eax], 2
jmp 0x4d2f12
mov eax, dword [ebp - 4]
mov edx, 0x4d333c
call fcn.00405ca0
jne 0x4d2f12
mov eax, dword [0x4db1ac]
mov byte [eax], 1
inc ebx
call fcn.004032ec
cmp ebx, eax
jle 0x4d2953
mov ecx, 0x80000001
mov edx, 0x4d3348
mov eax, 0x4d3380
call fcn.004ae590
test al, al
je 0x4d2f4c
mov ecx, 0x80000001
mov edx, 0x4d3348
mov eax, 0x4d3380
call fcn.004ae50c
mov ecx, 0x80000001
mov edx, 0x4d33a0
mov eax, 0x4d33c0
call fcn.004ae590
test al, al
je 0x4d2f85
push 0x80000001
mov ecx, 0x4d33a0
xor edx, edx
mov eax, 0x4d33d8
call fcn.004ae2c4
dec eax
jne 0x4d2f85
mov eax, dword [0x4daaf8]
mov byte [eax], 1
mov eax, dword [0x4daba0]
mov byte [eax], 1
mov eax, dword [0x4dab70]
mov byte [eax], 1
mov eax, dword [0x4dabcc]
mov byte [eax], 1
mov eax, dword [0x4dab8c]
mov byte [eax], 1
mov eax, dword [0x4db1a8]
cmp dword [eax], 2
je 0x4d2fb7
mov eax, dword [0x4dab8c]
mov byte [eax], 1
mov eax, dword [0x4dace8]
cmp dword [eax], 5
jne 0x4d2fe5
mov eax, dword [0x4daff0]
cmp dword [eax], 1
jge 0x4d2fe5
call fcn.004c51dc
test al, al
jne 0x4d2fe5
call fcn.004c51e8
test al, al
jne 0x4d2fe5
mov eax, dword [0x4dab8c]
mov byte [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d3046
lea eax, [ebp - 0x50]
mov edx, 0xa
call fcn.0040599c
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004051a0
lea eax, [ebp - 0x20]
call fcn.00405984
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004051a0
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0040599c
lea eax, [ebp - 8]
call fcn.0040517c
lea eax, [ebp - 4]
call fcn.00405984
ret