Function at 0x428e04
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdd0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
xor eax, eax
push ebp
push 0x4290b2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004013d0
cmp byte [ebp - 5], 0
je 0x428e64
mov ebx, 0x23
jmp 0x428e69
mov ebx, 0x1a
xor eax, eax
push ebp
push 0x428ea9
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push ebx
lea eax, [ebp - 0x216]
push eax
push 0
call fcn.00402280
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x216]
call fcn.00401400
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x428eb7
cmp byte [ebp - 0xd], 0
je 0x428ecf
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
call fcn.004026b8
test al, al
jne 0x42908c
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004013d0
xor eax, eax
push ebp
push 0x428f85
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x5ebe38]
call fcn.00403ca8
mov ebx, eax
mov dword [ebx + 0x18], 1
cmp byte [ebp - 5], 0
je 0x428f21
mov edx, 0x80000002
mov eax, ebx
call fcn.00403cb8
lea eax, [ebp - 4]
mov edx, 0x4290cc
call fcn.004013d8
jmp 0x428f3a
mov edx, 0x80000001
mov eax, ebx
call fcn.00403cb8
lea eax, [ebp - 4]
mov edx, 0x4290f8
call fcn.004013d8
mov edx, 0x429114
mov eax, ebx
call fcn.00403d00
test al, al
je 0x428f74
mov edx, 0x429114
xor ecx, ecx
mov eax, ebx
call fcn.00403cc0
test al, al
je 0x428f74
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00403ce0
mov byte [ebp - 0xd], 1
mov eax, ebx
call fcn.00403cb0
mov eax, ebx
call fcn.00401130
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x428f8f
cmp byte [ebp - 0xd], 0
je 0x428fa7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
call fcn.004026b8
test al, al
jne 0x42908c
mov eax, dword [0x5eb29c]
cmp dword [eax], 5
jg 0x429015
cmp byte [ebp - 5], 0
je 0x428fda
lea eax, [ebp - 0x21c]
call fcn.00428d7c
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0xc]
mov ecx, 0x4291a4
call fcn.00401458
jmp 0x429074
lea eax, [ebp - 0x220]
call fcn.00428d7c
push dword [ebp - 0x220]
push 0x429218
lea eax, [ebp - 0x224]
call fcn.00428d38
push dword [ebp - 0x224]
push 0x429258
mov eax, dword [ebp - 0xc]
mov edx, 4
call fcn.00401460
jmp 0x429074
cmp byte [ebp - 5], 0
je 0x42903b
lea eax, [ebp - 0x228]
call fcn.00428d7c
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0xc]
mov ecx, 0x429288
call fcn.00401458
jmp 0x429074
lea eax, [ebp - 0x22c]
call fcn.00428d7c
push dword [ebp - 0x22c]
push 0x4292b0
lea eax, [ebp - 0x230]
call fcn.00428d38
push dword [ebp - 0x230]
push 0x4292cc
mov eax, dword [ebp - 0xc]
mov edx, 4
call fcn.00401460
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
call fcn.004026b8
test al, al
jne 0x42908c
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004013d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4290b9
lea eax, [ebp - 0x230]
mov edx, 6
call fcn.004013c8
lea eax, [ebp - 4]
call fcn.004013c0
ret