Function at 0x1004582d
Capabilities:
Set registry value

Disassembly:
mov eax, 0x10087c95
call fcn.10087a98
sub esp, 0x38
mov eax, ecx
mov dword [ebp - 0x1c], eax
cmp dword [eax], 0
je 0x10045a6e
push ebx
push esi
push dword [eax]
xor ebx, ebx
push ebx
push dword [eax + 4]
call fcn.1002746a
add esp, 0xc
mov dword [ebp - 0x18], 0xc70c
xor esi, esi
mov dword [ebp - 0x14], 0xd44ad374
inc esi
lea ecx, [ebp - 0x38]
push esi
call fcn.10019b12
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], ebx
call fcn.10019b12
mov dword [ebp - 0x14], ebx
jmp 0x10045895
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0xfecafe8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10045885
mov dword [ebp - 0x14], ebx
jmp 0x100458ab
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004589f
mov eax, dword [ebp - 0x38]
cmp dword [eax], ebx
jne 0x100458be
mov edx, ebx
cmp dword [ebp - 0x18], ebx
je 0x100458c0
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
push edi
setge cl
xor eax, eax
cmp ecx, 0x9f48
setge al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x44]
mov edi, dword [eax]
xor eax, eax
mov esi, dword [ebx]
cmp edi, 1
mov ecx, esi
setl al
xor edx, edx
cmp eax, edi
lea eax, [esi - 1]
setg dl
mov dword [ebx], eax
sub ecx, edi
xor edi, edi
cmp ecx, edx
jl 0x10045909
inc edi
mov edx, edi
jmp 0x1004590c
xor edx, edx
inc edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setge cl
xor ebx, ebx
add ecx, 0x520f
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl bl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, dword [eax]
setge cl
xor ebx, ebx
mov dword [eax], ecx
mov dword [ebp - 0x14], 0xfffffff3
cmp dword [ebp - 0x14], 0xffffffea
jle 0x1004597e
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1004596b
push 0x995
push ebx
push 0x1e1c
push 0x708
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10045979
call dword [sym.imp.USER32.dll_GetMessageTime]
dec dword [ebp - 0x14]
jmp 0x10045945
lea ecx, [ebp - 0x44]
call fcn.1001a36d
lea ecx, [ebp - 0x38]
call fcn.1001a36d
mov esi, dword [ebp - 0x1c]
push dword [esi + 4]
call fcn.1006d8d2
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0xfffffff8
pop ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0xfffffff9
push 0xfffffffffffffffc
mov dword [ebp - 0x28], ebx
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0xbc07c207
mov dword [ebp - 0x18], ebx
jmp 0x100459d8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2c], 0xd526d2e8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100459ca
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100459fc
push ebx
push 0x2556
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0xfffffffffffffffc
pop ecx
dec dword [ebp - 0x1c]
mov dword [esi + 4], ebx
mov dword [ebp - 0x14], 0x38ec
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], 0x4981ff29
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], 0x7c7ab89b
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0x29b85755
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], edi
pop edi
jl 0x10045a3c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
mov dword [ebp - 0x28], edx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10045a6a
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnionRect]
mov dword [esi], ebx
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret