Function at 0x455970
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x54c384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
call fcn.00437290
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x58]
push 5
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Arrow
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xd
push str.formal_select
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455a10
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455a06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45639e
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 4
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Help
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xb
push str.help_select
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455a87
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455a7d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563a3
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 0xb
xor eax, eax
mov dword [ebp - 0x48], 0
push str.AppStarting
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xb
push str.backend_run
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455afe
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455af4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563a8
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 4
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Wait
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 4
push str.busy
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455b75
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455b6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563ad
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 9
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Crosshair
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xc
push str.equal_select
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455bec
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455be2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563b2
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 5
xor eax, eax
mov dword [ebp - 0x48], 0
push str.IBeam
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xb
push str.text_select
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455c63
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455c59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563b7
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 5
xor eax, eax
mov dword [ebp - 0x48], 0
push str.NWPen
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xa
push str.hand_write
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455cda
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455cd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563bc
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 2
xor eax, eax
mov dword [ebp - 0x48], 0
push 0x50f130
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 8
push str.unenable
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455d51
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455d47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563c1
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 6
xor eax, eax
mov dword [ebp - 0x48], 0
push str.SizeNS
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0xf
push str.vertical_resize
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455dc8
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455dbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563c6
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 6
xor eax, eax
mov dword [ebp - 0x48], 0
push str.SizeWE
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0x11
push str.horizontal_resize
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455e3f
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455e35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563cb
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0x48], 0
push str.SizeNWSE
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0x10
push str.diagonal_resize1
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455eb6
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455eac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563d0
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0x48], 0
push str.SizeNESW
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 0x10
push str.diagonal_resize2
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455f2d
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455f23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563d5
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 7
xor eax, eax
mov dword [ebp - 0x48], 0
push str.SizeAll
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 4
push str.move
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x455fa4
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455f9a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563da
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 7
xor eax, eax
mov dword [ebp - 0x48], 0
push str.UpArrow
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 9
push str.candidate
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x45601b
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x456011
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563df
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 4
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Hand
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 4
push str.link
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x456092
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x456088
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563e4
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 3
xor eax, eax
mov dword [ebp - 0x48], 0
push 0x50f278
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 8
push str.location
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x456109
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4560ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563e9
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 6
xor eax, eax
mov dword [ebp - 0x48], 0
push str.Person
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc]
call fcn.00458920
push 6
push str.person
mov ecx, eax
call fcn.00403e30
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x456180
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x456176
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4563ee
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov esi, dword [ebp - 0xc]
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov eax, dword [esi]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4562d1
lea edi, [eax + 0x10]
push edi
lea ecx, [ebp - 0x40]
call fcn.00402f60
lea eax, [edi + 0x18]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402f60
xor eax, eax
mov dword [ebp - 0x48], 0
push eax
push 0x5010a0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00403e30
cmp dword [ebp - 0x2c], 8
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x58]
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], 8
cmovae ecx, dword [ebp - 0x58]
add eax, eax
push eax
push ecx
push 1
push edx
push str.Control_PanelCursors
push SysReAllocString
call ebx
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x456236
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45622c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45639e
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x456270
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x456266
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45639e
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x4562be
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4562b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45639e
push edx
push ecx
call fcn.004bdd39
add esp, 8
lea ecx, [ebp - 0x10]
call fcn.00409bc0
mov eax, dword [ebp - 0x10]
cmp eax, esi
jne 0x456196
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoW]
push 3
push 0
push 0
push 0x57
call esi
push 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push eax
push 4
push str.CursorSize
push str.SOFTWAREMicrosoftAccessibility
push SysReAllocString
call ebx
push 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x20
push eax
push 4
push str.CursorBaseSize
push str.Control_PanelCursors
push SysReAllocString
call ebx
push 3
push 0x20
push 0
push 0x2029
call esi
mov eax, dword [ebp - 0xc]
mov ebx, eax
mov edi, dword [eax + 4]
mov esi, edi
cmp byte [edi + 0xd], 0
jne 0x45636b
nop
push dword [esi + 8]
lea ecx, [ebp - 0xc]
call fcn.004589f0
mov esi, dword [esi]
lea ecx, [edi + 0x10]
call fcn.00456400
push 0x40
push edi
call fcn.004bdd39
add esp, 8
mov edi, esi
cmp byte [esi + 0xd], 0
je 0x456340
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0xc]
push 0x40
mov dword [eax], ebx
mov eax, dword [ebp - 0xc]
mov dword [eax + 8], ebx
push dword [ebp - 0xc]
mov dword [ebp - 8], 0
call fcn.004bdd39
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004bdaf8
mov esp, ebp
pop ebp
ret
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
int3