Function at 0x140008d30
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x250
mov rax, qword [0x1400bc088]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rax, qword [0x1400c0870]
xor edi, edi
mov ebx, edi
test rax, rax
jne 0x140008d78
lea rcx, str.BIPDll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1400c0870], rax
test rax, rax
je 0x140008da6
cmp byte [0x1400c02c0], bl
je 0x140008d87
xor eax, eax
jmp 0x14000a4e1
mov r8d, 0x104
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x140008db0
mov qword [0x1400c0870], rdi
mov eax, 0x80004
jmp 0x14000a4e1
cmp dword [0x1400c0580], ebx
jne 0x140008dd4
lea rcx, [rsp + 0x30]
call fcn.140008b30
mov ebx, eax
test eax, eax
je 0x140008dd4
mov qword [0x1400c0870], rdi
jmp 0x14000a4e1
call fcn.14000a510
test eax, eax
jne 0x14000a4d8
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_open
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_open_remote
mov qword [0x1400c01f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_close
mov qword [0x1400c0680], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_session_count
mov qword [0x1400c0420], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_init
mov qword [0x1400c0518], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_status
mov qword [0x1400c0730], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_config
mov qword [0x1400c0308], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_ush_ver
mov qword [0x1400c0650], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_cmd_enrollment_started
mov qword [0x1400c0560], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_grp_test
mov qword [0x1400c0268], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_ind_test
mov qword [0x1400c0190], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_set_rfid_params
mov qword [0x1400c0678], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_rfid_man_test
mov qword [0x1400c01e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_load_rfid_cfg
mov qword [0x1400c06b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_sizeof_rfid_config
mov qword [0x1400c03b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_rfid_params
mov qword [0x1400c0210], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_rfid_configuration
mov qword [0x1400c0640], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_get_antenna_status
mov qword [0x1400c0558], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_status
mov qword [0x1400c0658], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_set_status
mov qword [0x1400c0660], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c05d8], rax
lea rdx, str.cv_diag_hdotp_peek
mov rcx, qword [0x1400c0870]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_poke
mov qword [0x1400c03c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_skip_list
mov qword [0x1400c02f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_set_skip_list
mov qword [0x1400c0620], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_cv_counter
mov qword [0x1400c0198], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_ah_credit_level
mov qword [0x1400c0530], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_elapsed_time
mov qword [0x1400c0638], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_skip_mono_cntr
mov qword [0x1400c0588], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_get_spec_skip_cntr
mov qword [0x1400c02f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_hdotp_set_skip_cntr
mov qword [0x1400c0428], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_get_rfid_status
mov qword [0x1400c04e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_flash_update
mov qword [0x1400c04b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_reboot_to_sbi
mov qword [0x1400c04f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_reboot_to_ush
mov qword [0x1400c05b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_firmware_upgrade
mov qword [0x1400c0320], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_load_sbi
mov qword [0x1400c01e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_pba_update
mov qword [0x1400c0448], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_pba_access
mov qword [0x1400c05a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_send_blockdata
mov qword [0x1400c0770], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_receive_blockdata
mov qword [0x1400c0410], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_power_management
mov qword [0x1400c01b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_power_management_start
mov qword [0x1400c0150], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_generic_io_cmd
mov qword [0x1400c0250], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_machine_id
mov qword [0x1400c0628], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_create_object
mov qword [0x1400c0788], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_delete_object
mov qword [0x1400c04c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_object
mov qword [0x1400c04e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_object
mov qword [0x1400c0490], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enumerate_objects
mov qword [0x1400c0388], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enumerate_objects_direct
mov qword [0x1400c0760], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_duplicate_object
mov qword [0x1400c07f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_import_object
mov qword [0x1400c0780], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_export_object
mov qword [0x1400c0280], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_change_auth_object
mov qword [0x1400c0218], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_authorize_session_object
mov qword [0x1400c0790], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_deauthorize_session_object
mov qword [0x1400c02b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_random
mov qword [0x1400c0228], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_encrypt
mov qword [0x1400c06f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_decrypt
mov qword [0x1400c02b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_hmac
mov qword [0x1400c04f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_hash
mov qword [0x1400c0528], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_hash_object
mov qword [0x1400c02a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_genkey
mov qword [0x1400c0458], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_sign
mov qword [0x1400c0720], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_verify
mov qword [0x1400c06d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_hotp_unblock
mov qword [0x1400c0500], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_otp_get_value
mov qword [0x1400c07c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_otp_get_mac
mov qword [0x1400c07a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_wbf_get_session_id
mov qword [0x1400c0390], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_enroll
mov qword [0x1400c05d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_enroll_dup_check
mov qword [0x1400c0180], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_verify
mov qword [0x1400c03b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_verify_w_hash
mov qword [0x1400c0510], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_capture
mov qword [0x1400c0380], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_capture_start
mov qword [0x1400c0160], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_capture_cancel
mov qword [0x1400c0148], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_identify
mov qword [0x1400c0570], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_identify_w_hash
mov qword [0x1400c01d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_register_event
mov qword [0x1400c0418], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_configure
mov qword [0x1400c0508], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_test
mov qword [0x1400c0438], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c01a8], rax
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_test_out
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_fingerprint_calibrate
mov qword [0x1400c01d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_bind
mov qword [0x1400c0318], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_bind_challenge
mov qword [0x1400c0178], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_identify_user
mov qword [0x1400c0630], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_access_PBA_code_flash
mov qword [0x1400c0738], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_diag_get_hid_cnsl
mov qword [0x1400c0538], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_detect_fp
mov qword [0x1400c03d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_ush_console_start
mov qword [0x1400c0400], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_ush_console_stop
mov qword [0x1400c0520], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_ush_get_console
mov qword [0x1400c0748], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_ush_console_put_char
mov qword [0x1400c0608], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_ush_console_menu
mov qword [0x1400c01c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_contactless_register_event
mov qword [0x1400c0170], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_read_contactless_card_id
mov qword [0x1400c0328], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_read_nfc_card_uuid
mov qword [0x1400c03a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_radio
mov qword [0x1400c0350], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_smartcard
mov qword [0x1400c0710], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_nfc
mov qword [0x1400c05e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_t4_cards_routing
mov qword [0x1400c0478], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c07f8], rax
lea rdx, str.cv_enable_fingerprint
mov rcx, qword [0x1400c0870]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_and_lock_radio
mov qword [0x1400c0248], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_wbdi
mov qword [0x1400c0188], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_radio_present
mov qword [0x1400c0310], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_cv_only_radio_mode
mov qword [0x1400c05b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_cv_only_radio_mode_volatile
mov qword [0x1400c04d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_smartcard_present
mov qword [0x1400c0460], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_manage_poa
mov qword [0x1400c07c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_nfc_present
mov qword [0x1400c06a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_upgrade_objects
mov qword [0x1400c0600], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_register_super
mov qword [0x1400c0648], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_challenge_super
mov qword [0x1400c0450], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_response_super
mov qword [0x1400c07d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_test_tpm
mov qword [0x1400c05f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_enable_function
mov qword [0x1400c0220], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_sbl_pid
mov qword [0x1400c0158], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetInfo
mov qword [0x1400c0470], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_IsCompatibleFWInstalled
mov qword [0x1400c0238], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_RegisterApp
mov qword [0x1400c0808], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetAppHelperDLL
mov qword [0x1400c05e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_UnregisterApp
mov qword [0x1400c06e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetupAuthorization
mov qword [0x1400c07e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetupUserIDAppID
mov qword [0x1400c02a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_CreateObject
mov qword [0x1400c0488], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_DeleteObject
mov qword [0x1400c0750], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetObject
mov qword [0x1400c06c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetObject
mov qword [0x1400c04d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_DuplicateObject
mov qword [0x1400c0778], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ImportObject
mov qword [0x1400c06e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ExportObject
mov qword [0x1400c01f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ChangeAuthObject
mov qword [0x1400c0670], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_AuthorizeSessionObject
mov qword [0x1400c0688], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_DeauthorizeSessionObject
mov qword [0x1400c0230], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_Genkey
mov qword [0x1400c06c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_UpdateMetadata
mov qword [0x1400c0348], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetMetadata
mov qword [0x1400c0568], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetUserMetadataList
mov qword [0x1400c0168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetObjectIDFromGUID
mov qword [0x1400c0728], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintEnroll
mov qword [0x1400c02e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintVerify
mov qword [0x1400c0330], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintVerifyWHash
mov qword [0x1400c07e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCapture
mov qword [0x1400c01a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintIdentify
mov qword [0x1400c0540], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintIdentifyWHash
mov qword [0x1400c0618], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintRegisterEvent
mov qword [0x1400c07b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCaptureStart
mov qword [0x1400c06f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCaptureWait
mov qword [0x1400c0550], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCaptureCancel
mov qword [0x1400c0360], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCaptureGetResult
mov qword [0x1400c07b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCreateFeatureSet
mov qword [0x1400c0700], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCommitFeatureSet
mov qword [0x1400c07d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintUpdateEnrollment
mov qword [0x1400c05c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintDiscardEnrollment
mov qword [0x1400c0260], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCommitEnrollment
mov qword [0x1400c06a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintCreateTemplate
mov qword [0x1400c0480], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FingerprintReset
mov qword [0x1400c0668], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetNFCPowerToMax
mov qword [0x1400c0698], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GenerateECDSAKey
mov qword [0x1400c0690], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetupDevCallbacks
mov qword [0x1400c04b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetDuplicateControlMechanism
mov qword [0x1400c0758], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetDuplicateControlMechanism
mov qword [0x1400c0740], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c03a8], rax
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetPlatformUserIDs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetPlatformUserSIDs
mov qword [0x1400c0258], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetPlatformAppIDs
mov qword [0x1400c05a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_IsValidUserID
mov qword [0x1400c0718], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_IsValidAppID
mov qword [0x1400c02d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetCurrentUserID
mov qword [0x1400c0338], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetAppFriendlyName
mov qword [0x1400c0398], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetSessionCount
mov qword [0x1400c0368], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SaveAuthContext
mov qword [0x1400c0140], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_RestoreAuthContext
mov qword [0x1400c01c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_FreeAuthContext
mov qword [0x1400c0200], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetGUIDFromObjectID
mov qword [0x1400c0290], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_CreateObjectGUID
mov qword [0x1400c07a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_UpgradeObjects
mov qword [0x1400c0708], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_RegisterSuper
mov qword [0x1400c06d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ChallengeSuper
mov qword [0x1400c0590], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ResponseSuper
mov qword [0x1400c0298], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_CVInit
mov qword [0x1400c0468], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_Bind
mov qword [0x1400c04a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ContactlessRegisterEvent
mov qword [0x1400c0578], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c0208], rax
lea rdx, str.CSS_ReadContactlessCardID
mov rcx, qword [0x1400c0870]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ReadNFCCardUUID
mov qword [0x1400c0378], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_GetStatus
mov qword [0x1400c0798], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetConfig
mov qword [0x1400c02c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_EnableRadio
mov qword [0x1400c0278], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_EnableSmartcard
mov qword [0x1400c03e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_EnableNFC
mov qword [0x1400c0548], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_EnableFingerprint
mov qword [0x1400c05c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_EnableAndLockRadio
mov qword [0x1400c0768], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetRadioPresent
mov qword [0x1400c02d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetCVOnlyRadioMode
mov qword [0x1400c02e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetCVOnlyRadioModeVolatile
mov qword [0x1400c04c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_SetSmartcardPresent
mov qword [0x1400c0288], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CSS_ManagePOA
mov qword [0x1400c06b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CCM_DeleteContainer
mov qword [0x1400c03f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CCM_CreateContainer
mov qword [0x1400c01b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CCM_GetContainerInfo
mov qword [0x1400c05f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CCM_ListObjects
mov qword [0x1400c0430], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.CCM_GetInfo
mov qword [0x1400c03e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_GetInfo
mov qword [0x1400c0610], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVGetRandom
mov qword [0x1400c0358], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVHash
mov qword [0x1400c0240], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVEncrypt
mov qword [0x1400c0270], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVDecrypt
mov qword [0x1400c0598], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVHmac
mov qword [0x1400c0408], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVHashObject
mov qword [0x1400c03d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVSign
mov qword [0x1400c03f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVVerify
mov qword [0x1400c0498], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVHOTPUnblock
mov qword [0x1400c0800], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVOtpGetValue
mov qword [0x1400c0340], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.COS_CVOtpGetMac
mov qword [0x1400c04a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_debug_logging
mov qword [0x1400c03c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_get_debug_logging
mov qword [0x1400c0370], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400c0870]
lea rdx, str.cv_set_ec_present
mov qword [0x1400c0300], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call fcn.14000a510
test eax, eax
je 0x140008da6
mov rcx, qword [0x1400c0870]
lea rdx, str.BIP_SetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rsp + 0x20], 2
mov ecx, dword [rsp + 0x20]
mov qword [0x1400c0440], rax
call rax
mov byte [0x1400c02c0], 1
mov eax, ebx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140037f80
mov rbx, qword [rsp + 0x260]
add rsp, 0x250
pop rdi
ret