Function at 0x419ed3
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1000c
call fcn.0044ff40
mov ecx, dword [0x45e2f0]
push ebx
push esi
push edi
xor edi, edi
inc edi
push edi
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push 0x454094
call fcn.0040161c
cmp dword [ebp + 0xc], ebx
je 0x41a144
cmp dword [ebp + 8], ebx
je 0x41a144
cmp dword [ebp + 8], 0xfffffffe
je 0x41a144
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
push ebx
push 0x20006
push ebx
push 0x45282f
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x41a144
mov eax, dword [ebp + 8]
dec eax
je 0x41a0e5
dec eax
je 0x41a0b1
dec eax
je 0x419ff4
dec eax
je 0x419fd3
sub eax, 3
jne 0x41a13b
push dword [ebp + 0x18]
mov eax, 0xfffe
lea edi, [ebp - 0x1000c]
call fcn.00438a10
mov eax, edi
push eax
call sub.MSVCR71.dll_strlen
cmp eax, ebx
pop ecx
pop ecx
mov byte [ebp + eax - 0x1000b], bl
jbe 0x419f9f
cmp byte [ebp + eax - 0x1000d], 0xa
jne 0x419f9f
dec eax
mov byte [ebp + eax - 0x1000c], bl
cmp byte [ebp - 0x1000c], bl
lea ecx, [ebp - 0x1000c]
je 0x419fb9
cmp byte [ecx], 0xa
jne 0x419fb4
mov byte [ecx], bl
inc ecx
cmp byte [ecx], bl
jne 0x419fad
mov ecx, eax
add eax, 2
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea eax, [ebp - 0x1000c]
push eax
push 7
jmp 0x41a07a
mov esi, dword [ebp + 0x18]
cmp byte [esi], bl
je 0x419fe4
call fcn.00401ca2
mov dword [ebp - 8], eax
jmp 0x419fe7
mov dword [ebp - 8], ebx
push 4
lea eax, [ebp - 8]
push eax
push 4
jmp 0x41a116
push dword [ebp + 0x18]
call sub.MSVCR71.dll_strlen
pop ecx
mov dword [ebp + 8], eax
push 2
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x41a13b
xor edi, edi
xor esi, esi
cmp dword [ebp + 8], ebx
jle 0x41a070
cmp edi, 0xffff
jae 0x41a070
push 0x10
xor ecx, ecx
pop edx
mov eax, dword [ebp + 0x18]
mov al, byte [esi + eax]
cmp al, 0x30
jl 0x41a03a
cmp al, 0x39
jg 0x41a03a
movsx eax, al
sub eax, 0x30
jmp 0x41a058
cmp al, 0x41
jl 0x41a04a
cmp al, 0x46
jg 0x41a04a
movsx eax, al
sub eax, 0x37
jmp 0x41a058
cmp al, 0x61
jl 0x41a0a0
cmp al, 0x66
jg 0x41a0a0
movsx eax, al
sub eax, 0x57
imul eax, edx
add ecx, eax
inc esi
sub edx, 0xf
jns 0x41a024
mov byte [ebp + edi - 0x1000c], cl
inc edi
cmp esi, dword [ebp + 8]
jl 0x41a017
push edi
lea eax, [ebp - 0x1000c]
push eax
push 3
push ebx
push dword [ebp + 0x14]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x41a0a0
mov ecx, dword [0x45e2f0]
push 1
push ebx
push 0xffffffffffffffff
push 0x452954
call fcn.0040161c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
inc eax
jmp 0x41a146
cmp byte [0x460211], bl
je 0x41a0d4
push dword [ebp + 0x18]
mov eax, 0xffff
lea edi, [ebp - 0x1000c]
call fcn.00438a10
mov esi, edi
xor edi, edi
pop ecx
inc edi
jmp 0x41a0d7
mov esi, dword [ebp + 0x18]
push esi
call sub.MSVCR71.dll_strlen
pop ecx
inc eax
push eax
push esi
push 2
jmp 0x41a116
cmp byte [0x460211], bl
je 0x41a108
push dword [ebp + 0x18]
mov eax, 0xffff
lea edi, [ebp - 0x1000c]
call fcn.00438a10
mov esi, edi
xor edi, edi
pop ecx
inc edi
jmp 0x41a10b
mov esi, dword [ebp + 0x18]
push esi
call sub.MSVCR71.dll_strlen
pop ecx
inc eax
push eax
push esi
push edi
push ebx
push dword [ebp + 0x14]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x41a13b
mov ecx, dword [0x45e2f0]
push edi
push ebx
push 0xffffffffffffffff
push 0x452954
call fcn.0040161c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x14