Function at 0x1401cde30
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov esi, r9d
mov rbp, r8
mov edi, edx
mov rbx, rcx
test rcx, rcx
je 0x1401ce20a
test r8, r8
jne 0x1401cde6e
test r9d, r9d
jne 0x1401ce20a
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1401cde82
lea eax, [rdx - 0xa]
cmp eax, 3
ja 0x1401ce20a
movzx eax, byte [rcx + 0x228]
test al, al
je 0x1401cded9
movzx ecx, al
sub ecx, 3
je 0x1401cded1
sub ecx, 1
je 0x1401cdec7
sub ecx, 2
je 0x1401cdebd
sub ecx, 1
je 0x1401cdeb3
cmp ecx, 1
jne 0x1401cded9
mov rcx, rbx
call fcn.140031120
jmp 0x1401cded9
mov rcx, rbx
call fcn.140031120
jmp 0x1401cded9
mov rcx, rbx
call fcn.140031120
jmp 0x1401cded9
mov rcx, rbx
call fcn.140031120
jmp 0x1401cded9
mov rcx, rbx
call fcn.140031120
mov byte [rbx + 0x228], dil
mov byte [rbx + 0x229], 0
sub edi, 3
je 0x1401cdf47
sub edi, 1
je 0x1401cdf37
sub edi, 2
je 0x1401cdf27
sub edi, 1
je 0x1401cdf17
cmp edi, 1
je 0x1401cdf07
mov edi, 0xffffff53
jmp 0x1401cdf57
xor edx, edx
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1401cc310
jmp 0x1401cdf55
xor edx, edx
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1401cc250
jmp 0x1401cdf55
xor edx, edx
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1401c6ba0
jmp 0x1401cdf55
xor edx, edx
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1401c8de0
jmp 0x1401cdf55
xor edx, edx
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1401c7790
mov edi, eax
xor r12d, r12d
mov qword [rbx + 0x220], r12
test edi, edi
jne 0x1401ce206
movzx ecx, byte [rbx + 0x228]
lea r14, [rbx + 0xe0]
lea r13, [rbx + 0x160]
sub ecx, 3
je 0x1401ce0ac
sub ecx, 1
je 0x1401ce06f
sub ecx, 2
je 0x1401ce02f
sub ecx, 1
je 0x1401cdfeb
cmp ecx, 1
jne 0x1401ce20a
mov r15d, 0x80
cmp esi, r15d
jbe 0x1401ce0b7
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.1401cc6b0
mov edi, eax
test eax, eax
jne 0x1401ce206
mov rdx, r14
mov rcx, rbx
call fcn.1401cc6d0
mov edi, eax
test eax, eax
jne 0x1401ce206
lea esi, [rax + 0x40]
jmp 0x1401ce103
mov r15d, 0x80
cmp esi, r15d
jbe 0x1401ce0b7
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.1401cc6b0
mov edi, eax
test eax, eax
jne 0x1401ce206
mov rdx, r14
mov rcx, rbx
call fcn.1401cc330
mov edi, eax
test eax, eax
jne 0x1401ce206
lea esi, [rax + 0x30]
jmp 0x1401ce103
mov r15d, 0x40
cmp esi, r15d
jbe 0x1401ce0b7
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.1401c6f40
mov edi, eax
test eax, eax
jne 0x1401ce206
mov rdx, r14
mov rcx, rbx
call fcn.1401c6bf0
mov edi, eax
test eax, eax
jne 0x1401ce206
lea esi, [rax + 0x20]
jmp 0x1401ce103
mov r15d, 0x40
cmp esi, r15d
jbe 0x1401ce0b7
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.1401c94d0
mov edi, eax
test eax, eax
jne 0x1401ce206
mov rdx, r14
mov rcx, rbx
call fcn.1401c8e20
mov edi, eax
test eax, eax
jne 0x1401ce206
lea esi, [rax + 0x14]
jmp 0x1401ce103
mov r15d, 0x40
cmp esi, r15d
ja 0x1401ce0d1
test rbp, rbp
je 0x1401ce0ca
mov r8, rsi
mov rdx, rbp
mov rcx, r14
call fcn.140284ff0
cmp esi, r15d
jae 0x1401ce115
jmp 0x1401ce103
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.1401c7a50
mov edi, eax
test eax, eax
jne 0x1401ce206
mov rdx, r14
mov rcx, rbx
call fcn.1401c7820
mov edi, eax
test eax, eax
jne 0x1401ce206
mov esi, reloc.ODBC32.dll_SQLFreeStmt
mov r8d, r15d
mov ecx, esi
sub r8d, esi
add rcx, r14
xor edx, edx
call fcn.140285450
lea eax, [r15 - 1]
lea rdx, [rax + r14]
add rax, r13
cmp r14, rax
ja 0x1401ce12e
cmp rdx, r13
jae 0x1401ce1d6
movdqa xmm2, xmmword [0x14030d8c0]
mov edx, 0x20
movdqa xmm3, xmmword [0x14030d8b0]
mov eax, r12d
add r12d, 0x40
movdqu xmm1, xmmword [rax + r14]
movdqa xmm0, xmm1
pxor xmm1, xmm3
movdqu xmmword [rax + r14], xmm1
pxor xmm0, xmm2
movdqu xmmword [rax + r13], xmm0
lea eax, [rdx - 0x10]
movdqu xmm1, xmmword [rax + r14]
movdqa xmm0, xmm1
pxor xmm1, xmm3
movdqu xmmword [rax + r14], xmm1
pxor xmm0, xmm2
movdqu xmmword [rax + r13], xmm0
mov eax, edx
movdqu xmm1, xmmword [rax + r14]
movdqa xmm0, xmm1
pxor xmm1, xmm3
movdqu xmmword [rax + r14], xmm1
pxor xmm0, xmm2
movdqu xmmword [rax + r13], xmm0
lea eax, [rdx + 0x10]
add edx, 0x40
movdqu xmm1, xmmword [rax + r14]
movdqa xmm0, xmm1
pxor xmm1, xmm3
pxor xmm0, xmm2
movdqu xmmword [rax + r13], xmm0
movdqu xmmword [rax + r14], xmm1
cmp r12d, r15d
jb 0x1401ce143
cmp r12d, r15d
jae 0x1401ce206
mov ecx, r12d
add rcx, r14
sub r15d, r12d
mov edx, r15d
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
xor al, 0x5c
mov byte [rcx + 0x7f], al
xor byte [rcx - 1], 0x36
sub rdx, 1
jne 0x1401ce1f0
mov eax, edi
jmp 0x1401ce20f
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret