Function at 0x14000de74
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x130
xor r12d, r12d
mov rbx, rcx
lea rcx, [rsp + 0x3c]
lea edi, [r12 + 1]
xor edx, edx
mov r8d, 0xf4
mov byte [rsp + 0x31], r12b
mov byte [rsp + 0x32], r12b
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x30], dil
mov byte [rsp + 0x3a], dil
mov byte [rsp + 0x34], r12b
mov byte [rsp + 0x35], r12b
mov byte [rsp + 0x36], 6
mov byte [rsp + 0x37], r12b
mov byte [rsp + 0x38], 0xaa
mov byte [rsp + 0x39], r12b
mov byte [rsp + 0x3b], 0x86
call sub.msvcrt.dll_memset
xor r11b, r11b
xor cl, cl
movzx eax, r11b
add r11b, dil
xor cl, byte [rsp + rax + 0x3a]
cmp r11b, 2
jb 0x14000deee
mov byte [rsp + 0x3c], cl
lea rcx, [0x1400ec370]
mov byte [rsp + 0x3d], 0xbb
call fcn.14000c030
lea rcx, [rsp + 0x30]
mov r8d, edi
mov edx, 0xe
call fcn.140012f68
lea rcx, [0x1400d27a8]
call fcn.14000c030
mov esi, 0xa
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, 0x100
lea rdx, [rsp + 0x30]
mov r8d, ebp
mov rcx, rbx
call sub.HID.DLL_HidD_SetFeature
test al, al
je 0x14000e2bb
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rsp + 0x30]
mov r8d, ebp
mov rcx, rbx
call sub.HID.DLL_HidD_GetFeature
test al, al
je 0x14000e2ac
mov al, byte [rsp + 0x30]
cmp al, 3
jne 0x14000e2a0
movzx ebx, word [rsp + 0x36]
cmp bx, 6
jb 0x14000e294
lea eax, [rbp - 8]
cmp bx, ax
ja 0x14000e294
lea rcx, [0x1400ec378]
call fcn.14000c030
movzx edx, bx
lea rcx, [rsp + 0x30]
add edx, 8
mov r8d, edi
call fcn.140012f68
lea rcx, [0x1400d27a8]
call fcn.14000c030
mov al, byte [rsp + 0x38]
sub bl, 6
cmp al, 0xaa
jne 0x14000e288
movzx r8d, byte [rsp + 0x3a]
movzx edx, bl
dec r8d
cmp r8d, edx
jne 0x14000e27a
lea r9d, [rdx + 2]
xor r8b, r8b
xor cl, cl
test r9d, r9d
jle 0x14000e014
movzx eax, r8b
add r8b, dil
xor cl, byte [rsp + rax + 0x3a]
movzx eax, r8b
cmp eax, r9d
jl 0x14000e000
movzx ebp, bl
cmp cl, byte [rsp + rbp + 0x3c]
jne 0x14000e268
mov byte [rsp + rbp + 0x3d], 0xbb
movzx r9d, byte [rsp + 0x3b]
mov ecx, r9d
test r9d, r9d
je 0x14000e205
sub ecx, edi
je 0x14000e0b3
sub ecx, edi
je 0x14000e098
sub ecx, edi
je 0x14000e08f
sub ecx, edi
je 0x14000e086
sub ecx, edi
je 0x14000e07d
sub ecx, 2
je 0x14000e074
sub ecx, 3
je 0x14000e06b
cmp ecx, 0xf5
je 0x14000e205
lea r8, str.unknow_error_code_
jmp 0x14000e09f
lea r8, str.parameter_value_out_of_range
jmp 0x14000e09f
lea r8, str.receive
jmp 0x14000e09f
lea r8, str.check_sequence
jmp 0x14000e09f
lea r8, str.timeout_reply
jmp 0x14000e09f
lea r8, str.not_COM_port_selected
jmp 0x14000e09f
lea r8, str.checksum
mov edx, r9d
lea rcx, str.PA7LB_rdm_send_receive___Status_failure:_0x_02x____s_n
call fcn.14000c030
jmp 0x14000e2cf
cmp bl, dil
jne 0x14000e1f9
movzx edx, byte [rsp + 0x3c]
mov eax, 0x8c
cmp edx, eax
jg 0x14000e17a
je 0x14000e171
mov ecx, edx
sub ecx, 0x80
je 0x14000e168
sub ecx, edi
je 0x14000e15c
sub ecx, edi
je 0x14000e150
sub ecx, edi
je 0x14000e144
sub ecx, edi
je 0x14000e138
sub ecx, edi
je 0x14000e12c
sub ecx, 2
je 0x14000e120
sub ecx, 3
je 0x14000e114
cmp ecx, edi
jne 0x14000e1a9
lea r8, str.wrong_SNR_during_anticollision
jmp 0x14000e1ed
lea r8, str.initVal_process
jmp 0x14000e1ed
lea r8, str.unknown_internal_error
jmp 0x14000e1ed
lea r8, str.format_or_parameter_of_the_command
jmp 0x14000e1ed
lea r8, str.data_response_from_the_card
jmp 0x14000e1ed
lea r8, str.card_does_not_exist
jmp 0x14000e1ed
lea r8, str.reader_reply_timeout
jmp 0x14000e1ed
lea r8, str.set_failure
jmp 0x14000e1ed
lea r8, str.set_OK
jmp 0x14000e1ed
lea r8, str.authentication_failure
jmp 0x14000e1ed
mov ecx, edx
sub ecx, 0x8f
je 0x14000e1e6
sub ecx, edi
je 0x14000e1dd
sub ecx, edi
je 0x14000e1d4
sub ecx, edi
je 0x14000e1cb
sub ecx, edi
je 0x14000e1c2
sub ecx, edi
je 0x14000e1b9
sub ecx, edi
je 0x14000e1b0
cmp ecx, edi
jne 0x14000e1a9
lea r8, str.operation_did_not_succeed
jmp 0x14000e1ed
mov r8, qword [rsp + 0x20]
jmp 0x14000e1ed
lea r8, str.lock_operation_did_not_succeed
jmp 0x14000e1ed
lea r8, str.object_has_been_locked
jmp 0x14000e1ed
lea r8, str.block_does_not_exist
jmp 0x14000e1ed
lea r8, str.does_not_support_option_mode
jmp 0x14000e1ed
lea r8, str.format_of_the_command
jmp 0x14000e1ed
lea r8, str.card_does_not_support_this_command
jmp 0x14000e1ed
lea r8, str.reader_received_unknown_command
lea rcx, str.PA7LB_rdm_send_receive___Command_failure:_0x_02x____s_n
jmp 0x14000e0a9
lea rcx, str.PA7LB_rdm_send_receive___data_size_is_not_1_when_dealing_when_an_error_status___hhu__n
jmp 0x14000e2ca
mov rsi, qword [rsp + 0x160]
mov r12d, edi
test rsi, rsi
je 0x14000e2cf
mov rdi, qword [rsp + 0x168]
test rdi, rdi
je 0x14000e2cf
and qword [rsi], 0
mov byte [rdi], 0
test bl, bl
je 0x14000e2cf
mov rdx, rbp
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rsi], rax
test rax, rax
je 0x14000e263
lea rdx, [rsp + 0x3c]
mov r8, rbp
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov byte [rdi], bl
jmp 0x14000e2cf
xor r12d, r12d
jmp 0x14000e2cf
movzx r8d, byte [rsp + rbp + 0x3c]
movzx edx, cl
lea rcx, str.PA7LB_rdm_send_receive___Bad_CRC__0x_02x____0x_02x__n
jmp 0x14000e281
lea rcx, str.PA7LB_rdm_send_receive___Bad_HID_size_vs_Data_size__0x_02x____0x_02x__n
call fcn.14000c030
jmp 0x14000e2cf
movzx edx, al
lea rcx, str.PA7LB_rdm_send_receive___Bad_China_header__0x_02x__n
jmp 0x14000e2ca
movzx edx, bx
lea rcx, str.PA7LB_rdm_send_receive___Bad_HID_size___hhu__n
jmp 0x14000e2ca
movzx edx, al
lea rcx, str.PA7LB_rdm_send_receive___Bad_HID_header__0x_02x__n
jmp 0x14000e2ca
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.PA7LB_rdm_send_receive___HidD_GetFeature__0x_08x__n
jmp 0x14000e2c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.PA7LB_rdm_send_receive___HidD_SetFeature__0x_08x__n
mov edx, eax
call fcn.14000c030
lea r11, [rsp + 0x130]
mov eax, r12d
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret