Function at 0x4d0090
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x4d0098
push ebx
push esi
xor eax, eax
push ebp
push 0x4d07d7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4d07ec
call fcn.004c28a8
mov ebx, 1
jmp 0x4d06a7
mov eax, dword [0x4d8af8]
cmp byte [eax], 0
je 0x4d011f
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00471958
mov eax, dword [ebp - 4]
call fcn.00405c20
cmp eax, 0x200
jle 0x4d00fc
lea eax, [ebp - 4]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00409fa0
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00409ca4
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00405a8c
jmp 0x4d017f
lea edx, [ebp - 8]
mov eax, ebx
call fcn.0040337c
mov esi, dword [ebp - 8]
test esi, esi
je 0x4d0135
sub esi, 4
mov esi, dword [esi]
cmp esi, 0x200
jle 0x4d0153
lea eax, [ebp - 8]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004056a4
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00409f4c
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00409904
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 8]
call fcn.00405244
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00405c00
push 0x4d0814
lea edx, [ebp - 0x28]
mov eax, ebx
call fcn.0040a168
push dword [ebp - 0x28]
push 0x4d0838
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00405540
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00405c00
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.00405c2c
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
call fcn.00405434
mov eax, dword [ebp - 0x1c]
call fcn.004c28a8
mov eax, dword [ebp - 4]
mov edx, 0x4d0840
call fcn.00405d44
jne 0x4d01e8
mov eax, dword [0x4d9004]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0868
call fcn.00405d44
jne 0x4d0204
mov eax, dword [0x4d8f1c]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d087c
call fcn.00405d44
jne 0x4d0220
mov eax, dword [0x4d8ac8]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0898
call fcn.00405d44
jne 0x4d023c
mov eax, dword [0x4d8e08]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d08b8
call fcn.00405d44
jne 0x4d0260
mov eax, dword [0x4d8ab8]
mov byte [eax], 1
mov eax, dword [0x4d8b08]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d08d4
call fcn.00405d44
jne 0x4d027c
mov eax, dword [0x4d8ab8]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d08f0
call fcn.00405d44
jne 0x4d0298
mov eax, dword [0x4d8b08]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d090c
call fcn.00405d44
jne 0x4d02b4
mov eax, dword [0x4d90ac]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0924
call fcn.00405d44
jne 0x4d02d0
mov eax, dword [0x4d90f4]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d093c
call fcn.00405d44
jne 0x4d02ec
mov eax, dword [0x4d8ad4]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0964
call fcn.00405d44
jne 0x4d0308
mov eax, dword [0x4d8b60]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d097c
call fcn.00405d44
jne 0x4d0324
mov eax, dword [0x4d9078]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0994
call fcn.00405d44
jne 0x4d0340
mov eax, dword [0x4d8d04]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d09b0
call fcn.00405d44
jne 0x4d035c
mov eax, dword [0x4d8cb0]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d09cc
call fcn.00405d44
jne 0x4d0378
mov eax, dword [0x4d8ac4]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d09e4
call fcn.00405d44
jne 0x4d0394
mov eax, dword [0x4d8e9c]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d09fc
call fcn.00405d44
jne 0x4d03b0
mov eax, dword [0x4d9040]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0a20
call fcn.00405d44
jne 0x4d03cc
mov eax, dword [0x4d8dc4]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0a38
call fcn.00405d44
jne 0x4d03e8
mov eax, dword [0x4d8a74]
mov byte [eax], 1
jmp 0x4d06a6
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
mov eax, dword [ebp - 0x2c]
mov edx, 0x4d0a50
call fcn.00405d44
jne 0x4d04b2
mov eax, dword [0x4d9020]
mov byte [eax], 1
mov eax, dword [0x4d8ac8]
mov byte [eax], 1
mov eax, dword [0x4d9004]
mov byte [eax], 1
lea eax, [ebp - 4]
mov ecx, 0xd
mov edx, 1
call fcn.00405e14
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405d44
jbe 0x4d0498
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00409d3c
mov edx, dword [ebp - 0x30]
mov eax, dword [0x4d8db8]
call fcn.00405a64
mov eax, dword [0x4d8db8]
mov eax, dword [eax]
call fcn.00405c20
mov edx, dword [0x4d8db8]
mov edx, dword [edx]
cmp word [edx + eax*2 - 2], 0x5c
je 0x4d06a6
mov eax, dword [0x4d8db8]
mov edx, 0x4d0a70
call fcn.00405c2c
mov eax, dword [0x4d8db8]
jmp 0x4d06a6
lea eax, [ebp - 0x34]
call fcn.004c3410
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4d8db8]
call fcn.00405a64
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0a78
call fcn.00405d44
jne 0x4d04d6
mov eax, dword [0x4d8ac8]
mov byte [eax], 1
mov eax, dword [0x4d9004]
mov byte [eax], 1
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0a84
call fcn.00405d44
jne 0x4d04fa
mov eax, dword [0x4d8ac8]
mov byte [eax], 1
mov eax, dword [0x4d9004]
mov byte [eax], 1
jmp 0x4d06a6
lea eax, [ebp - 0x38]
push eax
mov ecx, 5
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
mov eax, dword [ebp - 0x38]
mov edx, 0x4d0a98
call fcn.00405d44
jne 0x4d0566
lea eax, [ebp - 4]
mov ecx, 6
mov edx, 1
call fcn.00405e14
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405d44
jbe 0x4d0555
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00409d3c
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4d8f14]
call fcn.00405434
mov eax, dword [0x4d8f14]
mov eax, dword [eax]
call fcn.004b2480
jmp 0x4d06a6
lea eax, [ebp - 0x40]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
mov eax, dword [ebp - 0x40]
mov edx, 0x4d0aa8
call fcn.00405d44
jne 0x4d05d2
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.00405e14
mov eax, dword [0x4d8a34]
mov byte [eax], 1
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405d44
jbe 0x4d06a6
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.00409d3c
mov edx, dword [ebp - 0x44]
mov eax, dword [0x4d8d24]
call fcn.00405a64
jmp 0x4d06a6
lea eax, [ebp - 0x48]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
mov eax, dword [ebp - 0x48]
mov edx, 0x4d0ab8
call fcn.00405d44
jne 0x4d0633
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.00405e14
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405d44
jbe 0x4d06a6
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 4]
call fcn.00409d3c
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x4d8e34]
call fcn.00405a64
jmp 0x4d06a6
lea eax, [ebp - 0x50]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405dc8
mov eax, dword [ebp - 0x50]
mov edx, 0x4d0ac8
call fcn.00405d44
jne 0x4d06a6
lea eax, [ebp - 4]
mov ecx, 9
mov edx, 1
call fcn.00405e14
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00405d44
jbe 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0ae0
call fcn.00405d44
jne 0x4d068f
mov eax, dword [0x4d90fc]
mov byte [eax], 2
jmp 0x4d06a6
mov eax, dword [ebp - 4]
mov edx, 0x4d0ae8
call fcn.00405d44
jne 0x4d06a6
mov eax, dword [0x4d90fc]
mov byte [eax], 1
inc ebx
call fcn.0040331c
cmp ebx, eax
jle 0x4d00c3
mov ecx, 0x80000001
mov edx, 0x4d0af4
mov eax, 0x4d0b2c
call fcn.004ab57c
test al, al
je 0x4d06e0
mov ecx, 0x80000001
mov edx, 0x4d0af4
mov eax, 0x4d0b2c
call fcn.004ab4f8
mov ecx, 0x80000001
mov edx, 0x4d0b4c
mov eax, 0x4d0b6c
call fcn.004ab57c
test al, al
je 0x4d0719
push 0x80000001
mov ecx, 0x4d0b4c
xor edx, edx
mov eax, 0x4d0b84
call fcn.004ab2b0
dec eax
jne 0x4d0719
mov eax, dword [0x4d8a34]
mov byte [eax], 1
mov eax, dword [0x4d90f8]
cmp dword [eax], 2
je 0x4d072b
mov eax, dword [0x4d8ad4]
mov byte [eax], 1
mov eax, dword [0x4d8c30]
cmp dword [eax], 5
jne 0x4d0759
mov eax, dword [0x4d8f38]
cmp dword [eax], 1
jge 0x4d0759
call fcn.004c3954
test al, al
jne 0x4d0759
call fcn.004c3960
test al, al
jne 0x4d0759
mov eax, dword [0x4d8ad4]
mov byte [eax], 1
mov eax, dword [0x4d8f1c]
cmp byte [eax], 0
jne 0x4d076d
mov eax, dword [0x4d8ac8]
cmp byte [eax], 0
je 0x4d077d
mov eax, dword [0x4d8b60]
mov byte [eax], 1
mov eax, dword [0x4d9078]
mov byte [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d07de
lea eax, [ebp - 0x50]
mov edx, 0xa
call fcn.00405a40
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004051d0
lea eax, [ebp - 0x20]
call fcn.00405a28
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004051d0
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00405a40
lea eax, [ebp - 8]
call fcn.004051ac
lea eax, [ebp - 4]
call fcn.00405a28
ret