Function at 0x475990
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x475998
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x475c9a
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x475cb0
mov edx, 0x475cc0
mov eax, 0x80000001
call fcn.0045d454
mov edx, dword [ebp - 0xc]
lea eax, [ebx + 0x318]
call fcn.00404aec
cmp dword [ebx + 0x318], 0
jne 0x475a2d
lea eax, [ebp - 0x10]
call fcn.0045d274
mov edx, dword [ebp - 0x10]
lea eax, [ebx + 0x318]
call fcn.00404aec
cmp dword [ebx + 0x318], 0
jne 0x475a12
lea eax, [ebx + 0x318]
mov edx, 0x475cdc
call fcn.00404aec
mov eax, dword [ebx + 0x318]
push eax
mov edx, 0x475cc0
mov ecx, 0x475cb0
mov eax, 0x80000001
call fcn.0045d380
mov edx, dword [ebx + 0x30c]
lea eax, [ebp - 0x14]
mov ecx, 0x475cf0
call fcn.00404da4
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 0x475d08
mov edx, 0x475d1c
mov eax, 0x80000001
call fcn.0045d380
lea eax, [ebp - 4]
mov edx, 0x475d54
call fcn.00404b30
push dword [ebx + 0x30c]
push 0x475d9c
push 0x475db0
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404e18
mov eax, dword [ebp - 0x18]
push eax
mov ecx, 0x475dbc
mov edx, dword [ebp - 4]
mov eax, 0x80000001
call fcn.0045d380
push 0x475d08
mov ecx, 0x475dd0
mov edx, dword [ebp - 4]
mov eax, 0x80000001
call fcn.0045d380
push 0x475de4
push dword [ebx + 0x30c]
push 0x475d9c
push 0x475de4
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404e18
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, 0x475df0
mov edx, dword [ebp - 4]
mov eax, 0x80000001
call fcn.0045d380
call fcn.0040ab40
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x20]
mov eax, 0x475e08
call fcn.0040b7b8
mov eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 8]
push eax
mov edx, 0x475cc0
mov ecx, 0x475e18
mov eax, 0x80000001
call fcn.0045d454
push 0
lea eax, [ebp - 0x24]
push eax
mov edx, 0x475cc0
mov ecx, 0x475e28
mov eax, 0x80000001
call fcn.0045d454
mov edx, dword [ebp - 0x24]
lea eax, [ebx + 0x310]
call fcn.00404aec
cmp dword [ebx + 0x310], 0
jne 0x475b75
push 0
lea eax, [ebp - 0x28]
push eax
mov edx, 0x475cc0
mov ecx, 0x475e28
mov eax, 0x80000001
call fcn.0045d454
mov edx, dword [ebp - 0x28]
lea eax, [ebx + 0x310]
call fcn.00404aec
cmp dword [ebx + 0x310], 0
jne 0x475c7f
mov dword [ebx + 0x314], 1
call fcn.00402ec8
mov edi, eax
test edi, edi
jl 0x475be3
inc edi
xor esi, esi
lea edx, [ebp - 0x2c]
mov eax, esi
call fcn.00402f30
mov edx, dword [ebp - 0x2c]
mov eax, 0x475e38
call fcn.0040509c
test eax, eax
jle 0x475bdf
lea edx, [ebp - 0x34]
mov eax, esi
call fcn.00402f30
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
mov edx, 0x475e38
call fcn.0045cf88
mov edx, dword [ebp - 0x30]
lea eax, [ebx + 0x310]
call fcn.00404aec
jmp 0x475be3
inc esi
dec edi
jne 0x475b9a
cmp dword [ebx + 0x310], 0
jne 0x475bfc
lea eax, [ebx + 0x310]
mov edx, 0x475e44
call fcn.00404aec
mov eax, dword [ebx + 0x310]
push eax
mov edx, 0x475cc0
mov ecx, 0x475e28
mov eax, 0x80000001
call fcn.0045d380
push 0x475e54
push dword [ebx + 0x310]
push 0x475e94
push dword [ebx + 0x318]
push 0x475ea0
push dword [ebp - 8]
push 0x475eb4
push 0x475d08
lea eax, [ebp - 4]
mov edx, 8
call fcn.00404e18
xor eax, eax
push ebp
push 0x475c75
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x38]
mov eax, dword [ebx + 0x300]
mov edx, dword [ebp - 4]
call fcn.00472f20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x475c7f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x475ca1
lea eax, [ebp - 0x38]
mov edx, 0xe
call fcn.00404abc
ret