Function at 0x14012958e
Capabilities:
Authenticate hmac
Encode data using base64
Execute anti-debugging instructions

Disassembly:
sbb rbp, 0xffffffffd1b2c8a3
and qword [rsp + rax - 0x1ffff97], 0x2fa81b8d
inc edi
btc rbp, rax
movzx ecx, dx
sar ax, 0xf
bswap edi
btr dx, bp
jb 0x1401192c7
rol edi, 2
inc edi
inc byte [rsp + rax - 0x1fffffd]
shl bx, 0x85
neg edi
dec qword [rsp + rax*2 - 0x3fffffe]
mov qword [rsp + rax*4 - 0x7fffffc], r10
btc ebx, ecx
xchg r9d, eax
xor dword [rsp + rbx - 0x1000000], edi
dec ebx
ror edx, 0x26
pop r10
cbw
cmovne r9w, bp
rol r9d, 0x52
movsxd rdi, edi
shr bpl, 0xc2
sar dl, 0x61
inc ax
adc r8, rdi
rol bx, 0x22
adc r9w, cx
mov rbp, qword [rsi + rbx*2 - 0x1fffffe]
adc r9w, cx
lea rcx, [r9 + 0x4c215d83]
mov dx, word [rbx + rsi - 0xfffff7]
cmovo r9w, ax
setp r9b
lea rsi, [rsi + rbx*2 - 0x1fffff4]
lea rdi, [rax + rax*4 + 0x18b04cbf]
mov word ss:[rbx + rbp - 0xffffff], dx
cdqe
push rdx
bts ecx, edx
not r9d
add rbp, rdi
bswap edi
mov qword [rsp + rdx*4 - 0xf4], r10
shr word [rsp + rdx*4 - 0xf6], cl
sal byte [rsp + rdx - 0x38], 0x46
push rbp
xor dword [rsp + rdx - 0x2f], r9d
neg ax
dec byte [rsp + rdx - 0x30]
cmova bx, word [rsp + rdx - 0x3e]
mov r10, qword [rsp + rdx*2 - 0x6e]
movsxd r9, r9d
dec rbx
cdq
add r8, r9
lea r9, [rax*4 - 0x44c937d4]
sal word [rsp + rbx*4 - 0x30898], 0x44
mov qword [rsp + rcx - 0x7ffffffa], rcx
movzx r9d, byte [r11 + rbx*4 - 0x308a0]
shl rcx, 0xaa
lea r11, [r11 + rbx - 0xc227]
xor r9b, r10b
sub r9b, 0x2a
or rbx, rdi
jge 0x140129282
cbw
mov qword [rsp + rdi*2], r8
ret 8
xadd bpl, dil
xor r9b, dl
sub qword [rsp + 0xc], 0xffffffffbda235a7
inc ebx
neg r9b
btc edi, 0x80
lea rdx, [rdi*8 + 0x528ad23d]
sbb r9b, 3
xadd qword [rsp + 0xe], rax
rol r9b, 1
xadd dword [rsp + 0xf], ebp
xor r10b, r9b
add ebp, edx
not qword [rsp + rbp - 0x4c6bbd36]
lea r9, [rsp + r9 + 0x18]
or byte [rsp + rbp - 0x4c6bbd38], bpl
movzx ax, byte [r9 + rbp - 0x4c6bbd46]
and word [rsp + rbp - 0x4c6bbd46], di
sal rbx, 0xdc
lea rsi, [rsi + rbp - 0x4c6bbd48]
movzx r9d, byte [rsp + rbp - 0x4c6bbd46]
dec word [rsp + r9 - 0x77]
mov word [rbp + rsi - 0x4c6bbd46], ax
inc dword [rsp + rbp - 0x4c6bbd39]
pop rcx
pop rbx
pop rcx
jle fcn.140146e5c
mov ebx, 0xb324f301
mov eax, dword [r11 + riz]
movzx edx, bx
sub rdx, 0xfffffffffeb69c0f
lea r11, [r11 + rdx*2 - 0x294ade0]
xor eax, r10d
movzx ebp, dx
ror eax, 2
movzx ecx, bx
lea eax, [rax + rdx + 0x34e7c42]
ror eax, cl
sar bx, cl
xadd rcx, rbp
bswap eax
shr rbx, 0xf8
push r10
lea r9, [rdx*2 + 0x5e180909]
movsx edi, bx
xor dword [rsp + rbx], eax
mov r10d, 0x2d13e098
shl di, 0x4c
rol bl, 0xc1
pop r10
rol dil, 0x62
setb bpl
movsxd rax, eax
neg ecx
jbe 0x14013e7f1
sub r9d, edi
movsx eax, byte [rsp + rdx*2 - 0x75213144]
sbb ecx, 0xdda9738f
inc di
shr word [rsp + rdx - 0x3a9098a1], 0x2b
cdqe
not ecx
movsx ebx, byte [rsp + r9 - 0x10011]
bswap ecx
sbb qword [rsp + rdx - 0x3a9098a2], 0xffffffffe5383c34
setb byte [rsp + rdx*2 - 0x75213141]
not ecx
neg ecx
xor al, dh
btr edi, 0xa2
not ecx
lea rax, [rdx + rdx*2 + 0x11acd123]
bswap ecx
and dx, ax
ror byte [rsp + r9*4 - 0x40040], 0xe1
btc edi, r9d
mov qword [rsp + rdx*2 - 0x75213000], r10
xor dword [rsp + rdx - 0x3a909800], ecx
btr dx, r9w
call fcn.14014c91f
mov eax, 0xc60505ac
mov edx, dword [r11 + riz]
add r11, 4
lea rcx, [rax - 0x74ef38e6]
xor edx, r10d
push rcx
xor edx, 0x69879c81
mov word [rsp + rcx - 0x5115ccc2], cx
lea rbp, [rax*4 - 0x4ed217d9]
bswap edx
movsx edi, al
mov r9d, ebp
ror edx, 1
inc edx
cwde
mov qword [rsp + rax*8 - 0x2d60], r10
cbw
xor dword [rsp + rax - 0xffac], edx
cbw
cdqe
neg r9w
pop r10
cdqe
movzx ebx, ax
shr rbp, 0x59
movsxd rdx, edx
and r9w, bp
adc r8, rdx
xadd edi, ebp
lea rcx, [rcx + 0x7e122091]
setp bl
mov ebx, dword [r11 + rax*4 - 0x3feb0]
sal ecx, cl
lea r11, [r11 + rax*2 - 0x1ff54]
btr edi, edi
bt di, di
xor ebx, r10d
push rbp
sub ebx, 0xb4a168a0
xor ebx, 0xc638801e
neg ebx
movzx edx, word [rsp + rax - 0xffa8]
dec ebx
bswap ebx
sal word [rsp + rax*4 - 0x3feae], 0xe1
lea ebx, [rbx + rax*8 + 0x312585ab]
shr dword [rsp + rax*2 - 0x1ff55], 0xda
not byte [rsp + rax - 0xffa5]
xor ebx, 0xe8a1ecbb
ror dword [rsp + rdi*4 - 0x43f], 0x1b
pop rax
xchg r9, rax
push r10
mov r10d, ebp
cqo
xor dword [rsp + rdi*2 - 0x220], ebx
pop r10
not rdx
btr cx, 0x94
lea rsi, [rsi + rdi*8 - 0x888]
mov qword [rdi + rsi - 0x110], rbx
lea rbx, [rbp + rbp*8 + 0x1ace7ae]
xadd ecx, r9d
push r9
pop rbp
jne fcn.140146e5c
mov qword [rsp + rcx*2 - 0x353a0a68], 0xffffffff82bad810
shr rcx, cl
mov eax, dword [rbx + rdi + 0x7a3c660a]
push rdi
lea rbx, [rdi*2 - 0xd569b52]
lea rsi, [rdi + rsi + 0x7a3c6606]
lea rdi, [rcx + r9*8 - 0x49db4d79]
xadd dil, dl
mov dword [rsi + rcx*2], eax
pop rbp
pop rdx
pop r9
pop rbp
jle fcn.140146e5c
mov ebp, 0x56885937
lea rdx, [rbp*4 - 0x5dd2d847]
mov ebp, dword [r11 + rbp - 0x56885937]
add r11, 4
mov r9d, 0xa9206185
xor ebp, r10d
movzx ecx, r9b
call fcn.1401145e0
neg edi
mov qword [rsp + r9 + 0x3ffbd692], 0x65339925
rol bl, 0x81
xadd rbp, r9
dec edi
shl rbx, 0xe0
bswap edi
jns 0x140117ee9
add r8, rax
not rbp
bt ecx, 0x9e
push rdi
mov esi, dword [rsi + rbx*4]
adc r9w, di
pop r9
jl fcn.140146e5c