Function at 0x409728
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x41c194]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x41d1dc]
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 0x409794
xor esi, esi
mov edx, 0x41de5c
mov ecx, esi
mov eax, dword [edx + ecx*4]
lea edi, [ebp - 0x14]
cmp eax, dword [edi + ecx*4]
push 4
pop edi
jne 0x40978f
inc ecx
cmp ecx, edi
jne 0x40977a
jmp 0x409796
xor ebx, ebx
inc ebx
jmp 0x4097b2
xor esi, esi
cmp dword [0x41d1b0], ebx
jne 0x4097b2
cmp dword [0x41d1b4], ebx
jne 0x4097b2
cmp dword [0x41d1ac], ebx
je 0x409ac5
lea eax, [ebp - 0x38]
push eax
push 0x401764
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x409ac5
cmp dword [0x41d1ac], eax
je 0x40995a
mov eax, dword [0x41dfe8]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x40179c
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41dfec]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4017b8
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41dff0]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4017d4
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff4]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4017e8
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff5]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4017fc
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff6]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401814
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff7]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x40182c
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff8]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401840
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dff9]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401860
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dffa]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401880
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [0x41dffb]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401894
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x38]
mov edx, 0x4018b8
push 0x20
push 0x41dffc
call fcn.0040965d
mov eax, dword [0x41c26c]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4018d0
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [0x41d1b4], 0
je 0x40999d
mov eax, dword [0x41d1bc]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4018e8
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41d1cc]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x4018f4
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [0x41d1b0], 0
je 0x409a46
mov ecx, dword [ebp - 0x38]
mov edx, 0x401908
push 0x28
push 0x41df20
call fcn.0040965d
mov ecx, dword [ebp - 0x38]
mov edx, 0x40191c
push 0x28
push 0x41df70
call fcn.0040965d
mov eax, dword [0x41e6b0]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401930
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41e6b8]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401948
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41e6ac]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401964
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x41e6b4]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x40197c
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test ebx, ebx
je 0x409abc
mov eax, dword [ebp - 0x14]
push edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push edi
push esi
push 0x401998
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.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 0x4019b0
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.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 0x4019c8
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.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 0x4019e4
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041b4e0
mov esp, ebp
pop ebp
ret