Function at 0x406a93
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa80
mov dword [ebp - 0x210], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x424], 0
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax + 0x10a4]
test ecx, ecx
jne 0x406bb4
push 0
push 0
mov edx, dword [ebp + 0x10]
push edx
push 1
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401fcf
add esp, 0x18
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jge 0x406b1a
jmp 0x406e46
push 0x40d2ac
lea edx, [ebp - 0x418]
push edx
call sub.MSVCRT.dll_wcscpy
add esp, 8
push 0x40d2bc
lea eax, [ebp - 0x418]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 8
mov ecx, dword [ebp + 0x10]
add ecx, 0xa28
push ecx
lea edx, [ebp - 0x418]
push edx
call sub.MSVCRT.dll_wcscat
add esp, 8
push 0x40d2c4
lea eax, [ebp - 0x418]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 8
mov ecx, dword [ebp + 0x10]
add ecx, 0xe9c
push ecx
lea edx, [ebp - 0x418]
push edx
call sub.MSVCRT.dll_wcscat
add esp, 8
push 0x40d2c8
lea eax, [ebp - 0x418]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 8
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x418]
push edx
call sub.MSVCRT.dll_wcscat
add esp, 8
jmp 0x406bf5
push 0x40d2cc
lea eax, [ebp - 0x418]
push eax
call sub.MSVCRT.dll_wcscpy
add esp, 8
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
lea edx, [ebp - 0x418]
push edx
call sub.MSVCRT.dll_wcscat
add esp, 8
push 0x40d2e8
lea eax, [ebp - 0x418]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 8
lea ecx, [ebp - 4]
push ecx
push 0x409350
lea edx, [ebp - 0x418]
push edx
call dword [0x40f0b8]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jge 0x406c1f
jmp 0x406e44
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0xa80]
push ecx
call fcn.00403b8d
add esp, 8
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
je 0x406c52
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x210], edx
jmp 0x406e42
lea eax, [ebp - 0xa80]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0040352e
add esp, 8
mov dword [ebp - 0x420], 0xc
lea edx, [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x420]
push eax
push 0x40c3f8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 4]
push eax
call dword [edx + 0x14]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jge 0x406ca2
jmp 0x406e40
lea ecx, [ebp - 0x428]
push ecx
push 0x409190
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 4]
push ecx
call dword [eax]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jge 0x406ccd
jmp 0x406e3e
lea edx, [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x428]
push edx
call dword [ecx + 0x24]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jge 0x406cfa
jmp 0x406e3c
cmp dword [ebp - 0x41c], 0
je 0x406dd7
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
call sub.MSVCRT.dll_wcscpy
add esp, 8
mov edx, dword [ebp + 0x10]
add edx, 0x10a4
push edx
push 0x40d2ec
call sub.MSVCRT.dll_wprintf
add esp, 8
mov eax, dword [ebp + 0x10]
push eax
push 4
call fcn.00402655
add esp, 8
lea ecx, [ebp - 0x424]
push ecx
push 2
push 0
mov edx, dword [ebp + 0x10]
add edx, 0x618
push edx
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
je 0x406d85
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x210], eax
jmp 0x406e3a
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
call sub.MSVCRT.dll_wcslen
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp + 0x10]
add edx, 0x10a4
push edx
push 1
push 0
push 0x40d2f4
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
je 0x406dd7
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x210], ecx
jmp 0x406e38
cmp dword [ebp - 0x41c], 0
je 0x406ded
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x424], 0
je 0x406e03
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x428], 0
je 0x406e1e
mov ecx, dword [ebp - 0x428]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x428]
push eax
call dword [edx + 8]
cmp dword [ebp - 4], 0
je 0x406e30
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 4]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x210]
jmp 0x406e48
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
jmp 0x406dd7
mov esp, ebp
pop ebp
ret