Function at 0x416400
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cdb06
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2464
call fcn.0059f1e0
mov eax, dword [0x651da0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], ecx
mov ecx, 0x67b09e
call fcn.0059f048
xor eax, eax
mov word [ebp - 0x2020], ax
mov dword [ebp - 0x2024], 0
mov dword [ebp - 0x2028], 0
lea eax, [ebp - 0x201c]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0041e8e0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x416480
mov eax, dword [ebp - 0x1c]
jmp 0x4169cf
lea eax, [ebp - 0x2020]
push eax
lea ecx, [ebp - 0x201c]
push ecx
call fcn.00425660
add esp, 8
test eax, eax
jne 0x4164ac
push 0x20f
mov ecx, dword [ebp - 0x18]
call fcn.0041baf0
jmp 0x4169cf
mov ecx, dword [ebp - 0x18]
call fcn.00424120
lea eax, [ebp - 0x201c]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0041e8e0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x4164d4
mov eax, dword [ebp - 0x1c]
jmp 0x4169cf
movzx eax, word [ebp - 0x2020]
mov dword [ebp - 0x2474], eax
cmp dword [ebp - 0x2474], 0x13
jg 0x416512
cmp dword [ebp - 0x2474], 0x13
je 0x4166fe
cmp dword [ebp - 0x2474], 8
je 0x416523
cmp dword [ebp - 0x2474], 0x11
je 0x4167cb
jmp 0x41698f
cmp dword [ebp - 0x2474], 0x4008
je 0x416543
jmp 0x41698f
push 1
lea eax, [ebp - 0x201c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00423bf0
mov dword [ebp - 0x2024], eax
jmp 0x41698f
lea eax, [ebp - 0x201c]
push eax
call fcn.005a7b99
add esp, 4
add eax, 2
mov dword [ebp - 0x202c], eax
push 0x104
lea ecx, [ebp - 0x2130]
call fcn.0040d070
lea ecx, [ebp - 0x2130]
call fcn.00411970
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x202c]
push eax
lea ecx, [ebp - 0x2130]
call fcn.00416a50
jmp 0x41659b
mov dword [ebp - 4], 0
jmp 0x4165ab
lea ecx, [ebp - 0x2130]
call fcn.00414f30
test eax, eax
je 0x4166dd
lea ecx, [ebp - 0x2130]
call fcn.00414f30
mov dword [ebp - 0x2134], eax
lea eax, [ebp - 0x201c]
mov dword [ebp - 0x2138], eax
mov dword [ebp - 0x202c], 0
mov eax, dword [ebp - 0x2138]
movzx ecx, word [eax]
test ecx, ecx
je 0x416698
mov eax, dword [ebp - 0x2138]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x213c], eax
mov eax, dword [ebp - 0x2138]
movzx ecx, word [eax]
cmp ecx, 0x5c
jne 0x416654
mov eax, dword [ebp - 0x213c]
movzx ecx, word [eax]
cmp ecx, 0x30
jne 0x416654
xor eax, eax
mov ecx, dword [ebp - 0x2134]
mov word [ecx], ax
mov edx, dword [ebp - 0x2134]
add edx, 2
mov dword [ebp - 0x2134], edx
mov eax, dword [ebp - 0x213c]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x2138], eax
jmp 0x416684
mov eax, dword [ebp - 0x2134]
mov ecx, dword [ebp - 0x2138]
mov dx, word [ecx]
mov word [eax], dx
mov eax, dword [ebp - 0x2134]
add eax, 2
mov dword [ebp - 0x2134], eax
mov eax, dword [ebp - 0x2138]
add eax, 2
mov dword [ebp - 0x2138], eax
mov eax, dword [ebp - 0x202c]
add eax, 1
mov dword [ebp - 0x202c], eax
jmp 0x4165e5
xor eax, eax
mov ecx, dword [ebp - 0x2134]
mov word [ecx], ax
mov eax, dword [ebp - 0x2134]
add eax, 2
mov dword [ebp - 0x2134], eax
xor eax, eax
mov ecx, dword [ebp - 0x2134]
mov word [ecx], ax
lea ecx, [ebp - 0x2130]
call fcn.00414f30
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.00423a50
mov dword [ebp - 0x2024], eax
jmp 0x4166e7
mov dword [ebp - 0x2024], 0xe
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2130]
call fcn.00414030
jmp 0x41698f
call fcn.004258f0
mov dword [ebp - 0x2148], eax
push 4
lea ecx, [ebp - 0x2154]
call fcn.0040d070
lea ecx, [ebp - 0x2154]
call fcn.00411970
mov dword [ebp - 4], 3
push 0x400
lea eax, [ebp - 0x201c]
push eax
call fcn.0041eb20
add esp, 8
mov dword [ebp - 0x2158], eax
lea eax, [ebp - 0x2140]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x2158]
push ecx
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x416789
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x246c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2154]
call fcn.004138d0
mov eax, dword [ebp - 0x246c]
jmp 0x4169cf
mov eax, dword [ebp - 0x2140]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004238c0
mov dword [ebp - 0x2024], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2154]
call fcn.004138d0
jmp 0x41698f
lea eax, [ebp - 0x201c]
push eax
call fcn.005a7b99
add esp, 4
mov dword [ebp - 0x215c], eax
mov eax, dword [ebp - 0x215c]
and eax, 1
je 0x4167f5
mov eax, 0x80004005
jmp 0x4169cf
mov eax, dword [ebp - 0x215c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2160], eax
push 0x104
lea ecx, [ebp - 0x2264]
call fcn.0040d070
lea ecx, [ebp - 0x2264]
call fcn.00411970
mov dword [ebp - 4], 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x2160]
push eax
lea ecx, [ebp - 0x2264]
call fcn.00416a10
jmp 0x416846
mov dword [ebp - 4], 4
jmp 0x416856
lea ecx, [ebp - 0x2264]
call fcn.00414f30
test eax, eax
jne 0x41688c
mov dword [ebp - 0x2470], 0x80004005
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2264]
call fcn.00414030
mov eax, dword [ebp - 0x2470]
jmp 0x4169cf
mov eax, dword [ebp - 0x2160]
push eax
push 0
lea ecx, [ebp - 0x2264]
call fcn.00414f30
push eax
call fcn.005a41c0
add esp, 0xc
mov dword [ebp - 0x2268], 0
jmp 0x4168c4
mov eax, dword [ebp - 0x2268]
add eax, 1
mov dword [ebp - 0x2268], eax
mov eax, dword [ebp - 0x2268]
cmp eax, dword [ebp - 0x215c]
jge 0x416939
lea ecx, [ebp - 0x2264]
call fcn.00414f30
mov ecx, eax
mov eax, dword [ebp - 0x2268]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [ebp - 0x2474], ecx
mov edx, dword [ebp - 0x2268]
movzx eax, word [ebp + edx*2 - 0x201c]
push eax
call fcn.00418e80
add esp, 4
movzx edx, al
mov eax, dword [ebp - 0x2268]
and eax, 1
mov ecx, 1
sub ecx, eax
shl ecx, 2
shl edx, cl
mov ecx, dword [ebp - 0x2474]
movzx eax, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x2474]
mov byte [ecx], al
jmp 0x4168b5
mov eax, dword [ebp - 0x2160]
push eax
lea ecx, [ebp - 0x2264]
call fcn.00414f30
push eax
push 3
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00414ed0
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x2024], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2264]
call fcn.00414030
jmp 0x41698f
cmp dword [ebp - 0x2024], 0
je 0x4169b3
mov dword [ebp - 0x2028], 0x204
mov eax, dword [ebp - 0x2024]
push eax
call fcn.00417d10
add esp, 4
jmp 0x4169cf
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0041e8e0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x4169cd
mov eax, dword [ebp - 0x1c]
jmp 0x4169cf
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0059f07a
mov esp, ebp
pop ebp
ret 0xc