Function at 0x64fe40
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x64fe48
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x650403
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x65041c
call fcn.0064f0e0
mov dl, 1
mov eax, dword [0x45f3cc]
call fcn.00404db8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 8]
call fcn.0062e608
push 0x2001f
mov ecx, 0x80000002
mov dl, 1
mov eax, dword [0x635d30]
call fcn.006361f0
mov dword [ebp - 0x14], eax
push 0x2011f
mov ecx, 0x80000002
mov dl, 1
mov eax, dword [0x635d30]
call fcn.006361f0
mov dword [ebp - 0x18], eax
xor edx, edx
push ebp
push 0x6503d4
push dword fs:[edx]
mov dword fs:[edx], esp
xor ecx, ecx
mov edx, 0x650434
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x64ff8b
call fcn.0062de04
cmp al, 8
jne 0x64ff0a
mov ecx, dword [0x66b368]
mov edx, 0x650454
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov ecx, dword [0x66b36c]
mov edx, 0x650478
mov eax, dword [ebp - 0x14]
call fcn.006367ec
jmp 0x64ff79
mov ecx, dword [0x66b360]
mov edx, 0x650454
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov ecx, dword [0x66b364]
mov edx, 0x650478
mov eax, dword [ebp - 0x14]
call fcn.006367ec
call fcn.0062dea8
test al, al
je 0x64ff55
mov edx, 0x65049c
mov eax, dword [ebp - 0x14]
call fcn.004732d0
mov edx, 0x6504c0
mov eax, dword [ebp - 0x14]
call fcn.004732d0
jmp 0x64ff79
mov ecx, 1
mov edx, 0x65049c
mov eax, dword [ebp - 0x14]
call fcn.00473540
mov ecx, 0x6504dc
mov edx, 0x6504c0
mov eax, dword [ebp - 0x14]
call fcn.00473498
mov ecx, 0x6504dc
mov edx, 0x6504e8
mov eax, dword [ebp - 0x14]
call fcn.00473498
mov cl, 1
mov edx, 0x6504fc
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x650035
mov ecx, 0x6504dc
mov edx, 0x650528
mov eax, dword [ebp - 0x14]
call fcn.00473498
mov ecx, 0x6504dc
mov edx, 0x650548
mov eax, dword [ebp - 0x14]
call fcn.00473498
lea eax, [ebp - 0xc]
mov edx, 0x650564
call fcn.00405e68
lea eax, [ebp - 0x10]
mov edx, 0x650574
call fcn.00405e68
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x64ffec
sub eax, 4
mov eax, dword [eax]
lea ebx, [eax + 3]
mov eax, ebx
call fcn.00403498
mov esi, eax
mov eax, dword [ebp - 0x10]
call fcn.0040627c
mov edx, eax
mov eax, esi
call fcn.0044b10c
inc eax
mov byte [eax], 0
inc eax
mov byte [eax], 0
test ebx, ebx
jns 0x65001a
call fcn.00404cb0
push ebx
push esi
push 7
push 0
mov eax, dword [ebp - 0xc]
call fcn.0040627c
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
push eax
call sub.advapi32.dll_RegSetValueExA
mov edx, 0x80000000
mov eax, dword [ebp - 0x14]
call fcn.00472f78
xor ecx, ecx
mov edx, 0x650588
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x650067
lea eax, [ebp - 4]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.006365f8
jmp 0x65006f
lea eax, [ebp - 4]
call fcn.00405dd0
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.00472f78
mov edx, 0x6505ac
mov eax, dword [ebp - 4]
call fcn.004492b8
test al, al
je 0x650132
mov cl, 1
mov edx, 0x6505c8
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6500b7
mov ecx, dword [0x66b37c]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x650650
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6500dd
mov ecx, dword [0x66b384]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x6506c8
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x650103
mov ecx, dword [0x66b38c]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x650740
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6501ca
mov ecx, dword [0x66b394]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
jmp 0x6501ca
mov cl, 1
mov edx, 0x6505c8
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x650158
mov ecx, dword [0x66b380]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x650650
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x65017e
mov ecx, dword [0x66b388]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x6506c8
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6501a4
mov ecx, dword [0x66b390]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov cl, 1
mov edx, 0x650740
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6501ca
mov ecx, dword [0x66b398]
mov edx, 0x650640
mov eax, dword [ebp - 0x14]
call fcn.006367ec
mov edx, 0x6507b8
mov eax, dword [0x77e220]
call fcn.004492b8
test al, al
jne 0x650207
mov edx, 0x6507c4
mov eax, dword [0x77e220]
call fcn.004492b8
test al, al
jne 0x650207
mov edx, 0x6507d4
mov eax, dword [0x77e220]
call fcn.004492b8
test al, al
je 0x6502e8
call fcn.0062e04c
test al, al
je 0x650244
mov edx, 0x80000002
mov eax, dword [ebp - 0x18]
call fcn.00472f78
mov cl, 1
mov edx, 0x6507e4
mov eax, dword [ebp - 0x18]
call fcn.00472fdc
test al, al
je 0x650276
mov ecx, 1
mov edx, 0x650824
mov eax, dword [ebp - 0x18]
call fcn.00473540
jmp 0x650276
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.00472f78
mov cl, 1
mov edx, 0x6507e4
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x650276
mov ecx, 1
mov edx, 0x650824
mov eax, dword [ebp - 0x14]
call fcn.00473540
call fcn.0062dea8
test al, al
je 0x6502e8
call fcn.0062e04c
test al, al
je 0x6502b9
mov edx, 0x80000002
mov eax, dword [ebp - 0x18]
call fcn.00472f78
xor ecx, ecx
mov edx, 0x65084c
mov eax, dword [ebp - 0x18]
call fcn.00472fdc
test al, al
je 0x6502e8
xor ecx, ecx
mov edx, 0x650888
mov eax, dword [ebp - 0x18]
call fcn.00473540
jmp 0x6502e8
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.00472f78
xor ecx, ecx
mov edx, 0x65084c
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x6502e8
xor ecx, ecx
mov edx, 0x650888
mov eax, dword [ebp - 0x14]
call fcn.00473540
mov edx, 0x80000003
mov eax, dword [ebp - 0x14]
call fcn.00472f78
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x65039e
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.00473358
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x65039e
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x65039e
inc ebx
xor esi, esi
push 0x6508a0
lea ecx, [ebp - 0x20]
mov edx, esi
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x20]
push 0x65084c
lea eax, [ebp - 4]
mov edx, 3
call fcn.00406180
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x65039a
lea eax, [ebp - 0x24]
mov ecx, 0x6508ac
mov edx, dword [ebp - 4]
call fcn.00406104
mov edx, dword [ebp - 0x24]
mov cl, 1
mov eax, dword [ebp - 0x14]
call fcn.00472fdc
test al, al
je 0x65039a
xor ecx, ecx
mov edx, 0x6508c0
mov eax, dword [ebp - 0x14]
call fcn.00473540
inc esi
dec ebx
jne 0x650332
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6503db
mov eax, dword [ebp - 0x14]
call fcn.00472f48
mov eax, dword [ebp - 0x18]
call fcn.00472f48
lea eax, [ebp - 0x14]
call fcn.00451f1c
lea eax, [ebp - 0x18]
call fcn.00451f1c
lea eax, [ebp - 0x1c]
call fcn.00451f1c
ret