Function at 0x42c3ca
Capabilities:
Set registry value

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, edx
mov edx, ecx
sub esp, 0x4c
mov dword [esp + 0x28], eax
lea eax, [ecx - 1]
mov ebp, dword [esp + 0x60]
cmp eax, 2
jbe 0x42c3f1
lea eax, [ecx - 6]
cmp eax, 1
ja 0x42c4fc
mov dword [esp + 0x2c], edx
xor eax, eax
or ecx, 0xffffffff
mov edi, ebp
xor ebx, ebx
repne scasb al, byte es:[edi]
mov eax, ecx
not eax
dec eax
shr eax, 1
mov dword [esp], eax
call sym._malloc
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
xor eax, eax
or ecx, 0xffffffff
mov edi, ebp
repne scasb al, byte es:[edi]
mov eax, ecx
lea ecx, [ebx + ebx]
not eax
dec eax
cmp eax, ecx
jbe 0x42c470
mov al, byte [ebp + ebx*2]
mov dword [esp + 0x2c], edx
mov byte [esp + 0x3a], 0
mov byte [esp + 0x38], al
mov al, byte [ebp + ebx*2 + 1]
inc ebx
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov byte [esp + 0x39], al
lea eax, [esp + 0x38]
mov dword [esp], eax
call sym._strtol
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov byte [edi + ebx - 1], al
jmp 0x42c417
mov eax, dword [esp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], esi
mov dword [esp], str.RegSetValueExA____s__d__s___d_bytes__r_n
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], eax
call dbg.logEvent
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym._RegSetValueExA_24
sub esp, 0x18
test eax, eax
jne 0x42c4d3
mov eax, 0x434e55
call dbg.sendMessage
jmp 0x42c4e8
call sym._GetLastError_0
mov dword [esp], str.RegSetValueExA_failed_in_createOrUpdateRegistryValue___with_error_code__d_r_n
mov dword [esp + 4], eax
call dbg.logEvent
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._free
cmp ecx, 4
jne 0x42c553
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], ebp
call sym._strtoul
mov dword [esp + 8], 4
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], str.RegSetValueExA____s__d__d_r_n
mov dword [esp + 0x38], eax
call dbg.logEvent
lea eax, [esp + 0x38]
mov dword [esp + 0x14], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], eax
jmp 0x42c5b4
cmp ecx, 0xb
jne 0x42c5f4
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], ebp
call sym._strtoumax
mov dword [esp + 8], 0xb
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], esi
mov dword [esp], str.RegSetValueExA____s__d__d_r_n
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call dbg.logEvent
lea eax, [esp + 0x38]
mov dword [esp + 0x14], 8
mov dword [esp + 0xc], 0xb
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._RegSetValueExA_24
sub esp, 0x18
test eax, eax
jne 0x42c5df
mov eax, 0x434e55
call dbg.sendMessage
jmp 0x42c5f4
call sym._GetLastError_0
mov dword [esp], str.RegSetValueExA_failed_in_createOrUpdateRegistryValue___with_error_code__d_r_n
mov dword [esp + 4], eax
call dbg.logEvent
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret