Function at 0x404ee5
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
push 0x40e640
lea eax, [ebp - 0x18c]
push eax
call fcn.00401bc7
add esp, 8
test eax, eax
jge 0x404f0d
xor eax, eax
jmp 0x405304
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401e41
add esp, 4
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [0x40dd98]
push eax
push 0x40e64c
lea ecx, [ebp - 0x2c0]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov dword [ebp - 0x298], 0
jmp 0x404f56
mov edx, dword [ebp - 0x298]
add edx, 1
mov dword [ebp - 0x298], edx
cmp dword [ebp - 0x298], 7
jge 0x404f8d
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax]
mov edx, dword [ebp - 0x298]
imul edx, edx, 0x18
xor eax, eax
mov ax, word [edx + 0x40ee3c]
cmp ecx, eax
jne 0x404f8b
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x190], ecx
jmp 0x404f8d
jmp 0x404f47
push 0
mov edx, dword [ebp - 0x190]
push edx
lea eax, [ebp - 0x18c]
push eax
call fcn.0040608d
add esp, 0xc
lea ecx, [ebp - 0x2c0]
push ecx
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00405522
add esp, 0x10
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00404e04
add esp, 8
lea ecx, [ebp - 0x2c0]
push ecx
mov edx, dword [str.Root]
push edx
mov eax, dword [str.Enum_]
push eax
push 0x40e654
lea ecx, [ebp - 0x294]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x18c]
push ecx
call fcn.00404c9a
add esp, 0xc
mov edx, dword [str.LogConfig]
push edx
lea eax, [ebp - 0x18c]
push eax
mov ecx, dword [str.RootMoxaAsync]
push ecx
mov edx, dword [str.Enum_]
push edx
push str._s_s_s_s
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea ecx, [ebp - 0x2c4]
push ecx
lea edx, [ebp - 0x294]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
jmp 0x40508b
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0x38
jae 0x4050be
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2c8]
mov al, byte [edx + 0x40e54c]
mov byte [ebp + ecx - 0x180], al
mov ecx, dword [ebp - 0x2cc]
add ecx, 1
mov dword [ebp - 0x2cc], ecx
jmp 0x40507c
mov dword [ebp - 0x298], 0
jmp 0x4050d9
mov edx, dword [ebp - 0x298]
add edx, 1
mov dword [ebp - 0x298], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x298]
cmp ecx, dword [eax + 0x2b0]
jge 0x40513a
mov dword [ebp - 0x2c8], 0
jmp 0x405105
mov edx, dword [ebp - 0x2c8]
add edx, 1
mov dword [ebp - 0x2c8], edx
cmp dword [ebp - 0x2c8], 0x20
jae 0x405138
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2c8]
mov dl, byte [ecx + 0x40e59c]
mov byte [ebp + eax - 0x180], dl
mov eax, dword [ebp - 0x2cc]
add eax, 1
mov dword [ebp - 0x2cc], eax
jmp 0x4050f6
jmp 0x4050ca
mov dword [ebp - 0x2c8], 0
jmp 0x405155
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
cmp dword [ebp - 0x2c8], 4
jae 0x405188
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2c8]
mov cl, byte [eax + 0x419e2c]
mov byte [ebp + edx - 0x180], cl
mov edx, dword [ebp - 0x2cc]
add edx, 1
mov dword [ebp - 0x2cc], edx
jmp 0x405146
mov eax, dword [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 3
push 0
mov edx, dword [0x40de10]
push edx
mov eax, dword [ebp - 0x2c4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
jmp 0x4051d3
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
cmp dword [ebp - 0x2c8], 0x18
jae 0x405206
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2c8]
mov cl, byte [eax + 0x40e584]
mov byte [ebp + edx - 0x180], cl
mov edx, dword [ebp - 0x2cc]
add edx, 1
mov dword [ebp - 0x2cc], edx
jmp 0x4051c4
mov dword [ebp - 0x298], 0
jmp 0x405221
mov eax, dword [ebp - 0x298]
add eax, 1
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x298]
cmp edx, dword [ecx + 0x2b0]
jge 0x405282
mov dword [ebp - 0x2c8], 0
jmp 0x40524d
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0x20
jae 0x405280
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2c8]
mov al, byte [edx + 0x40e59c]
mov byte [ebp + ecx - 0x180], al
mov ecx, dword [ebp - 0x2cc]
add ecx, 1
mov dword [ebp - 0x2cc], ecx
jmp 0x40523e
jmp 0x405212
mov dword [ebp - 0x2c8], 0
jmp 0x40529d
mov edx, dword [ebp - 0x2c8]
add edx, 1
mov dword [ebp - 0x2c8], edx
cmp dword [ebp - 0x2c8], 4
jae 0x4052d0
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2c8]
mov dl, byte [ecx + 0x419e2c]
mov byte [ebp + eax - 0x180], dl
mov eax, dword [ebp - 0x2cc]
add eax, 1
mov dword [ebp - 0x2cc], eax
jmp 0x40528e
mov ecx, dword [ebp - 0x2cc]
push ecx
lea edx, [ebp - 0x180]
push edx
push 3
push 0
mov eax, dword [0x40de14]
push eax
mov ecx, dword [ebp - 0x2c4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x2c4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov esp, ebp
pop ebp
ret