Function at 0x411850
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x127c
call fcn.00450340
mov dword [ebp - 0x1268], ecx
mov word [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x1268]
call fcn.00410780
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x41189a
mov eax, dword [ebp - 0x10]
jmp 0x411dea
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x1010]
push edx
call fcn.00411ed0
add esp, 8
test eax, eax
jne 0x4118c6
push 0x20f
mov ecx, dword [ebp - 0x1268]
call fcn.00410670
jmp 0x411dea
mov ecx, dword [ebp - 0x1268]
call fcn.004106e0
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x1268]
call fcn.00410780
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x4118f4
mov eax, dword [ebp - 0x10]
jmp 0x411dea
movzx ecx, word [ebp - 0xc]
mov dword [ebp - 0x126c], ecx
cmp dword [ebp - 0x126c], 0x13
jg 0x41192f
cmp dword [ebp - 0x126c], 0x13
je 0x411af7
cmp dword [ebp - 0x126c], 8
je 0x411940
cmp dword [ebp - 0x126c], 0x11
je 0x411c4a
jmp 0x411db0
cmp dword [ebp - 0x126c], 0x4008
je 0x41195d
jmp 0x411db0
push 1
lea edx, [ebp - 0x1010]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.00411e30
mov dword [ebp - 8], eax
jmp 0x411db0
lea ecx, [ebp - 0x1010]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x111c], eax
lea ecx, [ebp - 0x1118]
call fcn.0040c820
mov edx, dword [ebp - 0x111c]
push edx
lea ecx, [ebp - 0x1118]
call fcn.00412a30
lea ecx, [ebp - 0x1118]
call fcn.0040c0b0
test eax, eax
je 0x411ae0
lea ecx, [ebp - 0x1118]
call fcn.0040c0b0
mov dword [ebp - 0x1120], eax
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1124], eax
mov dword [ebp - 0x111c], 0
mov ecx, dword [ebp - 0x1124]
movsx edx, byte [ecx]
test edx, edx
je 0x411aba
mov eax, dword [ebp - 0x1124]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x1128], eax
mov ecx, dword [ebp - 0x1124]
movsx edx, byte [ecx]
cmp edx, 0x5c
jne 0x411a37
mov eax, dword [ebp - 0x1128]
movsx ecx, byte [eax]
cmp ecx, 0x30
jne 0x411a37
mov edx, dword [ebp - 0x1120]
mov byte [edx], 0
mov eax, dword [ebp - 0x1120]
add eax, 1
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x1128]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x1124], eax
jmp 0x411aa6
mov edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x1124]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x1124]
mov al, byte [edx]
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x411a88
mov ecx, dword [ebp - 0x1120]
add ecx, 1
mov dword [ebp - 0x1120], ecx
mov edx, dword [ebp - 0x1124]
add edx, 1
mov dword [ebp - 0x1124], edx
mov eax, dword [ebp - 0x1120]
mov ecx, dword [ebp - 0x1124]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x1120]
add eax, 1
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x1124]
add ecx, 1
mov dword [ebp - 0x1124], ecx
mov edx, dword [ebp - 0x111c]
add edx, 1
mov dword [ebp - 0x111c], edx
jmp 0x4119ca
mov eax, dword [ebp - 0x1120]
mov byte [eax], 0
lea ecx, [ebp - 0x1118]
call fcn.0040c0b0
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00411e70
mov dword [ebp - 8], eax
jmp 0x411ae7
mov dword [ebp - 8], 0xe
lea ecx, [ebp - 0x1118]
call fcn.00412a50
jmp 0x411db0
call fcn.00404ca0
mov dword [ebp - 0x1138], eax
lea ecx, [ebp - 0x1140]
call fcn.0040c820
lea edx, [ebp - 0x1010]
mov dword [ebp - 0x1130], edx
cmp dword [ebp - 0x1130], 0
jne 0x411b31
mov dword [ebp - 0x1270], 0
jmp 0x411bd7
mov eax, dword [ebp - 0x1130]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x113c], eax
mov ecx, dword [ebp - 0x113c]
shl ecx, 1
cmp ecx, 0x400
ja 0x411b96
mov edx, dword [ebp - 0x113c]
shl edx, 1
push edx
call fcn.0040b8c0
add esp, 4
movzx eax, al
test eax, eax
je 0x411b96
mov eax, dword [ebp - 0x113c]
shl eax, 1
add eax, 3
and eax, 0xfffffffc
call fcn.00450340
mov dword [ebp - 0x1274], esp
mov ecx, dword [ebp - 0x1274]
mov dword [ebp - 0x1278], ecx
jmp 0x411bb0
mov edx, dword [ebp - 0x113c]
shl edx, 1
push edx
lea ecx, [ebp - 0x1140]
call fcn.0040bd20
mov dword [ebp - 0x1278], eax
mov eax, dword [ebp - 0x1138]
push eax
mov ecx, dword [ebp - 0x113c]
push ecx
mov edx, dword [ebp - 0x1130]
push edx
mov eax, dword [ebp - 0x1278]
push eax
call fcn.00404cb0
mov dword [ebp - 0x1270], eax
mov ecx, dword [ebp - 0x1270]
mov dword [ebp - 0x1134], ecx
cmp dword [ebp - 0x1134], 0
jne 0x411c0c
mov dword [ebp - 0x1260], 0x8007000e
lea ecx, [ebp - 0x1140]
call fcn.0040bd90
mov eax, dword [ebp - 0x1260]
jmp 0x411dea
lea edx, [ebp - 0x1144]
push edx
push 0
push 0
mov eax, dword [ebp - 0x1134]
push eax
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov ecx, dword [ebp - 0x1144]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.00411e00
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x1140]
call fcn.0040bd90
jmp 0x411db0
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x114c], eax
mov ecx, dword [ebp - 0x114c]
and ecx, 1
je 0x411c72
mov eax, 0x80004005
jmp 0x411dea
mov eax, dword [ebp - 0x114c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1148], eax
lea ecx, [ebp - 0x1258]
call fcn.0040c820
mov edx, dword [ebp - 0x1148]
push edx
lea ecx, [ebp - 0x1258]
call fcn.00412a30
lea ecx, [ebp - 0x1258]
call fcn.0040c0b0
test eax, eax
jne 0x411ccf
mov dword [ebp - 0x1264], 0x80004005
lea ecx, [ebp - 0x1258]
call fcn.00412a50
mov eax, dword [ebp - 0x1264]
jmp 0x411dea
mov eax, dword [ebp - 0x1148]
push eax
push 0
lea ecx, [ebp - 0x1258]
call fcn.0040c0b0
push eax
call fcn.00450930
add esp, 0xc
mov dword [ebp - 0x125c], 0
jmp 0x411d07
mov ecx, dword [ebp - 0x125c]
add ecx, 1
mov dword [ebp - 0x125c], ecx
mov edx, dword [ebp - 0x125c]
cmp edx, dword [ebp - 0x114c]
jge 0x411d78
lea ecx, [ebp - 0x1258]
call fcn.0040c0b0
mov ecx, eax
mov eax, dword [ebp - 0x125c]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [ebp - 0x127c], ecx
mov edx, dword [ebp - 0x125c]
mov al, byte [ebp + edx - 0x1010]
push eax
call fcn.00411f90
add esp, 4
movzx edx, al
mov eax, dword [ebp - 0x125c]
and eax, 1
mov ecx, 1
sub ecx, eax
shl ecx, 2
shl edx, cl
mov ecx, dword [ebp - 0x127c]
movzx eax, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x127c]
mov byte [ecx], al
jmp 0x411cf8
mov edx, dword [ebp - 0x1148]
push edx
lea ecx, [ebp - 0x1258]
call fcn.0040c0b0
push eax
push 3
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040c0b0
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x1258]
call fcn.00412a50
cmp dword [ebp - 8], 0
je 0x411dcb
mov dword [ebp - 4], 0x204
mov ecx, dword [ebp - 8]
push ecx
call fcn.00411670
add esp, 4
jmp 0x411dea
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x1268]
call fcn.00410780
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x411de8
mov eax, dword [ebp - 0x10]
jmp 0x411dea
xor eax, eax
lea esp, [ebp - 0x127c]
mov esp, ebp
pop ebp
ret 0xc