Function at 0x49f028
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x33
push 0
push 0
dec ecx
jne 0x49f030
push ebx
push esi
push edi
lea eax, [ebp - 0x174]
mov edx, dword [0x407ea8]
call fcn.004051e4
xor eax, eax
push ebp
push 0x49f411
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x49f3be
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x49f141
push dword fs:[eax]
mov dword fs:[eax], esp
mov cl, 1
mov dl, 1
mov eax, dword [0x49093c]
call fcn.00490a28
mov esi, eax
mov eax, esi
call fcn.00490d18
lea edx, [ebp - 0x18]
mov eax, dword [0x4a446c]
call fcn.00423140
mov eax, dword [esi + 0x10]
call fcn.00405b0c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x49f102
inc ebx
xor edi, edi
push 0x49f428
push dword [ebp - 0x18]
push 0x49f468
lea eax, [edi + edi*8]
mov edx, dword [esi + 0x10]
push dword [edx + eax*4]
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.00404aa0
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x14]
mov edx, 0x49f474
call fcn.00404a2c
mov eax, dword [ebp - 0x178]
mov edx, 7
call fcn.00426aec
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.00423204
inc edi
dec ebx
jne 0x49f0ab
push 0x49f428
push dword [ebp - 0x18]
push 0x49f494
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404aa0
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.00423204
mov eax, esi
call fcn.00491720
mov eax, esi
call fcn.00403870
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f14b
xor eax, eax
push ebp
push 0x49f1dc
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x17c]
mov eax, 0x49f4ac
call fcn.00437618
mov eax, dword [ebp - 0x17c]
mov edx, 0x19
call fcn.0045d548
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x49f4c8
mov edx, 0x49f4d8
mov eax, 0x80000001
call fcn.0043187c
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0x1c]
call fcn.0040dae0
mov edx, dword [ebp - 0x180]
lea eax, [ebp - 0x1c]
mov ecx, 0x49f524
call fcn.00404a2c
lea edx, [ebp - 0x184]
mov eax, 0x49f4ac
call fcn.00437618
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1c]
call fcn.0045d688
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f1e6
mov edx, 7
mov eax, 0x49f558
call fcn.00426aec
lea eax, [ebp - 4]
call fcn.0045bb28
lea eax, [ebp - 0x188]
mov ecx, 0x49f59c
mov edx, dword [ebp - 4]
call fcn.00404a2c
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x174]
mov edx, 0x3f
call fcn.0040964c
test eax, eax
je 0x49f237
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f3c8
lea eax, [ebp - 0x18c]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 4]
call fcn.00404a2c
mov eax, dword [ebp - 0x18c]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x10]
call fcn.004304dc
mov edx, dword [ebp - 8]
mov eax, 0x49f5ac
call fcn.00404d24
test eax, eax
jle 0x49f2ae
xor eax, eax
push ebp
push 0x49f2a4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x190]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 4]
call fcn.00404a2c
mov eax, dword [ebp - 0x190]
call fcn.004096dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f2ae
lea eax, [ebp - 0x174]
call fcn.0040969c
test eax, eax
je 0x49f237
xor eax, eax
push ebp
push 0x49f2fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 7
mov eax, 0x49f5c0
call fcn.00426aec
call fcn.0045e448
mov edx, 7
mov eax, 0x49f5e0
call fcn.00426aec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f306
xor eax, eax
push ebp
push 0x49f34e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x194]
call fcn.0044a704
lea eax, [ebp - 0x194]
mov edx, 0x49f600
call fcn.004049e8
mov edx, dword [ebp - 0x194]
mov ecx, 5
mov eax, 0x49f628
call fcn.00433580
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f358
mov edx, 7
mov eax, 0x49f640
call fcn.00426aec
mov eax, dword [0x4a43a0]
mov eax, dword [eax]
call fcn.004094a0
test al, al
je 0x49f385
mov eax, dword [0x4a43a0]
mov eax, dword [eax]
mov dl, 1
call fcn.0049ef04
mov eax, dword [0x4a43a0]
mov eax, dword [eax]
call fcn.00409aa8
mov edx, dword [0x4a4350]
mov edx, dword [edx]
lea eax, [ebp - 0x198]
mov ecx, 0x49f674
call fcn.00404a2c
mov eax, dword [ebp - 0x198]
call fcn.004096dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f3c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49f418
lea eax, [ebp - 0x198]
mov edx, 9
call fcn.00404734
lea eax, [ebp - 0x174]
mov edx, dword [0x407ea8]
call fcn.004052a8
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404734
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404734
ret