Function at 0x140006510
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x258
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rax, qword [0x14003ea10]
test rax, rax
jne 0x14000654e
lea rcx, str.BIPDll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14003ea10], rax
test rax, rax
je 0x14000657c
cmp byte [0x14003d889], 0
jne 0x140007c02
mov r8d, 0x104
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x140006599
xor ecx, ecx
mov qword [0x14003ea10], rcx
mov eax, 0x80004
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140008770
add rsp, 0x258
ret
lea rcx, [rsp + 0x30]
call fcn.140006310
test eax, eax
je 0x1400065c8
xor ecx, ecx
mov qword [0x14003ea10], rcx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140008770
add rsp, 0x258
ret
call fcn.140007c20
test eax, eax
jne 0x140007bfb
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_open
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_open_remote
mov qword [0x14003e3c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_close
mov qword [0x14003e810], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_session_count
mov qword [0x14003e5c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_init
mov qword [0x14003e6b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_status
mov qword [0x14003e8b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_config
mov qword [0x14003e4c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_ush_ver
mov qword [0x14003e7e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_grp_test
mov qword [0x14003e700], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_ind_test
mov qword [0x14003e360], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_set_rfid_params
mov qword [0x14003e808], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_rfid_man_test
mov qword [0x14003e3b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_load_rfid_cfg
mov qword [0x14003e838], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_sizeof_rfid_config
mov qword [0x14003e560], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_rfid_params
mov qword [0x14003e3e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_rfid_configuration
mov qword [0x14003e7d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_get_antenna_status
mov qword [0x14003e6f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_status
mov qword [0x14003e7e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_set_status
mov qword [0x14003e7f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_peek
mov qword [0x14003e768], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e578], rax
lea rdx, str.cv_diag_hdotp_poke
mov rcx, qword [0x14003ea10]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_skip_list
mov qword [0x14003e4b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_set_skip_list
mov qword [0x14003e7b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_cv_counter
mov qword [0x14003e368], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_ah_credit_level
mov qword [0x14003e6d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_elapsed_time
mov qword [0x14003e7c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_skip_mono_cntr
mov qword [0x14003e720], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_get_spec_skip_cntr
mov qword [0x14003e4b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_hdotp_set_skip_cntr
mov qword [0x14003e5d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_get_rfid_status
mov qword [0x14003e688], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_flash_update
mov qword [0x14003e658], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_reboot_to_sbi
mov qword [0x14003e698], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_reboot_to_ush
mov qword [0x14003e748], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_firmware_upgrade
mov qword [0x14003e4d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_load_sbi
mov qword [0x14003e3b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_pba_update
mov qword [0x14003e5f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_pba_access
mov qword [0x14003e740], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_send_blockdata
mov qword [0x14003e8f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_receive_blockdata
mov qword [0x14003e5b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_power_management
mov qword [0x14003e388], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_power_management_start
mov qword [0x14003e320], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_generic_io_cmd
mov qword [0x14003e420], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_machine_id
mov qword [0x14003e7b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_create_object
mov qword [0x14003e910], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_delete_object
mov qword [0x14003e660], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_object
mov qword [0x14003e680], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_object
mov qword [0x14003e638], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enumerate_objects
mov qword [0x14003e538], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enumerate_objects_direct
mov qword [0x14003e8e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_duplicate_object
mov qword [0x14003e978], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_import_object
mov qword [0x14003e908], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_export_object
mov qword [0x14003e448], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_change_auth_object
mov qword [0x14003e3e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_authorize_session_object
mov qword [0x14003e918], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_deauthorize_session_object
mov qword [0x14003e478], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_random
mov qword [0x14003e3f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_encrypt
mov qword [0x14003e880], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_decrypt
mov qword [0x14003e480], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_hmac
mov qword [0x14003e690], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_hash
mov qword [0x14003e6c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_hash_object
mov qword [0x14003e468], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_genkey
mov qword [0x14003e600], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_sign
mov qword [0x14003e8a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_verify
mov qword [0x14003e860], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_hotp_unblock
mov qword [0x14003e6a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_otp_get_value
mov qword [0x14003e948], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_otp_get_mac
mov qword [0x14003e930], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_enroll
mov qword [0x14003e540], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_enroll_dup_check
mov qword [0x14003e350], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_verify
mov qword [0x14003e568], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_verify_w_hash
mov qword [0x14003e6b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_capture
mov qword [0x14003e530], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_capture_start
mov qword [0x14003e330], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_capture_cancel
mov qword [0x14003e318], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_identify
mov qword [0x14003e710], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_identify_w_hash
mov qword [0x14003e3a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_register_event
mov qword [0x14003e5c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_configure
mov qword [0x14003e6a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_test
mov qword [0x14003e5e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_test_out
mov qword [0x14003e378], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_fingerprint_calibrate
mov qword [0x14003e3a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e4d0], rax
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_bind
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_bind_challenge
mov qword [0x14003e348], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_identify_user
mov qword [0x14003e7c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_access_PBA_code_flash
mov qword [0x14003e8c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_diag_get_hid_cnsl
mov qword [0x14003e6d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_detect_fp
mov qword [0x14003e580], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_ush_console_start
mov qword [0x14003e5a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_ush_console_stop
mov qword [0x14003e6c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_ush_get_console
mov qword [0x14003e8d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_ush_console_put_char
mov qword [0x14003e798], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_ush_console_menu
mov qword [0x14003e398], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_contactless_register_event
mov qword [0x14003e340], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_read_contactless_card_id
mov qword [0x14003e4e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_read_nfc_card_uuid
mov qword [0x14003e550], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_radio
mov qword [0x14003e508], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_smartcard
mov qword [0x14003e898], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_nfc
mov qword [0x14003e770], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_t4_cards_routing
mov qword [0x14003e620], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_fingerprint
mov qword [0x14003e980], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_and_lock_radio
mov qword [0x14003e418], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e358], rax
lea rdx, str.cv_enable_wbdi
mov rcx, qword [0x14003ea10]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_radio_present
mov qword [0x14003e4c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_cv_only_radio_mode
mov qword [0x14003e750], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_cv_only_radio_mode_volatile
mov qword [0x14003e678], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_smartcard_present
mov qword [0x14003e608], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_set_nfc_present
mov qword [0x14003e950], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_upgrade_objects
mov qword [0x14003e790], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_register_super
mov qword [0x14003e7d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_challenge_super
mov qword [0x14003e5f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_response_super
mov qword [0x14003e958], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_test_tpm
mov qword [0x14003e780], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_enable_function
mov qword [0x14003e3f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.cv_get_sbl_pid
mov qword [0x14003e328], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetInfo
mov qword [0x14003e618], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_IsCompatibleFWInstalled
mov qword [0x14003e408], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_RegisterApp
mov qword [0x14003e990], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetAppHelperDLL
mov qword [0x14003e778], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_UnregisterApp
mov qword [0x14003e868], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetupAuthorization
mov qword [0x14003e970], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetupUserIDAppID
mov qword [0x14003e470], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_CreateObject
mov qword [0x14003e630], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_DeleteObject
mov qword [0x14003e8d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetObject
mov qword [0x14003e848], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetObject
mov qword [0x14003e670], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_DuplicateObject
mov qword [0x14003e900], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ImportObject
mov qword [0x14003e870], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ExportObject
mov qword [0x14003e3c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ChangeAuthObject
mov qword [0x14003e800], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_AuthorizeSessionObject
mov qword [0x14003e818], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_DeauthorizeSessionObject
mov qword [0x14003e400], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_Genkey
mov qword [0x14003e850], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_UpdateMetadata
mov qword [0x14003e500], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetMetadata
mov qword [0x14003e708], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetUserMetadataList
mov qword [0x14003e338], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetObjectIDFromGUID
mov qword [0x14003e8b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintEnroll
mov qword [0x14003e4a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintVerify
mov qword [0x14003e4e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintVerifyWHash
mov qword [0x14003e968], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCapture
mov qword [0x14003e370], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintIdentify
mov qword [0x14003e6e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintIdentifyWHash
mov qword [0x14003e7a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintRegisterEvent
mov qword [0x14003e940], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCaptureStart
mov qword [0x14003e878], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCaptureWait
mov qword [0x14003e6f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCaptureCancel
mov qword [0x14003e518], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCaptureGetResult
mov qword [0x14003e938], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCreateFeatureSet
mov qword [0x14003e888], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCommitFeatureSet
mov qword [0x14003e960], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintUpdateEnrollment
mov qword [0x14003e758], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintDiscardEnrollment
mov qword [0x14003e430], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCommitEnrollment
mov qword [0x14003e830], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintCreateTemplate
mov qword [0x14003e628], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FingerprintReset
mov qword [0x14003e7f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetNFCPowerToMax
mov qword [0x14003e828], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetupDevCallbacks
mov qword [0x14003e820], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetDuplicateControlMechanism
mov qword [0x14003e8e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetDuplicateControlMechanism
mov qword [0x14003e8c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetPlatformUserIDs
mov qword [0x14003e558], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetPlatformUserSIDs
mov qword [0x14003e428], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetPlatformAppIDs
mov qword [0x14003e738], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_IsValidUserID
mov qword [0x14003e8a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e490], rax
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_IsValidAppID
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetCurrentUserID
mov qword [0x14003e4f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetAppFriendlyName
mov qword [0x14003e548], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetSessionCount
mov qword [0x14003e520], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SaveAuthContext
mov qword [0x14003e310], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_RestoreAuthContext
mov qword [0x14003e390], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_FreeAuthContext
mov qword [0x14003e3d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetGUIDFromObjectID
mov qword [0x14003e458], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_CreateObjectGUID
mov qword [0x14003e928], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_UpgradeObjects
mov qword [0x14003e890], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_RegisterSuper
mov qword [0x14003e858], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ChallengeSuper
mov qword [0x14003e728], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ResponseSuper
mov qword [0x14003e460], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_CVInit
mov qword [0x14003e610], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_Bind
mov qword [0x14003e650], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ContactlessRegisterEvent
mov qword [0x14003e718], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ReadContactlessCardID
mov qword [0x14003e3d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_ReadNFCCardUUID
mov qword [0x14003e528], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_GetStatus
mov qword [0x14003e920], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetConfig
mov qword [0x14003e488], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e440], rax
lea rdx, str.CSS_EnableRadio
mov rcx, qword [0x14003ea10]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_EnableSmartcard
mov qword [0x14003e590], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_EnableNFC
mov qword [0x14003e6e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_EnableFingerprint
mov qword [0x14003e760], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_EnableAndLockRadio
mov qword [0x14003e8f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetRadioPresent
mov qword [0x14003e498], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetCVOnlyRadioMode
mov qword [0x14003e4a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetCVOnlyRadioModeVolatile
mov qword [0x14003e668], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CSS_SetSmartcardPresent
mov qword [0x14003e450], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CCM_DeleteContainer
mov qword [0x14003e840], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CCM_CreateContainer
mov qword [0x14003e380], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CCM_GetContainerInfo
mov qword [0x14003e788], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CCM_ListObjects
mov qword [0x14003e5d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.CCM_GetInfo
mov qword [0x14003e598], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_GetInfo
mov qword [0x14003e7a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVGetRandom
mov qword [0x14003e510], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVHash
mov qword [0x14003e410], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVEncrypt
mov qword [0x14003e438], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVDecrypt
mov qword [0x14003e730], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVHmac
mov qword [0x14003e5b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVHashObject
mov qword [0x14003e588], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVSign
mov qword [0x14003e5a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVVerify
mov qword [0x14003e640], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVHOTPUnblock
mov qword [0x14003e988], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVOtpGetValue
mov qword [0x14003e4f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14003ea10]
lea rdx, str.COS_CVOtpGetMac
mov qword [0x14003e648], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14003e570], rax
call fcn.140007c20
test eax, eax
je 0x14000657c
mov rcx, qword [0x14003ea10]
lea rdx, str.BIP_SetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rsp + 0x20], 2
mov ecx, dword [rsp + 0x20]
mov qword [0x14003e5e8], rax
call rax
mov byte [0x14003d889], 1
xor eax, eax
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140008770
add rsp, 0x258
ret