Function at 0x14000d6e8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r8
push rbp
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x120
mov rbx, rcx
mov dword [rsp + 0x24], 0x60000
xor r15d, r15d
mov dword [rsp + 0x28], 0x860100aa
xor edx, edx
lea rcx, [rsp + 0x2c]
mov r8d, 0xf4
lea edi, [r15 + 1]
mov dword [rsp + 0x20], edi
call fcn.1400c3c80
xor dl, dl
xor cl, cl
movzx eax, cl
add cl, dil
xor dl, byte [rsp + rax + 0x2a]
cmp cl, 2
jb 0x14000d73f
lea rcx, [0x1401056d0]
mov byte [rsp + 0x2c], dl
mov byte [rsp + 0x2d], 0xbb
call fcn.14000b98c
mov r8d, edi
lea rcx, [rsp + 0x20]
mov edx, reloc.Cabinet.dll_FCIDestroy
call fcn.1400125fc
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000b98c
mov esi, 0xa
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r14d, 0x100
lea rdx, [rsp + 0x20]
mov r8d, r14d
mov rcx, rbx
call qword [sym.imp.HID.DLL_HidD_SetFeature]
test al, al
je 0x14000daff
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, r14d
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.HID.DLL_HidD_GetFeature]
test al, al
je 0x14000daf0
mov al, byte [rsp + 0x20]
cmp al, 3
jne 0x14000dae4
movzx ebx, word [rsp + 0x26]
lea edx, [r14 - 0xe]
lea eax, [rbx - 6]
cmp ax, dx
ja 0x14000dad8
lea rcx, [0x1401056d8]
call fcn.14000b98c
movzx edx, bx
lea rcx, [rsp + 0x20]
add edx, 8
mov r8d, edi
call fcn.1400125fc
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000b98c
mov al, byte [rsp + 0x28]
sub bl, 6
cmp al, 0xaa
jne 0x14000dacc
movzx r8d, byte [rsp + 0x2a]
dec r8d
movzx edx, bl
cmp r8d, edx
jne 0x14000dabe
xor cl, cl
lea r9d, [rdx + 2]
xor r8b, r8b
test r9d, r9d
je 0x14000d860
movzx eax, r8b
add r8b, dil
xor cl, byte [rsp + rax + 0x2a]
movzx eax, r8b
cmp eax, r9d
jb 0x14000d84c
cmp cl, byte [rsp + rdx + 0x2c]
jne 0x14000daac
mov byte [rsp + rdx + 0x2d], 0xbb
movzx r9d, byte [rsp + 0x2b]
mov ecx, r9d
test r9d, r9d
je 0x14000da4d
sub ecx, edi
je 0x14000d8fc
sub ecx, edi
je 0x14000d8e1
sub ecx, edi
je 0x14000d8d8
sub ecx, edi
je 0x14000d8cf
sub ecx, edi
je 0x14000d8c6
sub ecx, 2
je 0x14000d8bd
sub ecx, 3
je 0x14000d8b4
cmp ecx, 0xf5
je 0x14000da4d
lea r8, str.unknow_error_code_
jmp 0x14000d8e8
lea r8, str.parameter_value_out_of_range
jmp 0x14000d8e8
lea r8, str.receive
jmp 0x14000d8e8
lea r8, str.check_sequence
jmp 0x14000d8e8
lea r8, str.timeout_reply
jmp 0x14000d8e8
lea r8, str.not_COM_port_selected
jmp 0x14000d8e8
lea r8, str.checksum
mov edx, r9d
lea rcx, str.ERROR_rdm_send_receive___Status_failure:_0x_02x____s_n
call fcn.14000b98c
jmp 0x14000db13
cmp bl, dil
jne 0x14000da41
movzx edx, byte [rsp + 0x2c]
mov eax, reloc.WLDAP32.dll_Ordinal_140
cmp edx, eax
ja 0x14000d9c3
je 0x14000d9ba
mov ecx, edx
sub ecx, 0x80
je 0x14000d9b1
sub ecx, edi
je 0x14000d9a5
sub ecx, edi
je 0x14000d999
sub ecx, edi
je 0x14000d98d
sub ecx, edi
je 0x14000d981
sub ecx, edi
je 0x14000d975
sub ecx, 2
je 0x14000d969
sub ecx, 3
je 0x14000d95d
cmp ecx, edi
jne 0x14000d9f2
lea r8, str.wrong_SNR_during_anticollision
jmp 0x14000da35
lea r8, str.initVal_ProCeSs
jmp 0x14000da35
lea r8, str.unknown_internal_error
jmp 0x14000da35
lea r8, str.format_or_parameter_of_the_command
jmp 0x14000da35
lea r8, str.data_response_from_the_card
jmp 0x14000da35
lea r8, str.card_does_not_exist
jmp 0x14000da35
lea r8, str.reader_reply_timeout
jmp 0x14000da35
lea r8, str.set_failure
jmp 0x14000da35
lea r8, str.set_OK
jmp 0x14000da35
lea r8, str.authentication_failure
jmp 0x14000da35
mov ecx, edx
sub ecx, 0x8f
je 0x14000da2e
sub ecx, edi
je 0x14000da25
sub ecx, edi
je 0x14000da1c
sub ecx, edi
je 0x14000da13
sub ecx, edi
je 0x14000da0a
sub ecx, edi
je 0x14000da01
sub ecx, edi
je 0x14000d9f8
cmp ecx, edi
jne 0x14000d9f2
lea r8, str.operation_did_not_succeed
jmp 0x14000da35
mov r8, qword [rbp + 0x50]
jmp 0x14000da35
lea r8, str.lock_operation_did_not_succeed
jmp 0x14000da35
lea r8, str.object_has_been_locked
jmp 0x14000da35
lea r8, str.block_does_not_exist
jmp 0x14000da35
lea r8, str.does_not_support_option_mode
jmp 0x14000da35
lea r8, str.format_of_the_command
jmp 0x14000da35
lea r8, str.card_does_not_support_this_command
jmp 0x14000da35
lea r8, str.reader_received_unknown_command
lea rcx, str.ERROR_rdm_send_receive___Command_failure:_0x_02x____s_n
jmp 0x14000d8f2
lea rcx, str.ERROR_rdm_send_receive___data_size_is_not_1_when_dealing_when_an_error_status___hhu__n
jmp 0x14000db0e
mov rsi, qword [rbp + 0x60]
mov r15d, edi
test rsi, rsi
je 0x14000db13
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x14000db13
and qword [rsi], 0
mov byte [rdi], 0
test bl, bl
je 0x14000db13
movzx r14d, bl
mov ecx, Ordinal_65
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rsi], rax
test rax, rax
je 0x14000daa7
mov r8d, r14d
lea rdx, [rsp + 0x2c]
mov rcx, rax
call fcn.1400c43f0
mov byte [rdi], bl
jmp 0x14000db13
xor r15d, r15d
jmp 0x14000db13
movzx r8d, byte [rsp + rdx + 0x2c]
movzx edx, cl
lea rcx, str.ERROR_rdm_send_receive___Bad_CRC__0x_02x____0x_02x__n
jmp 0x14000dac5
lea rcx, str.ERROR_rdm_send_receive___Bad_HID_size_vs_Data_size__0x_02x____0x_02x__n
call fcn.14000b98c
jmp 0x14000db13
movzx edx, al
lea rcx, str.ERROR_rdm_send_receive___Bad_China_header__0x_02x__n
jmp 0x14000db0e
movzx edx, bx
lea rcx, str.ERROR_rdm_send_receive___Bad_HID_size___hhu__n
jmp 0x14000db0e
movzx edx, al
lea rcx, str.ERROR_rdm_send_receive___Bad_HID_header__0x_02x__n
jmp 0x14000db0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_rdm_send_receive___HidD_GetFeature__0x_08x__n
jmp 0x14000db0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_rdm_send_receive___HidD_SetFeature__0x_08x__n
mov edx, eax
call fcn.14000b98c
lea r11, [rsp + 0x120]
mov eax, r15d
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret