Function at 0x140043bd0
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 0x140043cb9
lea rbx, [rbp - 0x10]
mov rcx, rbx
mov rdx, r12
call fcn.140049360
mov r12, qword [rbp - 0x38]
mov rax, qword [r12 + 0x18]
cmp rbx, r12
je 0x140043c79
cmp rax, 0x10
jb 0x140043c64
mov rcx, qword [r12]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140043c5f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
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 0x140043cb4
cmp rax, 0x10
jb 0x140043cb4
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140043caf
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
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 0x140044132
cmp rbx, 0xf
ja 0x140043d0f
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 0x140043da7
mov qword [rbp + 8], recv
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp r14, 0xfff
jb 0x140043d4f
lea rcx, [r14 + 0x28]
call fcn.140055524
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140043d5b
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 0x140043d8d
mov r14, qword [r12]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test rbx, rbx
js 0x140044137
cmp rbx, 0xf
ja 0x140043e0f
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], recv
movups xmm0, xmmword [r14]
movaps xmmword [rbp - 0x30], xmm0
test rbx, rbx
je 0x140043e87
xor ebx, ebx
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x30]
jmp 0x140043dde
xor byte [rdx + rbx], 0x5c
inc rbx
cmp rbx, qword [r12 + 0x10]
je 0x140043e00
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x140043dec
mov rdx, qword [rbp - 0x10]
xor byte [rdx + rbx], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x140043dd0
mov rdx, qword [rbp - 0x30]
jmp 0x140043dd0
sub rbx, 0x40
je 0x140043f32
neg rbx
jmp 0x140043e8c
mov qword [rbp - 0x18], recv
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp r15, 0xfff
jb 0x140043e4f
lea rcx, [r15 + 0x28]
call fcn.140055524
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140043e5b
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 0x140043dc4
mov ebx, 0x40
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, rbx
jae 0x140043eb5
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, rbx
mov r9, rbx
call fcn.140007ed0
jmp 0x140043edf
lea r14, [rcx + rbx]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x140043ec9
mov r15, qword [rbp - 0x10]
jmp 0x140043ecd
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 0x140043f08
mov byte [rsp + 0x20], 0x5c
lea rcx, [rbp - 0x30]
mov rdx, rbx
mov r9, rbx
call fcn.140007ed0
jmp 0x140043f32
lea r14, [rcx + rbx]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x140043f1c
mov r15, qword [rbp - 0x30]
jmp 0x140043f20
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 0x140043f40
mov rdi, qword [rdi]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140043f69
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rdi
call fcn.140002e80
jmp 0x140043f91
lea rbx, [rcx + r8]
mov qword [rbp], rbx
cmp rax, 0x10
jb 0x140043f7d
mov r14, qword [rbp - 0x10]
jmp 0x140043f81
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.140049360
mov r8, qword [rbp - 0x48]
cmp qword [rbp - 0x40], 0x10
jb 0x140043fb0
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 0x140043fd9
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x30]
mov rdx, r8
mov r9, rdi
call fcn.140002e80
jmp 0x140044001
lea rbx, [rcx + r8]
mov qword [rbp - 0x20], rbx
cmp rax, 0x10
jb 0x140043fed
mov r14, qword [rbp - 0x30]
jmp 0x140043ff1
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 0x140044040
mov rcx, qword [rbp - 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004403b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140049360
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
mov rdi, qword [rbp - 0x38]
jb 0x14004408f
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004408a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x1400440ca
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400440c5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140055568
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x140044104
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400440ff
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004412c
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