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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x1801850b8]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov r15, r8
mov r12, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], send
mov byte [rcx], r13b
mov dword [rsp + 0x30], 1
xor r8d, r8d
lea edx, [r13 + 0x14]
call fcn.18003f770
mov r14d, dword [r15 + 0x10]
cmp qword [r15 + 0x18], 0x10
jb 0x180087ac1
mov r15, qword [r15]
call fcn.1800a73b4
movsxd rdi, eax
test r15, r15
je 0x180087e02
mov ecx, edi
call fcn.1800a74b0
lea rcx, [0x18018e650]
test eax, eax
jne 0x180087bfd
mov dword [rbp + 0xf0], edi
mov rsi, rdi
shl rsi, 7
mov eax, dword [rsi + rcx + 0xc]
mov dword [rsp + 0x38], eax
test r14d, r14d
je 0x180087c03
mov ecx, dword [rsi + rcx + 0x10]
call fcn.1800c83e0
mov r13, rax
test rax, rax
je 0x180087bfd
lea rax, [0x18018e650]
mov eax, dword [rsi + rax + 0x10]
cmp eax, 0x90
ja 0x180087bf5
mov rdx, r15
cmp r14d, eax
jbe 0x180087b67
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xf4]
mov r8d, r14d
mov ecx, edi
call fcn.1800a764c
test eax, eax
jne 0x180087bf5
mov r14d, dword [rsp + 0x38]
jmp 0x180087b76
mov r8, r14
lea rcx, [rbp + 0xf4]
call fcn.1800be460
lea rdi, [0x18018e650]
mov eax, dword [rsi + rdi + 0x10]
cmp r14d, eax
jae 0x180087baf
sub eax, r14d
mov ecx, eax
mov eax, r14d
lea rdx, [rbp + 0xf4]
add rdx, rax
je 0x180087e1c
test rcx, rcx
je 0x180087baf
mov byte [rdx], 0
inc rdx
sub rcx, 1
jne 0x180087ba3
mov eax, dword [rsi + rdi + 0x10]
test eax, eax
je 0x180087bd7
mov rcx, r13
lea rdx, [rbp + 0xf4]
sub rdx, r13
mov r8d, eax
mov al, byte [rdx + rcx]
xor al, 0x36
mov byte [rcx], al
inc rcx
sub r8, 1
jne 0x180087bc7
lea rcx, [rsp + 0x50]
call qword [rsi + rdi + 0x58]
test eax, eax
jne 0x180087bf5
mov r8d, dword [rsi + rdi + 0x10]
mov rdx, r13
lea rcx, [rsp + 0x50]
call qword [rsi + rdi + 0x60]
mov rcx, r13
call fcn.1800c36cc
mov edi, dword [rbp + 0xf0]
mov r8d, dword [r12 + 0x10]
cmp qword [r12 + 0x18], 0x10
jb 0x180087c14
mov r12, qword [r12]
test r12, r12
je 0x180087e36
mov ecx, edi
call fcn.1800a74b0
lea r14, [0x18018e650]
test eax, eax
jne 0x180087c49
movsxd rax, edi
shl rax, 7
mov rdx, r12
lea rcx, [rsp + 0x50]
call qword [rax + r14 + 0x60]
mov edi, dword [rbp + 0xf0]
mov r12d, dword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180087c5a
mov rsi, qword [rbx]
test rsi, rsi
je 0x180087de8
mov ecx, edi
call fcn.1800a74b0
test eax, eax
jne 0x180087d8c
movsxd rdi, edi
shl rdi, 7
mov r13d, dword [rdi + r14 + 0xc]
mov ecx, dword [rdi + r14 + 0x10]
call fcn.1800c83e0
mov r14, rax
mov ecx, r13d
call fcn.1800c83e0
mov r15, rax
test r14, r14
je 0x180087d7f
test rax, rax
je 0x180087d7a
mov rdx, rax
lea rcx, [rsp + 0x50]
lea rax, [0x18018e650]
call qword [rdi + rax + 0x68]
test eax, eax
jne 0x180087d72
lea r9, [0x18018e650]
mov eax, dword [rdi + r9 + 0x10]
test eax, eax
je 0x180087cf3
mov rcx, r14
lea rdx, [rbp + 0xf4]
sub rdx, r14
mov r8d, eax
mov al, byte [rdx + rcx]
xor al, 0x5c
mov byte [rcx], al
inc rcx
sub r8, 1
jne 0x180087ce3
lea rcx, [rsp + 0x50]
call qword [rdi + r9 + 0x58]
test eax, eax
jne 0x180087d72
lea rax, [0x18018e650]
mov r8d, dword [rdi + rax + 0x10]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [rdi + rax + 0x60]
test eax, eax
jne 0x180087d72
mov r8d, r13d
mov rdx, r15
lea rcx, [rsp + 0x50]
lea rax, [0x18018e650]
call qword [rdi + rax + 0x60]
test eax, eax
jne 0x180087d72
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [0x18018e650]
call qword [rdi + rax + 0x68]
test eax, eax
jne 0x180087d72
xor ecx, ecx
test r13d, r13d
je 0x180087d6f
mov rdx, r14
sub rdx, rsi
cmp ecx, r12d
jae 0x180087d6f
mov al, byte [rdx + rsi]
mov byte [rsi], al
inc ecx
inc rsi
cmp ecx, r13d
jb 0x180087d5b
mov r12d, ecx
mov rcx, r15
call fcn.1800c36cc
mov rcx, r14
jmp 0x180087d87
test r15, r15
je 0x180087d8c
mov rcx, r15
call fcn.1800c36cc
mov edx, r12d
cmp rdx, qword [rbx + 0x10]
ja 0x180087dac
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180087da2
mov rax, qword [rbx]
mov qword [rbx + 0x10], rdx
mov byte [rax + rdx], 0
jmp 0x180087dbb
sub rdx, qword [rbx + 0x10]
xor r8d, r8d
mov rcx, rbx
call fcn.18003f770
mov rax, rbx
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1800bbd30
mov rbx, qword [rsp + 0x2f8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 0x1c
lea rdx, str.C:UsersiancoDesktopImportant_Desktop_FilesComplete_Clientsproject_bo4depslibtomcrypt_srcmachmachmac_done.c
lea rcx, str.out___NULL
call fcn.1800a7440
int3
mov r8d, 0x1e
lea rdx, str.C:UsersiancoDesktopImportant_Desktop_FilesComplete_Clientsproject_bo4depslibtomcrypt_srcmachmachmac_init.c
lea rcx, str.key___NULL
call fcn.1800a7440
int3
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.C:UsersiancoDesktopImportant_Desktop_FilesComplete_Clientsproject_bo4depslibtomcrypt_srcmisczeromem.c
lea rcx, str.out___NULL
call fcn.1800a7440
int3
mov r8d, 0x17
lea rdx, str.C:UsersiancoDesktopImportant_Desktop_FilesComplete_Clientsproject_bo4depslibtomcrypt_srcmachmachmac_process.c
lea rcx, str.in___NULL
call fcn.1800a7440
int3