Function at 0x14029b340
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 [0x140601e40]
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.140295750
mov rbx, rax
test rax, rax
jne 0x14029b3a3
lea eax, [rbx - 1]
jmp 0x14029b5f5
cmp dword [rbx + 0x1c], 0x30
mov eax, 0x40
mov qword [rsp + 0x328], rsi
mov esi, 0x80
cmovl esi, eax
cmp r14d, esi
jle 0x14029b3f7
mov edx, dword [rbx + 0x1c]
lea rcx, [rsp + 0x30]
call qword [rbx]
mov r8d, r14d
lea rcx, [rsp + 0x30]
mov rdx, r15
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call qword [rbx + reloc.WS2_32.dll_recv]
mov r14d, dword [rbx + 0x1c]
lea r15, [rbp + 0x140]
cmp r12d, dword [rbx + 0x1c]
jle 0x14029b401
mov r12d, dword [rbx + 0x1c]
mov r8d, r14d
lea rcx, [rbp]
mov rdx, r15
call fcn.140295270
mov edx, esi
movsxd rax, r14d
lea rcx, [rbp]
sub edx, r14d
add rcx, rax
call fcn.140295260
mov r8d, r14d
lea rcx, [rbp + 0x80]
mov rdx, r15
call fcn.140295270
mov edx, esi
movsxd rax, r14d
lea rcx, [rbp + 0x80]
sub edx, r14d
add rcx, rax
call fcn.140295260
xor edx, edx
mov r8d, edx
test esi, esi
jle 0x14029b531
cmp esi, 0x40
jb 0x14029b531
mov ecx, esi
and ecx, 0x8000003f
jge 0x14029b474
dec ecx
or ecx, 0xffffffc0
inc ecx
movdqa xmm2, xmmword [str.6666666666666666R]
mov eax, esi
movdqa xmm3, xmmword [0x14047ca50]
sub eax, ecx
movsxd rcx, eax
nop dword [rax + rax]
movdqu xmm0, xmmword [rbp + rdx]
add r8d, 0x40
movdqu xmm1, xmmword [rbp + rdx + 0x80]
xorps xmm0, xmm2
movdqu xmmword [rbp + rdx], xmm0
movdqu xmm0, xmmword [rbp + rdx + 0x10]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx + 0x80], xmm1
movdqu xmm1, xmmword [rbp + rdx + 0x90]
xorps xmm0, xmm2
movdqu xmmword [rbp + rdx + 0x10], xmm0
movdqu xmm0, xmmword [rbp + rdx + 0x20]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx + 0x90], xmm1
movdqu xmm1, xmmword [rbp + rdx + 0xa0]
xorps xmm0, xmm2
movdqu xmmword [rbp + rdx + 0x20], xmm0
movdqu xmm0, xmmword [rbp + rdx + 0x30]
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx + 0xa0], xmm1
movdqu xmm1, xmmword [rbp + rdx + 0xb0]
xorps xmm0, xmm2
xorps xmm1, xmm3
movdqu xmmword [rbp + rdx + 0x30], xmm0
movdqu xmmword [rbp + rdx + 0xb0], xmm1
add rdx, 0x40
cmp rdx, rcx
jl 0x14029b490
movsxd rax, r8d
movsxd rdx, esi
cmp rax, rdx
jge 0x14029b555
nop dword [rax]
xor byte [rbp + rax], 0x36
xor byte [rbp + rax + 0x80], 0x5c
inc rax
cmp rax, rdx
jl 0x14029b540
mov edx, dword [rbx + 0x1c]
lea rcx, [rsp + 0x30]
call qword [rbx]
mov r8d, esi
lea rdx, [rbp]
lea rcx, [rsp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r14, r13
test r13d, r13d
jle 0x14029b599
nop word [rax + rax]
mov r8d, dword [rdi + 8]
lea rcx, [rsp + 0x30]
mov rdx, qword [rdi]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
lea rdi, [rdi + 0x10]
sub r14, 1
jne 0x14029b580
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x30]
call qword [rbx + reloc.WS2_32.dll_recv]
mov edx, dword [rbx + 0x1c]
lea rcx, [rsp + 0x30]
call qword [rbx]
mov r8d, esi
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx + 0x1c]
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x20]
lea rcx, [rsp + 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.140284180
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret