Function at 0x41a100
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x45fe28
mov eax, dword fs:[0]
push eax
sub esp, 0x668
mov eax, dword [0x498f90]
xor eax, esp
mov dword [esp + 0x664], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x498f90]
xor eax, esp
push eax
lea eax, [esp + 0x67c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x68c]
mov eax, dword [esp + 0x6b4]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x684], edi
call fcn.00422350
test eax, eax
jne 0x41a1c3
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
push edi
push 0x30
push str.You_must_have_Administrator_rights_to_create_a_Host_ID._n_Log_in_as_Administator
call fcn.00438f92
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x34
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], edi
push str.Host_ID_generation_failed._Doesnt_have_admin_rights
mov byte [ecx + 4], 0
call fcn.00402040
mov ecx, esi
call fcn.0041b710
cmp dword [esp + 0x6a8], 0x10
jb 0x41a1bc
mov ecx, dword [esp + 0x694]
push ecx
call fcn.0042f7d6
add esp, 4
xor eax, eax
jmp 0x41b141
push 0x31
xor bl, bl
mov ebp, 0xf
push str.Initiating_Host_ID_generation_for_license_number
lea ecx, [esp + 0xdc]
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xf0], edi
mov byte [esp + 0xe0], bl
call fcn.00402040
lea edx, [esp + 0x160]
push edx
lea ecx, [esp + 0x694]
mov byte [esp + 0x688], 1
call fcn.0041c380
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x690], 2
call fcn.00401e50
cmp dword [esp + 0x178], 0x10
mov byte [esp + 0x684], 1
jb 0x41a248
mov eax, dword [esp + 0x164]
push eax
call fcn.0042f7d6
add esp, 4
push 0xa
push str.__lock_to
lea ecx, [esp + 0xdc]
call fcn.00401f50
mov esi, dword [esp + 0x6b0]
cmp esi, 0x10
lea ecx, [esp + 0xd4]
je 0x41a28c
cmp esi, 0x20
je 0x41a283
push 0xb
push str.unsupported
call fcn.00401f50
mov bl, 1
jmp 0x41a298
push 0x13
push str.computer__transfer_
jmp 0x41a293
push 6
push str.dongle
call fcn.00401f50
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xf8]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], edi
push edx
mov byte [ecx + 4], 0
call fcn.00401d70
mov ecx, dword [esp + 0x40]
call fcn.0041b710
test bl, bl
je 0x41a31f
mov esi, 0x10
cmp dword [esp + 0xec], esi
jb 0x41a2e6
mov eax, dword [esp + 0xd8]
push eax
call fcn.0042f7d6
add esp, 4
cmp dword [esp + 0x6a8], esi
mov dword [esp + 0xec], ebp
mov dword [esp + 0xe8], edi
mov byte [esp + 0xd8], 0
jb 0x41a315
mov ecx, dword [esp + 0x694]
push ecx
call fcn.0042f7d6
add esp, 4
mov eax, 3
jmp 0x41b141
mov ebx, 0x10
cmp dword [esp + 0xec], ebx
jb 0x41a33d
mov edx, dword [esp + 0xd8]
push edx
call fcn.0042f7d6
add esp, 4
mov dword [esp + 0xf0], edi
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x108], edi
mov byte [esp + 0xf8], 0
cmp esi, ebx
mov byte [esp + 0x684], 3
mov byte [esp + 0x17], 0
jne 0x41a794
mov ebx, dword [esp + 0x28]
push edi
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
push 0x10
sub esp, 0x20
lea edx, [esp + 0x6c4]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004028f0
call fcn.00421520
add esp, 0x34
test al, al
jne 0x41a6ee
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0xf4]
call fcn.0041b190
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push str.Generation_failed_with_error:
push ecx
mov byte [esp + 0x6ac], 4
call fcn.00406a70
mov ecx, dword [esp + 0x4c]
add esp, 0xc
call fcn.0041b710
lea ecx, [esp + 0x160]
mov byte [esp + 0x684], 3
call fcn.00401d10
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
lea edx, [esp + 0x160]
push edx
lea ecx, [esp + 0xf4]
call fcn.0041b190
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x684], 5
jb 0x41a42a
mov eax, dword [eax + 4]
jmp 0x41a42d
add eax, 4
push edi
push 0x30
push eax
call fcn.00438f92
lea ecx, [esp + 0x160]
mov byte [esp + 0x684], 3
call fcn.00401d10
sub esp, 0x20
mov eax, esp
mov dword [eax], 0xffff0095
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x18], edi
lea ecx, [esp + 0x110]
mov dword [esp + 0x38], esp
mov byte [eax + 8], 0
call fcn.0041a0d0
test al, al
jne 0x41a4a0
sub esp, 0x20
mov eax, esp
mov dword [eax], 0xffff0099
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x18], edi
lea ecx, [esp + 0x110]
mov dword [esp + 0x38], esp
mov byte [eax + 8], 0
call fcn.0041a0d0
test al, al
je 0x41aa17
push str.When_you_generate_a_Host_ID_for_dongle__nexactly_one_dongle_must_be_connected__n_nWhen_a_license_key_is_generated_later_based_on__nthe_generated_Host_ID__the_product_can_only_be__nused_with_that_dongle.
lea ecx, [esp + 0xd8]
call fcn.00402920
mov dword [esp + 0x110], edi
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x128], edi
mov byte [esp + 0x118], 0
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x1b4]
push ecx
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x28]
push eax
mov bl, 7
push 0x1e
mov byte [esp + 0x698], bl
mov dword [esp + 0x30], edi
call fcn.00420e80
add esp, 0x14
test al, al
lea ecx, [esp + 0xd4]
je 0x41a5d1
cmp dword [esp + 0x1c], edi
jne 0x41a523
push str._n_nNo_dongle_could_be_found._It_may_be_because_no_ndongle_is_connected__or_because_the_dongle_driver_ninstallation_failed._n
call fcn.00402960
jmp 0x41a655
push str._n_nThe_following_dongles_were_found:_n_n
call fcn.00402960
xor esi, esi
cmp dword [esp + 0x1c], edi
jle 0x41a655
lea esp, [esp]
mov eax, dword [esp + esi*4 + 0x5c]
sub eax, edi
lea ecx, [esp + 0xd4]
je 0x41a562
sub eax, 1
je 0x41a55b
push str.__Dongle_of_unknown_type
jmp 0x41a567
push str.__USB_dongle
jmp 0x41a567
push str.__Parallel_port_dongle
call fcn.00402960
push str.__serial_number
lea ecx, [esp + 0xd8]
call fcn.00402960
mov ecx, dword [esp + esi*4 + 0x1b0]
push ecx
lea edx, [esp + 0x13c]
push str.0x_x
push edx
call fcn.0043f254
add esp, 0xc
lea eax, [esp + 0x138]
push eax
lea ecx, [esp + 0xd8]
call fcn.00402960
push 0x463bf0
lea ecx, [esp + 0xd8]
call fcn.00402960
add esi, 1
cmp esi, dword [esp + 0x1c]
jl 0x41a540
jmp 0x41a655
push str._n_nAn_attempt_to_present_the_currently_connected
call fcn.00402960
push str._ndongles_failed_with_the_following_error_message:_n_n
lea ecx, [esp + 0xd8]
call fcn.00402960
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0x114]
call fcn.0041b190
push 0x46716c
push eax
lea edx, [esp + 0x168]
push edx
mov byte [esp + 0x690], 8
call fcn.00406be0
add esp, 0xc
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x690], 9
call fcn.00401e50
lea ecx, [esp + 0x160]
call fcn.00401d10
lea ecx, [esp + 0x138]
mov byte [esp + 0x684], bl
call fcn.00401d10
push 0x17
push str._nPlease_make_sure_that
lea ecx, [esp + 0xdc]
call fcn.00401f50
cmp dword [esp + 0x1c], 1
jle 0x41a680
push str.only
lea ecx, [esp + 0xd8]
call fcn.00402960
push 0x2a
push str.the_correct_dongle_is_nconnected_and_retry_
lea ecx, [esp + 0xdc]
call fcn.00401f50
cmp dword [esp + 0xec], 0x10
mov eax, dword [esp + 0xd8]
jae 0x41a6ab
lea eax, [esp + 0xd8]
push edi
push 0x30
push eax
call fcn.00438f92
lea ecx, [esp + 0x110]
call fcn.00401ce0
lea ecx, [esp + 0xd4]
call fcn.00401d10
lea ecx, [esp + 0xf0]
call fcn.00401ce0
lea ecx, [esp + 0x690]
call fcn.00401d10
mov eax, 2
jmp 0x41b141
mov dword [esp + 0x110], edi
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x128], edi
mov byte [esp + 0x118], 0
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x28]
push eax
push 1
mov byte [esp + 0x698], 0xa
call fcn.00420e80
add esp, 0x14
test al, al
je 0x41a74d
cmp dword [esp + 0x110], edi
jne 0x41a74d
cmp dword [esp + 0x1c], 1
jne 0x41a74d
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x110]
mov byte [esp + 0x684], 3
call fcn.00401ce0
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x694]
mov byte [esp + 0x1a], 0
mov dword [esp + 0x20], edi
call fcn.0041c380
mov esi, 0x10
cmp dword [eax + 0x18], esi
jb 0x41aa36
mov eax, dword [eax + 4]
jmp 0x41aa39
mov dword [esp + 0x138], edi
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], edi
mov byte [esp + 0x140], 0
lea ecx, [esp + 0x138]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x28]
push ecx
push 2
mov byte [esp + 0x698], 0xb
call fcn.00420e80
add esp, 0x14
test al, al
je 0x41a8bf
mov eax, dword [esp + 0x1c]
cmp eax, edi
jle 0x41a8bf
mov dword [esp + 0xec], ebp
mov dword [esp + 0xe8], edi
mov byte [esp + 0xd8], 0
cmp eax, 1
mov byte [esp + 0x684], 0xc
lea ecx, [esp + 0xd4]
jne 0x41a81f
push str.A_dongle_was_found
jmp 0x41a824
push str.Several_dongles_were_found
call fcn.004027e0
push str._on_your_computer__but_you_selected_not_to_lock_to_dongle._n_nIs_this_correct_
lea ecx, [esp + 0xd8]
call fcn.00402960
cmp dword [esp + 0x1c], 1
jle 0x41a852
push str._n_n_To_generate_a_dongled_Host_ID__you_will_have_to_remove_all_but_one._
lea ecx, [esp + 0xd8]
call fcn.00402960
cmp dword [esp + 0xec], ebx
mov eax, dword [esp + 0xd8]
jae 0x41a869
lea eax, [esp + 0xd8]
push edi
push 0x124
push eax
call fcn.00438f92
cmp eax, 6
je 0x41a8b3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.Dongle_s__found__user_decided_to_cancel
call fcn.00402920
mov ecx, dword [esp + 0x40]
call fcn.0041b710
lea ecx, [esp + 0xd4]
call fcn.00401d10
lea ecx, [esp + 0x138]
call fcn.00401ce0
jmp 0x41a6cc
lea ecx, [esp + 0xd4]
call fcn.00401d10
cmp dword [esp + 0x154], ebx
mov byte [esp + 0x684], 3
jb 0x41a8e0
mov edx, dword [esp + 0x140]
push edx
call fcn.0042f7d6
add esp, 4
mov ebx, dword [esp + 0x28]
push edi
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
push esi
sub esp, 0x20
lea edx, [esp + 0x6c4]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004028f0
call fcn.00421520
add esp, 0x34
test al, al
jne 0x41a761
sub esp, 0x20
mov eax, esp
mov dword [eax], 0xffff0099
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x18], edi
lea ecx, [esp + 0x110]
mov dword [esp + 0x38], esp
mov byte [eax + 8], 0
call fcn.0041a0d0
test al, al
je 0x41a972
push 1
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
push esi
sub esp, 0x20
lea edx, [esp + 0x6c4]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004028f0
call fcn.00421520
add esp, 0x34
cmp dword [esp + 0xf0], edi
je 0x41a761
lea eax, [esp + 0x138]
push eax
lea ecx, [esp + 0xf4]
call fcn.0041b190
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push str.Generation_failed_with_error:
push ecx
mov byte [esp + 0x6ac], 0xd
call fcn.00406a70
mov ecx, dword [esp + 0x4c]
add esp, 0xc
call fcn.0041b710
lea ecx, [esp + 0x138]
mov byte [esp + 0x684], 3
call fcn.00401d10
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
lea edx, [esp + 0x138]
push edx
lea ecx, [esp + 0xf4]
call fcn.0041b190
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x684], 0xe
jb 0x41a9ff
mov eax, dword [eax + 4]
jmp 0x41aa02
add eax, 4
push edi
push 0x30
push eax
call fcn.00438f92
lea ecx, [esp + 0x138]
call fcn.00401d10
lea ecx, [esp + 0xf0]
call fcn.00401ce0
lea ecx, [esp + 0x690]
call fcn.00401d10
xor eax, eax
jmp 0x41b141
add eax, 4
push eax
lea ecx, [esp + 0x1b4]
push str.SOFTWAREIAR_SystemsInstalled_Products_s
push ecx
call fcn.0043f254
add esp, 0xc
cmp dword [esp + 0x178], esi
jb 0x41aa68
mov edx, dword [esp + 0x164]
push edx
call fcn.0042f7d6
add esp, 4
lea eax, [esp + 0x20]
push eax
push 0xf003f
push edi
lea ecx, [esp + 0x1bc]
push ecx
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x41aabc
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x24]
push eax
push edi
push 0xf003f
push edi
push 0x462f68
push edi
lea ecx, [esp + 0x1cc]
push ecx
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x41b06d
push str.New_Host_ID:
lea ecx, [esp + 0xd8]
call fcn.00402920
push 0xffffffffffffffff
push edi
push ebx
lea ecx, [esp + 0xe0]
mov byte [esp + 0x690], 0xf
call fcn.00401e50
cmp byte [esp + 0x17], 0
je 0x41ab76
mov eax, dword [esp + 0x44]
sub eax, edi
je 0x41ab0b
sub eax, 1
je 0x41ab04
mov esi, str.UNKNOWN
jmp 0x41ab10
mov esi, 0x467010
jmp 0x41ab10
mov esi, str.PARALLEL
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x18c]
push str.0x_x
push eax
mov dword [esp + 0x28], esi
call fcn.0043f254
add esp, 0xc
push str.__dongle_type_serial:
lea ecx, [esp + 0xd8]
call fcn.00402960
push esi
lea ecx, [esp + 0xd8]
call fcn.00402960
push 0x466fe8
lea ecx, [esp + 0xd8]
call fcn.00402960
lea ecx, [esp + 0x188]
push ecx
lea ecx, [esp + 0xd8]
call fcn.00402960
mov esi, 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xf8]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], edi
push edx
mov byte [ecx + 4], 0
call fcn.00401d70
mov ecx, dword [esp + 0x40]
call fcn.0041b710
cmp dword [esp + 0xec], esi
mov byte [esp + 0x684], 3
jb 0x41abc3
mov eax, dword [esp + 0xd8]
push eax
call fcn.0042f7d6
add esp, 4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x5c]
push eax
push edi
push str.LockType
mov ebp, 0x1e
push ecx
mov dword [esp + 0x54], ebp
call ebx
test eax, eax
jne 0x41af2d
mov edi, str.COMPUTER
lea esi, [esp + 0x110]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41ac88
cmp dword [esp + 0x6b0], 0x10
jne 0x41af5a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.Last_time_Host_ID_was_generated_for_this_license_number__user_choice_was_computer__new_one_has_choice_dongle
call fcn.00402920
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.0041b710
push 0x20
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
push 0x124
push str.Last_time_or_during_installation_you_selected_to_lock_to_the_computer._n_nIs_it_correct_that_you_want_to_lock_to_a_hardware_dongle_this_time_
call fcn.00438f92
cmp eax, 6
je 0x41af37
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.User_decided_to_cancel_Host_ID_generation
call fcn.00402920
mov ecx, esi
call fcn.0041b710
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x41a6cc
mov edi, str.DONGLE
lea esi, [esp + 0x110]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41af2d
mov eax, dword [esp + 0x6b0]
cmp eax, 0x20
jne 0x41ad19
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.Last_time_Host_ID_was_generated_for_this_license_number__user_choice_was_dongle__new_one_has_choice_computer
call fcn.00402920
mov ecx, dword [esp + 0x40]
call fcn.0041b710
push 0x20
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
push 0x124
push str.Last_time_or_during_installation_you_selected_to_lock_to_a_hardware_dongle._n_nIs_it_correct_that_you_want_to_lock_to_the_computer_this_time_
call fcn.00438f92
cmp eax, 6
je 0x41af5a
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov ecx, esp
push str.User_decided_to_cancel_Host_ID_generation
call fcn.00402920
mov ecx, dword [esp + 0x40]
call fcn.0041b710
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x41a6cc
cmp eax, 0x10
jne 0x41af5a
cmp byte [esp + 0x17], dl
je 0x41af37
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x164]
push edx
lea eax, [esp + 0x60]
push eax
push 0
push str.DongleType
push ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x30], ebp
call ebx
test eax, eax
jne 0x41af37
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x54]
push ecx
push 0
push str.DongleSerial
push edx
call ebx
test eax, eax
jne 0x41af37
mov esi, dword [esp + 0x1c]
mov ecx, esi
lea eax, [esp + 0x160]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41adb1
test dl, dl
je 0x41adad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41adb1
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ad91
xor eax, eax
jmp 0x41adb6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41adf9
lea ecx, [esp + 0x188]
lea eax, [esp + 0x138]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ade8
test dl, dl
je 0x41ade4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ade8
add eax, 2
add ecx, 2
test dl, dl
jne 0x41adc8
xor eax, eax
jmp 0x41aded
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41af37
mov esi, dword [esp + 0x1c]
push str.Dongle_used_now_other_than_old_one
lea ecx, [esp + 0xd8]
call fcn.00402920
push str.Old
lea ecx, [esp + 0xd8]
mov byte [esp + 0x688], 0x10
call fcn.00402960
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0xd8]
call fcn.00402960
push 0x466fe8
lea ecx, [esp + 0xd8]
call fcn.00402960
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0xd8]
call fcn.00402960
push str.__new
lea ecx, [esp + 0xd8]
call fcn.00402960
push esi
lea ecx, [esp + 0xd8]
call fcn.00402960
push 0x466fe8
lea ecx, [esp + 0xd8]
call fcn.00402960
lea edx, [esp + 0x188]
push edx
lea ecx, [esp + 0xd8]
call fcn.00402960
sub esp, 0x1c
lea eax, [esp + 0xf0]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.004027b0
mov ecx, dword [esp + 0x40]
call fcn.0041b710
lea ecx, [esp + 0xd4]
mov byte [esp + 0x684], 3
call fcn.00401d10
lea ecx, [esp + 0x188]
push ecx
push esi
lea edx, [esp + 0x140]
push edx
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x288]
push str.The_last_time_you_generated_a_Host_ID_for_this_license_nnumber__you_also_selected_to_lock_to_dongle__but_the_ndongle_used_now_is_not_the_same_as_the_one_you_used_nlast_time__n_nLast_time:_Type__s__serial_number__s_nThis_time:_Type__s__serial_number__s_n_nDo_you_still_want_to_lock_to_the_new_dongle_this_time_
push ecx
call fcn.0043f254
add esp, 0x18
push 0x20
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
push 0x124
lea edx, [esp + 0x280]
push edx
call fcn.00438f92
cmp eax, 6
je 0x41af37
sub esp, 0x1c
mov dword [esp + 0x4c], esp
jmp 0x41acf4
cmp dword [esp + 0x6b0], 0x10
jne 0x41af5a
mov dx, word [0x462bc0]
mov al, byte [0x462bc2]
mov ecx, dword [str.DONGLE]
mov word [esp + 0x114], dx
mov byte [esp + 0x116], al
jmp 0x41af79
mov edx, dword [0x4628f0]
mov al, byte [0x4628f4]
mov ecx, dword [str.COMPUTER]
mov dword [esp + 0x114], edx
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x28]
mov edi, 0x10
cmp dword [eax + 0x18], edi
mov dword [esp + 0x110], ecx
mov ecx, dword [eax + 0x14]
jb 0x41af96
mov eax, dword [eax + 4]
jmp 0x41af99
add eax, 4
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push ecx
mov ecx, dword [esp + 0x24]
push eax
push 1
push 0
push str.HostID
push ecx
call esi
test eax, eax
jne 0x41b068
lea eax, [esp + 0x110]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41afc3
sub eax, edx
push eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x114]
push edx
push 1
push 0
push str.LockType
push eax
call esi
test eax, eax
jne 0x41b068
cmp dword [esp + 0x6b0], edi
jne 0x41b169
cmp byte [esp + 0x17], al
je 0x41b09d
mov edi, dword [esp + 0x1c]
mov eax, edi
lea edx, [eax + 1]
jmp 0x41b010
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41b010
mov ecx, dword [esp + 0x20]
sub eax, edx
push eax
push edi
push 1
push 0
push str.DongleType
push ecx
call esi
test eax, eax
jne 0x41b068
lea eax, [esp + 0x188]
lea edx, [eax + 1]
jmp 0x41b040
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41b040
sub eax, edx
push eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x18c]
push edx
push 1
push 0
push str.DongleSerial
push eax
call esi
test eax, eax
je 0x41b0bb
xor edi, edi
lea ebp, [edi + 0xf]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.Failed_to_write_Host_ID_info_to_registry
mov byte [esp + 0x36], 1
call fcn.00402920
mov ecx, dword [esp + 0x40]
call fcn.0041b710
push edi
push 0x30
push str.Warning:_Failed_to_update_registration_information
call fcn.00438f92
jmp 0x41b0dc
mov ecx, dword [esp + 0x20]
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.DongleType
push ecx
call esi
mov edx, dword [esp + 0x20]
push str.DongleSerial
push edx
call esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.New_Host_saved_in_registry
call fcn.00402920
mov ecx, dword [esp + 0x40]
call fcn.0041b710
xor edi, edi
lea ebp, [edi + 0xf]
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
cmp byte [esp + 0x16], al
mov ebx, 0x10
sete al
cmp dword [esp + 0x10c], ebx
mov esi, eax
jb 0x41b110
mov ecx, dword [esp + 0xf8]
push ecx
call fcn.0042f7d6
add esp, 4
cmp dword [esp + 0x6a8], ebx
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x108], edi
mov byte [esp + 0xf8], 0
jb 0x41b13f
mov edx, dword [esp + 0x694]
push edx
call fcn.0042f7d6
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x67c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x664]
xor ecx, esp
call fcn.0043ec69
add esp, 0x674
ret
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.DongleType
push eax
call esi
mov ecx, dword [esp + 0x20]
push str.DongleSerial
push ecx
jmp 0x41b0b9