Function at 0x121f31cc4dd
Capabilities:
Authenticate hmac
Encrypt data using chaskey
Execute anti-debugging instructions
Parse pe header

Disassembly:
movzx ebp, byte [r8 + rdi - 0x78a26c04]
mov r11d, dword [rsp + rdi - 0x78a26bed]
call fcn.121f31ef8a0
mov r11d, 0x3000d097
lea rax, [r11 - 0x7e793865]
sar r11b, 3
rdtsc
jnp 0x121f320a747
mov rdi, qword [r9 + rbp - 0x24175c04]
or edx, ebp
xadd dl, dh
adc r11, rdi
btc ebp, 0x96
mov ecx, 0xe33e7113
jb 0x121f31d500a
mov qword [rbp + r9 - 0x24575c04], r11
mov r11d, dword [rbp + r8 - 0x24575c10]
jae 0x121f321aa98
mov edx, 0x51bde0ac
lea r8, [r8 + rdx - 0x51bde0b0]
movsx edi, dx
mov ebp, edx
ror dx, 0xa
mov ecx, dword [rdx + r8 - 0x51bd2b38]
movzx r11d, bp
lea rax, [rbp + rdx*2 - 0x19c6c455]
lea rbx, [rbp + r11*8 + 0x886e21e]
xor ecx, r10d
sar bp, 0xe1
jge 0x121f321a22c
shr al, 0x65
dec ecx
bswap ebp
inc dx
add edx, edx
ror ecx, 3
not dil
btr r11d, eax
dec ecx
inc dl
mul edi
rol ecx, 3
inc ecx
sar ebp, 0x88
dec dx
or ebp, ebx
xor ecx, 0xa8addb1
sub r11b, r11b
setb dil
not ecx
dec ecx
cqo
push r10
add rdi, rbp
xor dword [rsp + rdx], ecx
idiv r11w
dec al
sub ax, di
pop r10
ja 0x121f32292e2
sub r8, 4
mov ebp, 0xd408ff97
mov r11d, ebp
lea rbx, [r11 + r11 - 0x1c55b375]
mov ecx, dword [r8 + riz]
lea rbp, [rbp*4 - 0x3be7687b]
bts r11w, bp
xor ecx, r10d
lea rbp, [r11 + rbp*8 - 0x48cffbed]
xor r11d, r11d
rol ecx, 1
dec r11d
sub r11w, bx
movzx edx, bl
dec ecx
xor ebx, r11d
bswap ecx
lea rdi, [rdx + rbx*4 + 0x420e2699]
neg rdi
lea ecx, [rcx + rbx*2 - 0x2255ab79]
btr dx, dx
sbb r11b, 0x8f
or ebp, r11d
xor ecx, 0xf11b8617
bts r11d, 0x29
setae dl
dec rbp
push r10
rol bx, 0x23
movzx eax, bpl
xor dword [rsp + rdx*2 - 2], ecx
btc bp, 0x95
sar edi, 0x14
js 0x121f31e2c58
pop r10
div r11b
movsxd rcx, ecx
lea rax, [rbx + rbp + 0xd96f81e]
add rsi, rcx
mov dl, byte [r9 + rdx*4 - 4]
add eax, ebx
mov bpl, byte [r9 + rbx - 0x7443fffd]
mov ecx, r11d
or al, r11b
shr al, 0x87
lea r9, [r9 + rbx - 0x7443fffd]
cbw
and rax, 0xfffffffffd25ca98
rol rdi, cl
or dl, bpl
movzx ebp, ax
cbw
xor dl, bl
dec di
mov word [rbx + r9 - 0x7443ffff], dx
not dil
shr rdi, 0x13
jns 0x121f3217bfd
adc rsi, rcx
or eax, r11d
setae bl
div rdi
mov rbx, qword [r9 + rdx - 0x7c2be473]
not r11
mov r11, qword [r9 + r11*2 + 0x1c00a]
bt edx, edi
inc dl
lea r9, [rdx + r9 - 0x7c2be46c]
inc edi
rol bpl, 0x85
cdqe
add rbx, r11
mov qword [rdx + r9 - 0x7c2be474], rbx
sar ebp, 0x1f
jbe 0x121f3219540
mov ecx, r11d
ja 0x121f31e2b37
lea r9, [r9 + rcx*2 - 0x6001a1ec]
movzx ebx, r11w
mov dword [r9 + r11*2 - 0x6001a1e0], eax
mov dword [r9 + rcx*2 - 0x6001a1e4], edx
mov ebp, r11d
sar r11w, 0x88
xadd rbx, rbp
lea r8, [r11 + r8 - 0x3000ffd4]
mov edi, ebx
sal cx, 0x8d
mov ebx, dword [r8 + rcx*2 - 0x60008000]
movzx eax, bpl
btc r11, rdi
imul ecx, ecx
xor ebx, r10d
bts r11, r11
sub ebp, edi
xor ebx, 0x2c0d1995
inc ebx
mov edx, edi
ror ebx, 2
not al
dec ecx
not ebx
push r10
movzx r10d, r11b
ror dx, 0x4a
xor dword [rsp + rcx - 0xfffffff], ebx
pop r10
inc rbp
movsxd rbx, ebx
cqo
add rsi, rbx
jmp 0x121f31d3a07
add rbp, rsi
jmp rbp
movzx eax, dl
lea r8, [rax + r8 - 0xff]
jae 0x121f322b481
movsxd rcx, ecx
jne 0x121f31e947f
mov ebx, 0x1f9d5725
lea rbp, [rbx + rbx*8 - 0x5260b067]
lea r8, [r8 + rbx*2 - 0x3f3aae4b]
movzx ebp, byte [rbx + r8 - 0x1f9d5725]
neg ebx
xor bpl, r10b
inc bpl
lea rax, [rbx + rbx*2 + 0x9b82bac]
movzx edi, al
mov edx, eax
not bpl
cwde
ror bpl, 1
movsx r11d, bl