Function at 0x414cef
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x458112
mov eax, dword fs:[0]
push eax
mov eax, 0x12d4
call fcn.0042bd30
mov eax, dword [0x461070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
push edi
lea ecx, [ebp - 0x12dc]
call fcn.0042e933
mov dword [ebp - 4], edi
xor eax, eax
mov esi, 0x208
push esi
mov word [ebp - 0x430], ax
lea eax, [ebp - 0x42e]
push edi
push eax
call fcn.00427b40
add esp, 0xc
lea eax, [ebp - 0x430]
push eax
mov edi, 0x105
push edi
call fcn.0041c75a
test eax, eax
jne 0x414d83
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12dc]
call fcn.0042e991
mov eax, esi
jmp 0x41540e
lea eax, [ebp - 0x430]
push eax
push str.Unknown
call fcn.004231bc
pop ecx
pop ecx
test eax, eax
jne 0x414d9f
xor esi, esi
inc esi
jmp 0x414d6d
call fcn.00414c16
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x1298], eax
mov dword [ebp - 0x12cc], ecx
mov dword [ebp - 0x12c8], 2
mov dword [ebp - 0x12c4], eax
test eax, eax
jne 0x414dd1
mov dword [ebp - 0x12c4], 0x40e330
and dword [ebp - 0x12b6], 0
lea eax, [ebp - 0x430]
mov dword [ebp - 0x12c0], eax
mov eax, 0x454
mov word [ebp - 0x12bc], ax
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x12dc]
push 0x101e
push eax
call fcn.0042e9a1
mov eax, dword [ebp - 0x12d8]
add esp, 0xc
mov ebx, 0x40df5c
mov dword [ebp - 0x12b2], ebx
test eax, eax
je 0x414e26
mov dword [ebp - 0x12b2], eax
and dword [ebp - 0x12ba], 0
lea eax, [ebp - 0x12cc]
push eax
call dword [0x4650cc]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x1298], 0
mov dword [ebp - 0x12ac], eax
je 0x414e60
push dword [ebp - 0x1298]
call fcn.00422e5e
mov eax, dword [ebp - 0x12ac]
pop ecx
test eax, eax
je 0x4152a4
lea eax, [ebp - 0x430]
push eax
call fcn.00414b2e
cmp dword [ebp - 0x12ba], 0
jne 0x4152a4
and dword [ebp - 0x1284], 0
xor eax, eax
mov dword [ebp - 0x1280], 7
mov word [ebp - 0x1294], ax
mov byte [ebp - 4], 4
push esi
push eax
mov word [ebp - 0x640], ax
lea eax, [ebp - 0x63e]
push eax
call fcn.00427b40
xor eax, eax
push esi
push eax
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push eax
call fcn.00427b40
xor eax, eax
push esi
push eax
mov word [ebp - 0xa58], ax
lea eax, [ebp - 0xa56]
push eax
call fcn.00427b40
add esp, 0x24
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x1294]
call fcn.00410cec
lea eax, [ebp - 0x1294]
push eax
call fcn.004109b1
push 0x40e4e4
lea ecx, [ebp - 0x1294]
call fcn.004111a3
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0xa58]
push edi
push eax
call fcn.0042250d
lea eax, [ebp - 0xa58]
add esp, 0xc
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x414f33
sub eax, ecx
sar eax, 1
mov ecx, 0x104
sub ecx, eax
push ecx
push 0x40e4c8
lea eax, [ebp - 0xa58]
push eax
call fcn.0041128f
cmp dword [ebp - 0x1280], 8
mov eax, dword [ebp - 0x1294]
jae 0x414f70
lea eax, [ebp - 0x1294]
push 0x180
push eax
call fcn.00423841
cmp dword [ebp - 0x1280], 8
mov eax, dword [ebp - 0x1294]
pop ecx
pop ecx
jae 0x414f92
lea eax, [ebp - 0x1294]
push eax
push edi
lea eax, [ebp - 0x640]
push eax
push ebx
mov esi, 0x40e2a8
push esi
push 0x40e284
call fcn.0044680b
push edi
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00422575
mov eax, dword [ebp - 0x1294]
add esp, 0x24
cmp dword [ebp - 0x1280], 8
jae 0x414fd8
lea eax, [ebp - 0x1294]
push eax
lea eax, [ebp - 0x220]
push eax
push esi
push 0x40e284
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [ebp - 0x1280], 8
mov eax, dword [ebp - 0x1294]
jae 0x415001
lea eax, [ebp - 0x1294]
push eax
push edi
lea eax, [ebp - 0x640]
push eax
push ebx
push esi
push 0x40e294
call fcn.0044680b
push edi
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00422575
mov eax, dword [ebp - 0x1294]
add esp, 0x24
cmp dword [ebp - 0x1280], 8
jae 0x415042
lea eax, [ebp - 0x1294]
push eax
lea eax, [ebp - 0x220]
push eax
push esi
push 0x40e294
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
mov esi, 0x206
push esi
push eax
mov word [ebp - 0xc60], ax
lea eax, [ebp - 0xc5e]
push eax
call fcn.00427b40
xor eax, eax
push esi
mov word [ebp - 0x848], ax
xor esi, esi
lea eax, [ebp - 0x846]
push esi
push eax
call fcn.00427b40
xor eax, eax
push 0x616
mov word [ebp - 0x1278], ax
lea eax, [ebp - 0x1276]
push esi
push eax
call fcn.00427b40
add esp, 0x24
mov dword [ebp - 0x12a4], esi
mov dword [ebp - 0x12a0], esi
mov dword [ebp - 0x129c], esi
mov byte [ebp - 4], 5
cmp dword [ebp - 0x1280], 8
mov eax, dword [ebp - 0x1294]
jae 0x4150d4
lea eax, [ebp - 0x1294]
push eax
mov esi, 0x104
push esi
lea eax, [ebp - 0xc60]
push eax
push ebx
push 0x40e2b0
push 0x40e278
call fcn.0044680b
lea eax, [ebp - 0xa58]
push eax
push esi
lea eax, [ebp - 0x848]
push eax
mov eax, 0x40e2d8
push ebx
push eax
push eax
call fcn.0044680b
push 0x40e244
mov esi, 0x30c
lea eax, [ebp - 0x1278]
push esi
push eax
call fcn.0042250d
push 0x40df60
lea eax, [ebp - 0x1278]
push esi
push eax
call fcn.00422675
add esp, 0x48
lea eax, [ebp - 0xc60]
push eax
lea eax, [ebp - 0x1278]
push esi
push eax
call fcn.00422675
push 0x40df60
lea eax, [ebp - 0x1278]
push esi
push eax
call fcn.00422675
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0x1278]
push esi
push eax
call fcn.00422675
add esp, 0x24
lea eax, [ebp - 0x1278]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea esi, [ebp - 0x12a4]
call fcn.0041c6fe
test eax, eax
jne 0x4151c6
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
add eax, eax
push eax
lea eax, [ebp - 0x220]
push eax
push 1
push 0
push 0x40e228
push dword [ebp - 0x12a4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, esi
call fcn.00410952
cmp dword [ebp - 0x1280], 8
mov eax, dword [ebp - 0x1294]
jae 0x4151db
lea eax, [ebp - 0x1294]
push eax
push edi
lea eax, [ebp - 0x640]
push eax
push ebx
mov ebx, 0x40e44c
push ebx
mov esi, 0x40e454
push esi
call fcn.0044680b
lea eax, [ebp - 0x640]
add esp, 0x18
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x415202
sub eax, ecx
sar eax, 1
je 0x41524f
push edi
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00422575
mov eax, dword [ebp - 0x1294]
add esp, 0xc
cmp dword [ebp - 0x1280], 8
jae 0x41523f
lea eax, [ebp - 0x1294]
push eax
lea eax, [ebp - 0x220]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12a4]
call fcn.00410952
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x1294]
call fcn.0041103b
lea eax, [ebp - 0x430]
push eax
push 0x104
push str.Unknown
call fcn.0042250d
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12dc]
call fcn.0042e991
mov eax, dword [ebp - 0x12ac]
jmp 0x41540e
push 0
lea ecx, [ebp - 0x1288]
call fcn.0042e933
mov byte [ebp - 4], 1
mov edi, 0x4644c0
push edi
lea eax, [ebp - 0x1288]
push 0x1003
push eax
call fcn.0042e9a1
add esp, 0xc
mov esi, 0x40e330
push 0
push esi
call fcn.00422ca6
pop ecx
pop ecx
test eax, eax
jne 0x415301
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4152e7
sub eax, edx
sar eax, 1
lea esi, [esi + eax*2 + 2]
xor eax, eax
cmp ax, word [esi]
jne 0x4152d4
cmp word [esi], 0
je 0x4153aa
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x848], ax
lea eax, [ebp - 0x846]
push eax
call fcn.00427b40
push 0x104
lea eax, [ebp - 0x848]
push esi
push eax
call fcn.00422575
add esp, 0x18
xor esi, esi
push esi
lea ecx, [ebp - 0x12a8]
call fcn.0042e933
mov byte [ebp - 4], 2
call fcn.004106b5
test eax, eax
je 0x41536e
push edi
push edi
lea eax, [ebp - 0x12a8]
push 0x307d
push eax
call fcn.0042e9a1
add esp, 0x10
jmp 0x415389
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0x12a8]
push 0x1052
push eax
call fcn.0042e9a1
add esp, 0xc
mov eax, dword [ebp - 0x1284]
cmp eax, esi
jne 0x415395
mov eax, ebx
cmp dword [ebp - 0x12a4], esi
je 0x4153a3
mov ebx, dword [ebp - 0x12a4]
push 0x10
push eax
push ebx
push esi
jmp 0x4153d9
push 0x106f
lea ecx, [ebp - 0x12a8]
call fcn.0042e933
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1284]
test ecx, ecx
jne 0x4153ca
mov ecx, ebx
mov eax, dword [eax + 4]
test eax, eax
je 0x4153d3
mov ebx, eax
push 0x10
push ecx
push ebx
push 0
call dword [0x465128]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x12a8]
call fcn.0042e991
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1288]
call fcn.0042e991
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12dc]
call fcn.0042e991
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 - 0x10]
xor ecx, ebp
call fcn.004224f9
leave
ret