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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rax, qword [0x1801fdc38]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r13, r9
mov r12, r8
mov rbx, rdx
mov rsi, rcx
mov r15, qword [rbp + 0x110]
mov byte [rbp - 0x10], 0
xor eax, eax
mov qword [rbp - 0xf], rax
mov qword [rbp - 7], rax
mov qword [rbp + 1], rax
mov qword [rbp + 9], rax
mov qword [rbp + 0x11], rax
mov qword [rbp + 0x19], rax
mov qword [rbp + 0x21], rax
mov dword [rbp + 0x29], eax
mov word [rbp + 0x2d], ax
mov byte [rbp + 0x2f], al
mov dl, 1
lea rcx, [rsp + 0x28]
call fcn.180017150
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rbp - 0x80], 0x10
mov byte [rsp + 0x79], 1
lea rax, [rsp + 0x38]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x20], 0x10
mov byte [rbp - 0x27], 1
lea rax, [rbp - 0x70]
neg rax
and eax, 0xf
lea r14, [rbp + rax - 0x70]
mov qword [rbp - 0x18], r14
mov rcx, r14
call fcn.180019d40
nop
lea rax, vtable.CryptoPP::SHA256.0
mov qword [rsp + 0x28], rax
mov r8, rbx
mov rdx, rsi
cmp rbx, 0x40
jbe 0x18005deaf
lea rcx, [rsp + 0x28]
call fcn.180035d20
lea r8d, [rdi + 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x28]
call fcn.180035f80
xor r11d, r11d
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x20], r11
mov qword [rbp + 0x28], r11
jmp 0x18005ded3
lea rcx, [rbp - 0x10]
call fcn.180119850
cmp rbx, 0x40
jae 0x18005ded3
mov r8d, 0x40
sub r8, rbx
lea rcx, [rbp + rbx - 0x10]
xor edx, edx
call fcn.18011a1e0
mov byte [rbp + 0x50], 0
xor eax, eax
mov qword [rbp + 0x51], rax
mov qword [rbp + 0x59], rax
mov qword [rbp + 0x61], rax
mov qword [rbp + 0x69], rax
mov qword [rbp + 0x71], rax
mov qword [rbp + 0x79], rax
mov qword [rbp + 0x81], rax
mov dword [rbp + 0x89], eax
mov word [rbp + 0x8d], ax
mov byte [rbp + 0x8f], al
mov byte [rbp + 0x30], al
mov qword [rbp + 0x31], rax
mov qword [rbp + 0x39], rax
mov qword [rbp + 0x41], rax
mov dword [rbp + 0x49], eax
mov word [rbp + 0x4d], ax
mov byte [rbp + 0x4f], al
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x10]
xor al, 0x36
mov byte [rbp + rcx + 0x50], al
movzx eax, byte [rbp + rcx - 0xf]
xor al, 0x36
mov byte [rbp + rcx + 0x51], al
add rcx, 2
cmp rcx, 0x40
jb 0x18005df30
lea rcx, [rsp + 0x28]
call fcn.180035f70
mov r8d, 0x40
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.180035d20
mov r8, r13
mov rdx, r12
lea rcx, [rsp + 0x28]
call fcn.180035d20
mov r8d, 0x20
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.180035f80
nop word [rax + rax]
movzx eax, byte [rbp + rdi - 0x10]
xor al, 0x5c
mov byte [rbp + rdi + 0x50], al
movzx eax, byte [rbp + rdi - 0xf]
xor al, 0x5c
mov byte [rbp + rdi + 0x51], al
add rdi, 2
cmp rdi, 0x40
jb 0x18005dfa0
lea rcx, [rsp + 0x28]
call fcn.180035f70
mov r8d, 0x40
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.180035d20
mov r8d, 0x20
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.180035d20
mov r8, qword [rbp + 0x118]
mov rdx, r15
lea rcx, [rsp + 0x28]
call fcn.180035f80
nop
mov rdi, qword [rbp - 0x18]
cmp rdi, r14
jne 0x18005e018
xor eax, eax
mov rcx, qword [rbp - 0x20]
rep stosd dword [rdi], eax
lea rax, [rsp + 0x38]
mov rdi, qword [rbp - 0x78]
cmp rdi, rax
jne 0x18005e02e
xor eax, eax
mov rcx, qword [rbp - 0x80]
rep stosd dword [rdi], eax
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.180119820
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret