Function at 0x4021cd
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x40222f
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x40222f
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0xe4], ecx
lea edx, [ebp - 0xe8]
push edx
push 0x41b15c
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp dword [ebp - 0x3c], 0xffffffff
je 0x4022c5
cmp dword [ebp - 0x40], 0xffffffff
je 0x4022c5
push 4
lea eax, [ebp - 0x3c]
push eax
push 4
push 0
push 0x41b17c
mov ecx, dword [ebp - 0xe8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 0x40]
push edx
push 4
push 0
push 0x41b184
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x38]
push ecx
push 4
push 0
push 0x41b18c
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea eax, [ebp - 0xe4]
push eax
push 4
push 0
push 0x41b194
mov ecx, dword [ebp - 0xe8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a88
push 4
push 0
push 0x41b19c
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a90
push 4
push 0
push 0x41b1a4
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a80
push 4
push 0
push 0x41b1b4
mov ecx, dword [ebp - 0xe8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a8c
push 4
push 0
push 0x41b1c4
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a84
push 4
push 0
push 0x41b1d4
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a94
push 4
push 0
push 0x41b1e4
mov ecx, dword [ebp - 0xe8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x420a98
push 4
push 0
push 0x41b1f4
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x3ed
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [0x420354]
push edx
push 0x103b
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x402401
mov dword [ebp - 0xec], 0
jmp 0x4023de
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
cmp edx, dword [0x420354]
jge 0x402401
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xec]
mov dword [ebp + eax*4 - 0xc0], ecx
jmp 0x4023cf
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x20], 2
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0xc]
push eax
push 0x1019
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4024af
mov edx, dword [ebp - 0xc]
push edx
push 0x41b200
lea eax, [ebp - 0xe0]
push eax
call fcn.0040dddb
add esp, 0xc
push 4
lea ecx, [ebp - 0x18]
push ecx
push 4
push 0
lea edx, [ebp - 0xe0]
push edx
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0xc]
push ecx
push 0x41b20c
lea edx, [ebp - 0xe0]
push edx
call fcn.0040dddb
add esp, 0xc
push 4
mov eax, dword [ebp - 0xc]
lea ecx, [ebp + eax*4 - 0xc0]
push ecx
push 4
push 0
lea edx, [ebp - 0xe0]
push edx
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x40240f
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esp, ebp
pop ebp
ret