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

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x1403e3c28]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r15, qword [rbp + 0x230]
mov rdi, r8
mov r14d, dword [rbp + 0x238]
mov r12d, edx
mov qword [rsp + 0x20], rcx
mov ecx, dword [rbp + 0x240]
movsxd r13, r9d
call fcn.14008d1f0
mov rbx, rax
test rax, rax
jne 0x14008d2f3
lea eax, [rbx - 1]
jmp 0x14008d51e
cmp dword [rbx + 0x1c], 0x30
mov eax, 0x40
mov qword [rsp + 0x328], rsi
mov esi, 0x80
cmovl esi, eax
cmp r14d, esi
jle 0x14008d344
mov edx, dword [rbx + 0x1c]
lea rcx, [rbp + 0x30]
call qword [rbx]
mov r8d, r14d
lea rcx, [rbp + 0x30]
mov rdx, r15
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x30]
call qword [rbx + reloc.WS2_32.dll_recv]
mov r14d, dword [rbx + 0x1c]
lea r15, [rbp + 0x140]
cmp r12d, dword [rbx + 0x1c]
jle 0x14008d34e
mov r12d, dword [rbx + 0x1c]
mov r8d, r14d
lea rcx, [rsp + 0x30]
mov rdx, r15
call fcn.140063db0
mov edx, esi
movsxd rax, r14d
lea rcx, [rsp + 0x30]
sub edx, r14d
add rcx, rax
call fcn.140063da0
mov r8d, r14d
lea rcx, [rbp - 0x50]
mov rdx, r15
call fcn.140063db0
mov edx, esi
movsxd rax, r14d
lea rcx, [rbp - 0x50]
sub edx, r14d
add rcx, rax
call fcn.140063da0
xor edx, edx
mov r8d, edx
test esi, esi
jle 0x14008d469
cmp esi, 0x40
jb 0x14008d469
mov ecx, esi
and ecx, 0x8000003f
jge 0x14008d3bd
dec ecx
or ecx, 0xffffffc0
inc ecx
movdqa xmm2, xmmword [str.6666666666666666_]
mov eax, esi
movdqa xmm3, xmmword [0x14029d630]
sub eax, ecx
movsxd rcx, eax
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rdx + 0x30]
add r8d, 0x40
movdqu xmm1, xmmword [rbp + rdx - 0x50]
xorps xmm0, xmm2
movdqu xmmword [rsp + rdx + 0x30], xmm0
movdqu xmm0, xmmword [rsp + rdx + 0x40]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx - 0x50], xmm1
movdqu xmm1, xmmword [rbp + rdx - 0x40]
xorps xmm0, xmm2
movdqu xmmword [rsp + rdx + 0x40], xmm0
movdqu xmm0, xmmword [rsp + rdx + 0x50]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx - 0x40], xmm1
movdqu xmm1, xmmword [rbp + rdx - 0x30]
xorps xmm0, xmm2
movdqu xmmword [rsp + rdx + 0x50], xmm0
movdqu xmm0, xmmword [rsp + rdx + 0x60]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx - 0x30], xmm1
movdqu xmm1, xmmword [rbp + rdx - 0x20]
xorps xmm0, xmm2
xorps xmm1, xmm3
movdqu xmmword [rsp + rdx + 0x60], xmm0
movdqu xmmword [rbp + rdx - 0x20], xmm1
add rdx, 0x40
cmp rdx, rcx
jl 0x14008d3e0
movsxd rax, r8d
movsxd rdx, esi
cmp rax, rdx
jge 0x14008d492
nop dword [rax]
nop dword [rax + rax]
xor byte [rsp + rax + 0x30], 0x36
xor byte [rbp + rax - 0x50], 0x5c
inc rax
cmp rax, rdx
jl 0x14008d480
mov edx, dword [rbx + 0x1c]
lea rcx, [rbp + 0x30]
call qword [rbx]
mov r8d, esi
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r14, r13
test r13d, r13d
jle 0x14008d4ca
mov r8d, dword [rdi + 8]
lea rcx, [rbp + 0x30]
mov rdx, qword [rdi]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
lea rdi, [rdi + 0x10]
sub r14, 1
jne 0x14008d4b2
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x30]
call qword [rbx + reloc.WS2_32.dll_recv]
mov edx, dword [rbx + 0x1c]
lea rcx, [rbp + 0x30]
call qword [rbx]
mov r8d, esi
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x20]
lea rcx, [rbp + 0x30]
mov r8d, r12d
call qword [rbx + reloc.WS2_32.dll_recv]
mov rsi, qword [rsp + 0x328]
xor eax, eax
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1401f11e0
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret