Function at 0x407d9d
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov esi, ecx
call edi
mov ebx, 0x3ff
and eax, ebx
cmp ax, 1
je 0x407dcd
cmp ax, 0x1f
je 0x407dcd
mov ax, word [esi + 0x42]
cmp ax, word [esi + 0x44]
jne 0x407e3f
fld qword [esi + 0x2e0]
fcomp qword [esi + 0x308]
fnstsw ax
sahf
jne 0x407e3f
fld qword [esi + 0x2e8]
fcomp qword [esi + 0x310]
fnstsw ax
sahf
jne 0x407e3f
fld qword [esi + 0x2f0]
fcomp qword [esi + 0x318]
fnstsw ax
sahf
jne 0x407e3f
fld qword [esi + 0x2f8]
fcomp qword [esi + 0x320]
fnstsw ax
sahf
jne 0x407e3f
fld qword [esi + 0x300]
fcomp qword [esi + 0x328]
fnstsw ax
sahf
jne 0x407e3f
lea eax, [esi + 0x28cc]
push eax
lea eax, [esi + 0x27c8]
push eax
call fcn.004299e0
pop ecx
test eax, eax
pop ecx
je 0x40807d
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
xor eax, eax
push eax
push 0x20006
push eax
push eax
push eax
push dword [0x43e4a4]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x40807d
call edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
and eax, ebx
push 4
cmp ax, 1
pop ebx
je 0x407eb3
cmp ax, 0x1f
je 0x407eb3
mov ax, word [esi + 0x42]
cmp ax, word [esi + 0x44]
je 0x407eb3
movzx eax, ax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4a8]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x407eb3
mov ax, word [esi + 0x42]
mov word [esi + 0x44], ax
fld qword [esi + 0x308]
fcomp qword [esi + 0x330]
fnstsw ax
sahf
je 0x407f01
fld qword [esi + 0x308]
fmul qword [0x438460]
fadd qword [0x4383c0]
call fcn.004289f0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4b0]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x407f01
fld qword [esi + 0x308]
fstp qword [esi + 0x330]
fld qword [esi + 0x310]
fcomp qword [esi + 0x338]
fnstsw ax
sahf
je 0x407f4f
fld qword [esi + 0x310]
fmul qword [0x438460]
fadd qword [0x4383c0]
call fcn.004289f0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4b4]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x407f4f
fld qword [esi + 0x310]
fstp qword [esi + 0x338]
fld qword [esi + 0x318]
fcomp qword [esi + 0x340]
fnstsw ax
sahf
je 0x407f9d
fld qword [esi + 0x318]
fmul qword [0x438460]
fadd qword [0x4383c0]
call fcn.004289f0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4b8]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x407f9d
fld qword [esi + 0x318]
fstp qword [esi + 0x340]
fld qword [esi + 0x320]
fcomp qword [esi + 0x348]
fnstsw ax
sahf
je 0x407feb
fld qword [esi + 0x320]
fmul qword [0x438460]
fadd qword [0x4383c0]
call fcn.004289f0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4bc]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x407feb
fld qword [esi + 0x320]
fstp qword [esi + 0x348]
fld qword [esi + 0x328]
fcomp qword [esi + 0x350]
fnstsw ax
sahf
je 0x408039
fld qword [esi + 0x328]
fmul qword [0x438460]
fadd qword [0x4383c0]
call fcn.004289f0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push ebx
push eax
push ebx
push 0
push dword [0x43e4c0]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x408039
fld qword [esi + 0x328]
fstp qword [esi + 0x350]
lea ebx, [esi + 0x28cc]
add esi, 0x27c8
push ebx
push esi
call fcn.004299e0
pop ecx
test eax, eax
pop ecx
je 0x408074
push 0x104
push esi
push 1
push 0
push dword [0x43e4ac]
push dword [ebp - 8]
call edi
test eax, eax
jne 0x408074
push esi
push ebx
call fcn.00429850
pop ecx
pop ecx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
leave
ret