Function at 0x140009590
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov r12, r8
mov rdi, rdx
mov rsi, rcx
mov rbx, qword [r8 + 0x10]
cmp rbx, 0x41
mov qword [rbp - 0x38], r8
jb 0x140009679
lea rbx, [rbp - 0x10]
mov rcx, rbx
mov rdx, r12
call fcn.14004af80
mov r12, qword [rbp - 0x38]
mov rax, qword [r12 + 0x18]
cmp rbx, r12
je 0x140009639
cmp rax, 0x10
jb 0x140009624
mov rcx, qword [r12]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000961f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
movups xmm0, xmmword [rbp - 0x10]
movups xmm1, xmmword [rbp]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
jmp 0x140009674
cmp rax, 0x10
jb 0x140009674
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000966f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov rbx, qword [r12 + 0x10]
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov r14, qword [r12]
mov rax, qword [r12 + 0x18]
cmp rax, 0x10
mov r15, r12
cmovae r15, r14
test rbx, rbx
js 0x140009af2
cmp rbx, 0xf
ja 0x1400096cf
mov qword [rbp], rbx
mov qword [rbp + 8], recv
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
cmp rax, 0x10
cmovb r14, r12
jmp 0x140009767
mov qword [rbp + 8], recv
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp r14, 0xfff
jb 0x14000970f
lea rcx, [r14 + 0x28]
call fcn.140055524
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14000971b
lea rcx, [r14 + 1]
call fcn.140055524
mov rcx, rax
mov qword [rbp - 0x10], rcx
mov qword [rbp], rbx
mov qword [rbp + 8], r14
inc rbx
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r12, qword [rbp - 0x38]
mov rbx, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 0x10
mov r14, r12
jb 0x14000974d
mov r14, qword [r12]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test rbx, rbx
js 0x140009af7
cmp rbx, 0xf
ja 0x1400097cf
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], recv
movups xmm0, xmmword [r14]
movaps xmmword [rbp - 0x30], xmm0
test rbx, rbx
je 0x140009847
xor ebx, ebx
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x30]
jmp 0x14000979e
xor byte [rdx + rbx], 0x5c
inc rbx
cmp rbx, qword [r12 + 0x10]
je 0x1400097c0
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x1400097ac
mov rdx, qword [rbp - 0x10]
xor byte [rdx + rbx], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x140009790
mov rdx, qword [rbp - 0x30]
jmp 0x140009790
sub rbx, 0x40
je 0x1400098f2
neg rbx
jmp 0x14000984c
mov qword [rbp - 0x18], recv
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp r15, 0xfff
jb 0x14000980f
lea rcx, [r15 + 0x28]
call fcn.140055524
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14000981b
lea rcx, [r15 + 1]
call fcn.140055524
mov rcx, rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], r15
inc rbx
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r12, qword [rbp - 0x38]
mov rbx, qword [r12 + 0x10]
test rbx, rbx
jne 0x140009784
mov ebx, 0x40
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, rbx
jae 0x140009875
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, rbx
mov r9, rbx
call fcn.140007ed0
jmp 0x14000989f
lea r14, [rcx + rbx]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x140009889
mov r15, qword [rbp - 0x10]
jmp 0x14000988d
lea r15, [rbp - 0x10]
add rcx, r15
mov dl, 0x36
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [r15 + r14], 0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, rbx
jae 0x1400098c8
mov byte [rsp + 0x20], 0x5c
lea rcx, [rbp - 0x30]
mov rdx, rbx
mov r9, rbx
call fcn.140007ed0
jmp 0x1400098f2
lea r14, [rcx + rbx]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x1400098dc
mov r15, qword [rbp - 0x30]
jmp 0x1400098e0
lea r15, [rbp - 0x30]
add rcx, r15
mov dl, 0x5c
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [r15 + r14], 0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x140009900
mov rdi, qword [rdi]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140009929
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rdi
call fcn.140002e80
jmp 0x140009951
lea rbx, [rcx + r8]
mov qword [rbp], rbx
cmp rax, 0x10
jb 0x14000993d
mov r14, qword [rbp - 0x10]
jmp 0x140009941
lea r14, [rbp - 0x10]
add rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rbx], 0
lea rdi, [rbp - 0x58]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.14004af80
mov r8, qword [rbp - 0x48]
cmp qword [rbp - 0x40], 0x10
jb 0x140009970
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140009999
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x30]
mov rdx, r8
mov r9, rdi
call fcn.140002e80
jmp 0x1400099c1
lea rbx, [rcx + r8]
mov qword [rbp - 0x20], rbx
cmp rax, 0x10
jb 0x1400099ad
mov r14, qword [rbp - 0x30]
jmp 0x1400099b1
lea r14, [rbp - 0x30]
add rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rbx], 0
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x140009a00
mov rcx, qword [rbp - 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400099fb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.14004af80
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
mov rdi, qword [rbp - 0x38]
jb 0x140009a4f
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140009a4a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x140009a8a
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140009a85
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x140009ac4
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140009abf
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140009aec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], recv
mov byte [rdi], 0
mov rax, rsi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.140001860
call fcn.140001860
int3