Function at 0x40fbeb
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x421148]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x422c94]
xor ebx, ebx
push edi
push 0xffffffffffffffff
mov dword [ebp - 0x30], 0x2c
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
mov edi, eax
lea eax, [ebp - 0x30]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowPlacement]
push edi
mov esi, eax
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
push 4
pop edi
test esi, esi
je 0x40fc57
xor esi, esi
mov edx, 0x421df8
mov ecx, esi
mov eax, dword [edx + ecx*4]
lea edi, [ebp - 0x14]
cmp eax, dword [edi + ecx*4]
push 4
pop edi
jne 0x40fc52
inc ecx
cmp ecx, edi
jne 0x40fc3d
jmp 0x40fc59
xor ebx, ebx
inc ebx
jmp 0x40fc7d
xor esi, esi
cmp dword [0x422a64], ebx
jne 0x40fc7d
cmp dword [0x422a68], ebx
jne 0x40fc7d
cmp dword [0x422a60], ebx
jne 0x40fc7d
cmp dword [0x422a5c], ebx
je 0x410025
lea eax, [ebp - 0x38]
push eax
push 0x401d00
push 0x80000001
call dword [sym.imp.api_ms_win_core_registry_l2_1_0.dll_RegCreateKeyW]
test eax, eax
jne 0x410025
cmp dword [0x422a60], eax
je 0x40fe25
mov eax, dword [0x421d68]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401d38
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x421d6c]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401d54
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x421d70]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401d70
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d74]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401d84
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d75]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401d98
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d76]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401db0
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d77]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401dc8
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d78]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401ddc
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d79]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401dfc
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d7a]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401e1c
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x421d7b]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401e30
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x38]
mov edx, 0x401e54
push 0x20
push 0x421d7c
call fcn.0040fa92
mov eax, dword [0x421248]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401e6c
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
cmp dword [0x422a68], 0
je 0x40fe68
mov eax, dword [0x422a78]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401e84
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x422a84]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401e90
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
cmp dword [0x422a64], 0
je 0x40ff11
mov ecx, dword [ebp - 0x38]
mov edx, 0x401ea4
push 0x28
push 0x421e08
call fcn.0040fa92
mov ecx, dword [ebp - 0x38]
mov edx, 0x401eb8
push 0x28
push 0x421e58
call fcn.0040fa92
mov eax, dword [0x421d00]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401ecc
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x421d08]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401ee4
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x421cfc]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f00
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [0x421d04]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f18
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test ebx, ebx
je 0x40ff87
mov eax, dword [ebp - 0x14]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f34
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [ebp - 0x10]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f4c
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f64
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f80
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
cmp dword [0x422a5c], 0
je 0x41001c
movzx eax, byte [0x422c9c]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401f9c
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x422c9d]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401fb0
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
movzx eax, byte [0x422c9e]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401fc8
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x38]
mov esi, 0x80
push esi
push 0x422b88
mov edx, 0x401fe0
call fcn.0040fa92
mov ecx, dword [ebp - 0x38]
mov edx, 0x401ffc
push esi
push 0x422a88
call fcn.0040fa92
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041fb30
leave
ret