Function at 0x411380
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x127c
call fcn.0044f600
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.004102b0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x4113ca
mov eax, dword [ebp - 0x10]
jmp 0x41191a
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x1010]
push edx
call fcn.00411a00
add esp, 8
test eax, eax
jne 0x4113f6
push 0x20f
mov ecx, dword [ebp - 0x1268]
call fcn.004101a0
jmp 0x41191a
mov ecx, dword [ebp - 0x1268]
call fcn.00410210
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x1268]
call fcn.004102b0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x411424
mov eax, dword [ebp - 0x10]
jmp 0x41191a
movzx ecx, word [ebp - 0xc]
mov dword [ebp - 0x126c], ecx
cmp dword [ebp - 0x126c], 0x13
jg 0x41145f
cmp dword [ebp - 0x126c], 0x13
je 0x411627
cmp dword [ebp - 0x126c], 8
je 0x411470
cmp dword [ebp - 0x126c], 0x11
je 0x41177a
jmp 0x4118e0
cmp dword [ebp - 0x126c], 0x4008
je 0x41148d
jmp 0x4118e0
push 1
lea edx, [ebp - 0x1010]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.00411960
mov dword [ebp - 8], eax
jmp 0x4118e0
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.0040c350
mov edx, dword [ebp - 0x111c]
push edx
lea ecx, [ebp - 0x1118]
call fcn.00412560
lea ecx, [ebp - 0x1118]
call fcn.0040bbe0
test eax, eax
je 0x411610
lea ecx, [ebp - 0x1118]
call fcn.0040bbe0
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 0x4115ea
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 0x411567
mov eax, dword [ebp - 0x1128]
movsx ecx, byte [eax]
cmp ecx, 0x30
jne 0x411567
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 0x4115d6
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 0x4115b8
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 0x4114fa
mov eax, dword [ebp - 0x1120]
mov byte [eax], 0
lea ecx, [ebp - 0x1118]
call fcn.0040bbe0
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004119a0
mov dword [ebp - 8], eax
jmp 0x411617
mov dword [ebp - 8], 0xe
lea ecx, [ebp - 0x1118]
call fcn.00412580
jmp 0x4118e0
call fcn.004047d0
mov dword [ebp - 0x1138], eax
lea ecx, [ebp - 0x1140]
call fcn.0040c350
lea edx, [ebp - 0x1010]
mov dword [ebp - 0x1130], edx
cmp dword [ebp - 0x1130], 0
jne 0x411661
mov dword [ebp - 0x1270], 0
jmp 0x411707
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 0x4116c6
mov edx, dword [ebp - 0x113c]
shl edx, 1
push edx
call fcn.0040b3f0
add esp, 4
movzx eax, al
test eax, eax
je 0x4116c6
mov eax, dword [ebp - 0x113c]
shl eax, 1
add eax, 3
and eax, 0xfffffffc
call fcn.0044f600
mov dword [ebp - 0x1274], esp
mov ecx, dword [ebp - 0x1274]
mov dword [ebp - 0x1278], ecx
jmp 0x4116e0
mov edx, dword [ebp - 0x113c]
shl edx, 1
push edx
lea ecx, [ebp - 0x1140]
call fcn.0040b850
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.004047e0
mov dword [ebp - 0x1270], eax
mov ecx, dword [ebp - 0x1270]
mov dword [ebp - 0x1134], ecx
cmp dword [ebp - 0x1134], 0
jne 0x41173c
mov dword [ebp - 0x1260], 0x8007000e
lea ecx, [ebp - 0x1140]
call fcn.0040b8c0
mov eax, dword [ebp - 0x1260]
jmp 0x41191a
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.00411930
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x1140]
call fcn.0040b8c0
jmp 0x4118e0
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 0x4117a2
mov eax, 0x80004005
jmp 0x41191a
mov eax, dword [ebp - 0x114c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1148], eax
lea ecx, [ebp - 0x1258]
call fcn.0040c350
mov edx, dword [ebp - 0x1148]
push edx
lea ecx, [ebp - 0x1258]
call fcn.00412560
lea ecx, [ebp - 0x1258]
call fcn.0040bbe0
test eax, eax
jne 0x4117ff
mov dword [ebp - 0x1264], 0x80004005
lea ecx, [ebp - 0x1258]
call fcn.00412580
mov eax, dword [ebp - 0x1264]
jmp 0x41191a
mov eax, dword [ebp - 0x1148]
push eax
push 0
lea ecx, [ebp - 0x1258]
call fcn.0040bbe0
push eax
call fcn.0044f4a0
add esp, 0xc
mov dword [ebp - 0x125c], 0
jmp 0x411837
mov ecx, dword [ebp - 0x125c]
add ecx, 1
mov dword [ebp - 0x125c], ecx
mov edx, dword [ebp - 0x125c]
cmp edx, dword [ebp - 0x114c]
jge 0x4118a8
lea ecx, [ebp - 0x1258]
call fcn.0040bbe0
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.00411ac0
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 0x411828
mov edx, dword [ebp - 0x1148]
push edx
lea ecx, [ebp - 0x1258]
call fcn.0040bbe0
push eax
push 3
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040bbe0
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x1258]
call fcn.00412580
cmp dword [ebp - 8], 0
je 0x4118fb
mov dword [ebp - 4], 0x204
mov ecx, dword [ebp - 8]
push ecx
call fcn.004111a0
add esp, 4
jmp 0x41191a
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x1268]
call fcn.004102b0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x411918
mov eax, dword [ebp - 0x10]
jmp 0x41191a
xor eax, eax
lea esp, [ebp - 0x127c]
mov esp, ebp
pop ebp
ret 0xc