Function at 0x40cbd3
Capabilities:
Delete registry value
Get common file path
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1288
call fcn.00412030
mov eax, dword [0x413004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x1284], esi
push edx
lea ecx, [ebp - 0x1278]
inc ebx
call fcn.0040eb66
push 0x403760
lea eax, [ebp - 0xe62]
push eax
push eax
lea eax, [ebp - 0x1064]
push eax
lea eax, [ebp - 0x106e]
push eax
push 0x4037f4
push 0x900
push 0
push 0
lea eax, [ebp - 0x428]
push 0x105
push eax
call fcn.00410f98
add esp, 0x2c
lea ecx, [ebp - 0x428]
call fcn.00410767
test eax, eax
jne 0x40ccaf
push 0x104
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x403760
lea eax, [ebp - 0xe62]
push eax
lea eax, [ebp - 0x848]
push eax
push 0x40376c
push 0x900
push 0
push 0
lea eax, [ebp - 0x428]
push 0x105
push eax
call fcn.00410f98
add esp, 0x24
lea ecx, [ebp - 0x428]
call fcn.00410767
test eax, eax
je 0x40cebf
push 0x20a
lea eax, [ebp - 0x638]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
push 0x104
lea eax, [ebp - 0x638]
push eax
push 0x401068
push 0x403640
push 0x4010d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
cmp ax, word [ebp - 0x638]
je 0x40cebd
lea eax, [ebp - 0x638]
push eax
push 0x403668
push 0x40344c
push 0x900
push 0
push 0
lea eax, [ebp - 0x218]
push 0x105
push eax
call fcn.00410f98
add esp, 0x20
test eax, eax
js 0x40cd48
lea edx, [ebp - 0x218]
mov ecx, 0x80000002
call fcn.004070ef
xor ebx, ebx
test eax, eax
setns bl
and ebx, 1
lea eax, [ebp - 0x638]
push eax
push 0x40377c
push 0x900
push 0
push 0
lea eax, [ebp - 0x218]
push 0x105
push eax
call fcn.00410f98
add esp, 0x1c
test eax, eax
js 0x40cd8e
lea edx, [ebp - 0x218]
mov ecx, 0x80000000
call fcn.004070ef
xor ecx, ecx
test eax, eax
setns cl
and ebx, ecx
lea eax, [ebp - 0xe62]
push eax
push 0x4036f8
push 0x40344c
push 0x900
push 0
push 0
lea eax, [ebp - 0x218]
push 0x105
push eax
call fcn.00410f98
add esp, 0x20
test eax, eax
js 0x40ce27
lea eax, [ebp - 0x127c]
push eax
push 0xf003f
push 0
lea eax, [ebp - 0x218]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40ce27
push 0x4037dc
push dword [ebp - 0x127c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
neg eax
push 0x4037bc
push dword [ebp - 0x127c]
sbb eax, eax
inc eax
and ebx, eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x127c]
neg eax
sbb eax, eax
inc eax
and ebx, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and dword [ebp - 0x127c], 0
xor eax, eax
lea ecx, [ebp - 0x848]
push esi
mov edx, 0x105
mov word [ebp - 0x848], ax
call fcn.00406b17
test eax, eax
je 0x40cebd
and dword [ebp - 0x1280], 0
lea eax, [ebp - 0x1280]
push 1
push eax
lea edx, [ebp - 0x848]
xor ecx, ecx
call fcn.004068c4
test eax, eax
je 0x40ceb1
mov esi, dword [0x4136c4]
lea edx, [ebp - 0xa58]
push 0x19
pop ecx
call fcn.00408137
test eax, eax
js 0x40ce93
mov edx, dword [ebp - 0x1284]
lea eax, [ebp - 0xa58]
push eax
push edi
mov ecx, esi
call fcn.00407604
mov ecx, dword [0x4136c4]
mov edx, edi
push 1
push dword [ebp - 0x1280]
call fcn.0040774c
xor ecx, ecx
test eax, eax
setns cl
and ebx, ecx
push dword [ebp - 0x1280]
call dword [sym.imp.cmutil.dll_CmFree]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00411980
mov esp, ebp
pop ebp
ret 4