Function at 0x46b2b0
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x33
push 0
push 0
dec ecx
jne 0x46b2b8
push ebx
push esi
push edi
lea eax, [ebp - 0x174]
mov edx, dword [0x407758]
call fcn.0040511c
xor eax, eax
push ebp
push 0x46b699
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x46b646
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x46b3c9
push dword fs:[eax]
mov dword fs:[eax], esp
mov cl, 1
mov dl, 1
mov eax, dword [0x45cc10]
call fcn.0045ccfc
mov esi, eax
mov eax, esi
call fcn.0045cfec
lea edx, [ebp - 0x18]
mov eax, dword [0x46fd70]
call fcn.00420218
mov eax, dword [esi + 0x10]
call fcn.00405a44
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x46b38a
inc ebx
xor edi, edi
push 0x46b6b0
push dword [ebp - 0x18]
push 0x46b6f0
lea eax, [edi + edi*8]
mov edx, dword [esi + 0x10]
push dword [edx + eax*4]
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.00404a34
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x14]
mov edx, 0x46b6fc
call fcn.004049c0
mov eax, dword [ebp - 0x178]
mov edx, 7
call fcn.00423af8
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.004202dc
inc edi
dec ebx
jne 0x46b333
push 0x46b6b0
push dword [ebp - 0x18]
push 0x46b71c
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404a34
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.004202dc
mov eax, esi
call fcn.0045d9f4
mov eax, esi
call fcn.00403828
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b3d3
xor eax, eax
push ebp
push 0x46b464
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x17c]
mov eax, 0x46b734
call fcn.00434488
mov eax, dword [ebp - 0x17c]
mov edx, 0x19
call fcn.00452164
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x46b750
mov edx, 0x46b760
mov eax, 0x80000001
call fcn.0042e6ec
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0x1c]
call fcn.0040d17c
mov edx, dword [ebp - 0x180]
lea eax, [ebp - 0x1c]
mov ecx, 0x46b7ac
call fcn.004049c0
lea edx, [ebp - 0x184]
mov eax, 0x46b734
call fcn.00434488
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1c]
call fcn.004522a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b46e
mov edx, 7
mov eax, 0x46b7e0
call fcn.00423af8
lea eax, [ebp - 4]
call fcn.00450744
lea eax, [ebp - 0x188]
mov ecx, 0x46b824
mov edx, dword [ebp - 4]
call fcn.004049c0
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x174]
mov edx, 0x3f
call fcn.00408ebc
test eax, eax
je 0x46b4bf
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b650
lea eax, [ebp - 0x18c]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 4]
call fcn.004049c0
mov eax, dword [ebp - 0x18c]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x10]
call fcn.0042d34c
mov edx, dword [ebp - 8]
mov eax, 0x46b834
call fcn.00404c5c
test eax, eax
jle 0x46b536
xor eax, eax
push ebp
push 0x46b52c
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.004049c0
mov eax, dword [ebp - 0x190]
call fcn.00408f4c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b536
lea eax, [ebp - 0x174]
call fcn.00408f0c
test eax, eax
je 0x46b4bf
xor eax, eax
push ebp
push 0x46b584
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 7
mov eax, 0x46b848
call fcn.00423af8
call fcn.00453064
mov edx, 7
mov eax, 0x46b868
call fcn.00423af8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b58e
xor eax, eax
push ebp
push 0x46b5d6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x194]
call fcn.004411f0
lea eax, [ebp - 0x194]
mov edx, 0x46b888
call fcn.0040497c
mov edx, dword [ebp - 0x194]
mov ecx, 5
mov eax, 0x46b8b0
call fcn.004303f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b5e0
mov edx, 7
mov eax, 0x46b8c8
call fcn.00423af8
mov eax, dword [0x46fcdc]
mov eax, dword [eax]
call fcn.00408d10
test al, al
je 0x46b60d
mov eax, dword [0x46fcdc]
mov eax, dword [eax]
mov dl, 1
call fcn.0046b18c
mov eax, dword [0x46fcdc]
mov eax, dword [eax]
call fcn.00409318
mov edx, dword [0x46fca0]
mov edx, dword [edx]
lea eax, [ebp - 0x198]
mov ecx, 0x46b8fc
call fcn.004049c0
mov eax, dword [ebp - 0x198]
call fcn.00408f4c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b650
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b6a0
lea eax, [ebp - 0x198]
mov edx, 9
call fcn.004046c8
lea eax, [ebp - 0x174]
mov edx, dword [0x407758]
call fcn.004051e0
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004046c8
lea eax, [ebp - 8]
mov edx, 2
call fcn.004046c8
ret