Function at 0x4033c4
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1124
call fcn.004192e0
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
lea eax, [ebp - 0x1120]
mov ecx, esi
mov dword [ebp - 0xc], ebx
call fcn.004032a5
cmp eax, ebx
jl 0x40380f
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x1120]
push eax
call fcn.00403139
pop ecx
pop ecx
test eax, eax
jne 0x40343e
lea eax, [ebp - 0x1120]
push eax
push str._s_Type_not_supported_n
push ebx
push dword [0xf5c984]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 4], 0x3c8
call fcn.004017c1
add esp, 0x14
mov eax, 0x80020009
jmp 0x40380f
call fcn.00403281
lea eax, [ebp - 0x1120]
mov ecx, esi
call fcn.004032a5
cmp eax, ebx
jl 0x40380f
movzx eax, word [ebp - 0xc]
sub eax, 8
je 0x40379f
sub eax, 9
je 0x4036a1
dec eax
dec eax
je 0x403576
sub eax, 0x3ff5
jne 0x4037fe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
jne 0x40348d
mov eax, str.default
push eax
lea eax, [ebp - 0x1120]
push eax
push str.Setting_Value__s_at__s_n
push 2
push dword [0xf5c984]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 4], 0x3db
call fcn.004017c1
add esp, 0x18
lea eax, [ebp - 0x1120]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 2
push eax
lea esi, [ebp - 0x120]
mov dword [ebp - 0x120], ebx
call fcn.00407455
mov esi, dword [ebp - 0x120]
cmp esi, ebx
je 0x403551
lea edi, [ebp - 0x1120]
cmp byte [ebp - 0x1120], bl
je 0x403537
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
push edi
call ebx
mov cl, byte [edi]
cmp cl, 0x5c
jne 0x403516
cmp byte [eax], 0x30
jne 0x403516
mov byte [esi], 0
push eax
inc esi
call ebx
mov edi, eax
jmp 0x403532
mov byte [esi], cl
movzx eax, byte [edi]
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x403530
inc esi
inc edi
mov al, byte [edi]
test al, al
je 0x403537
mov byte [esi], al
inc esi
inc edi
cmp byte [edi], 0
jne 0x4034fc
mov edi, dword [ebp + 0xc]
mov word [esi], 0
push dword [ebp - 0x120]
push dword [ebp + 0x10]
call fcn.00402484
mov edi, eax
jmp 0x403554
push 0xe
pop edi
lea eax, [ebp - 0x11c]
cmp dword [ebp - 0x120], eax
je 0x4037ef
lea eax, [ebp - 0x120]
call fcn.00408e01
jmp 0x4037ef
lea eax, [ebp - 0x1120]
xor esi, esi
push eax
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp - 0xc]
inc eax
push ecx
mov dword [ebp - 0xc], eax
call fcn.004015b8
pop ecx
test eax, eax
js 0x403697
mov edi, dword [ebp - 0xc]
cmp edi, 0x400
jg 0x4035bf
push edi
call fcn.004015e8
pop ecx
test al, al
je 0x4035bf
mov eax, edi
call fcn.0042a5c0
mov eax, esp
jmp 0x4035cc
mov eax, edi
lea esi, [ebp - 0x10]
call fcn.004071cb
mov esi, dword [ebp - 0x10]
push 3
shr edi, 1
push edi
lea ecx, [ebp - 0x1120]
push ecx
mov edi, eax
call fcn.00401675
xor ebx, ebx
cmp eax, ebx
je 0x403693
lea ecx, [ebp - 4]
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
cmp dword [edi], ebx
jne 0x403623
push str.m_hKey___0
push ebx
push 0x180d
push 0x433f18
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x403623
int3
push 4
lea eax, [ebp - 0x10]
push eax
push 4
push ebx
push dword [ebp + 0x10]
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
mov eax, dword [ebp + 0x10]
cmp eax, ebx
jne 0x403645
mov eax, str.default
push eax
push dword [ebp - 4]
lea eax, [ebp - 0x14]
push str.Setting_Value__d_at__s_n
push 2
push dword [0xf5c984]
mov dword [ebp - 0x14], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
push eax
mov dword [ebp - 0x10], 0x418
call fcn.004017c1
add esp, 0x18
cmp esi, ebx
je 0x4037ef
push esi
mov esi, dword [esi]
call fcn.004122f0
pop ecx
test esi, esi
jne 0x403678
jmp 0x4037ef
push esi
mov esi, dword [esi]
call fcn.004122f0
pop ecx
cmp esi, ebx
jne 0x40368a
mov eax, 0x8007000e
jmp 0x40380f
lea eax, [ebp - 0x1120]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 4], eax
test al, 1
je 0x4036e5
push str.Binary_Data_does_not_fall_on_BYTE_boundries_n
push ebx
push dword [0xf5c984]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 4], 0x420
call fcn.004017c1
add esp, 0x10
mov eax, 0x80004005
jmp 0x40380f
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
xor edi, edi
push ebx
lea esi, [ebp - 0x120]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x120], edi
call fcn.00407455
cmp dword [ebp - 0x120], edi
jne 0x40371e
lea eax, [ebp - 0x11c]
test eax, eax
je 0x4036db
mov eax, esi
call fcn.00408e01
jmp 0x4036db
push ebx
push edi
push dword [ebp - 0x120]
call fcn.00416960
add esp, 0xc
cmp dword [ebp - 4], edi
jle 0x403768
mov bl, byte [ebp + edi - 0x1120]
mov eax, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, dword [ebp - 0x120]
call fcn.004031cf
mov edx, edi
and edx, 1
shl edx, 2
push 4
pop ecx
sub ecx, edx
shl al, cl
or byte [esi], al
inc edi
cmp edi, dword [ebp - 4]
jl 0x403733
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push ebx
push dword [ebp - 0x120]
push 3
push 0
push dword [ebp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
lea eax, [ebp - 0x11c]
cmp dword [ebp - 0x120], eax
je 0x4037ef
lea eax, [ebp - 0x120]
call fcn.00408e01
jmp 0x4037ef
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1120]
push eax
push dword [ebp + 0x10]
call fcn.00402409
mov edi, eax
mov eax, str.default
cmp dword [ebp + 0x10], ebx
je 0x4037c0
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x1120]
push eax
push str.Setting_Value__s_at__s_n
push 2
push dword [0xf5c984]
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VC_atlmfcinclude_statreg.h
mov dword [ebp - 4], 0x3d6
call fcn.004017c1
add esp, 0x18
xor ebx, ebx
cmp edi, ebx
je 0x4037fe
mov eax, edi
call fcn.00401976
jmp 0x40380f
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
call fcn.004032a5
cmp eax, ebx
jl 0x40380f
xor eax, eax
lea esp, [ebp - 0x1130]
pop edi
pop esi
pop ebx
leave
ret 0x10