Function at 0x140083f70
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
push rdi
mov dword [rsp - 0xc], 0x7951ce45
push r12
push r13
push r14
sub rsp, 0x30
mov rsp, rsp
movsd xmm0, qword [r8]
xor ebp, ebp
movsd qword [rsp + 0x20], xmm0
mov r14, r8
xchg r11, r11
mov eax, dword [rsp + 0x20]
mov rsi, rdx
mov rdi, rcx
mov dword [rsp - 0x24], 0x7f67535d
cmp eax, 2
jne 0x140083fc3
xor r12d, r12d
mov dword [rsp - 0x2c], 0x414d2eee
jmp 0x140084032
mov r8, qword [rsp + 0x20]
test eax, eax
jne 0x140083fe3
mov rcx, r8
mov dword [rsp - 0xc], 0x408873b0
shr rcx, 0x20
shr ecx, 2
and ecx, 8
jmp 0x140084017
mov rax, r8
shr rax, 0x20
mov dword [rsp - 0x44], 0x593f4d86
mov edx, eax
shr edx, 2
not edx
and edx, 1
mov dword [rsp - 0x2c], 0x206b66c0
mov ecx, edx
test al, 8
jne 0x140084017
or edx, 2
mov dword [rsp - 0x18], 0x286e131
mov ecx, edx
mov r12d, ecx
shr r8, 0x20
mov dword [rsp - 0x30], 0x6ea09a9
or r12d, 4
test r8b, 0x10
cmovne r12d, ecx
test r12b, 8
mov dword [rsp - 0x2c], 0x2a1e3c7b
pushf
mov eax, 0xcbc29a1
add eax, 0x1f2dbb2b
xor eax, 0x1f8e3f02
mov rdi, rdi
xor eax, 0x28239aba
add eax, 0x53677c9b
xor eax, 0x6fabbe06
xchg r10, r10
popf
pushf
mov r13d, 0x21df56e6
xor r13d, 0xc8f84d2
mov dword [rsp - 0x38], esi
add r13d, 0x4582fe41
sub r13d, 0x659466dd
xor r13d, 0xd3f69b8
popf
xchg r15, r15
cmovne r13d, eax
test rsi, rsi
je 0x140084b22
mov qword [rsp + 0x60], rbx
xchg r15, r15
lea rdx, [0x140000000]
mov qword [rsp + 0x68], r15
movabs r9, 0xcccccccc3026a494
xchg rdi, rdi
sub r9, 0xcd86f7b
sub r9, 0x4a4afb0
add r9, 0x32214a00
mov dword [rsp - 0x20], esi
xor r9, 0x686eab2f
add r9, 0x7fffffff
xor r9, 0x7468a888
movabs r10, 0x666666665dfe9243
xchg rsi, rsi
sub r10, 0xa8123b2
add r10, 0x134f9b61
xor r10, 0x43c5e488
mov r10, r10
xor r10, 0x5b26448e
sub r10, 0x27087bef
add r10, 0xf403862
nop dword [rax]
xchg r11, r11
mov eax, dword [rsi + 8]
dec eax
cmp eax, 6
xchg r10, r10
ja case.default.0x14008414f
cdqe
mov ecx, dword [rdx + rax*4 + 0x84b47]
mov r11, r11
add rcx, rdx
jmp rcx
cmp qword [rsi + 0x38], 0
jne 0x14008424e
mov dword [rsp - 0x1c], esi
cmp qword [rsi + 0x10], 0
jne 0x140084190
mov word [rdi], 0x83a
mov dword [rsp - 0x44], edx
xor word [rdi], 0x1d06
add word [rdi], 0x1ea7
xor word [rdi], 0x2e2d
add word [rdi], 0x3f8d
xchg rsp, rsp
add rdi, 2
jmp case.default.0x14008414f
mov byte [rdi], 0x66
sub byte [rdi], 0x33
xor byte [rdi], 0x2b
add byte [rdi], 0x12
mov r13, r13
xor byte [rdi], 0x71
inc rdi
test r12b, 1
mov dword [rsp - 0x18], 0x27e97fb6
je 0x1400841d2
mov byte [rdi], 0x22
add byte [rdi], 0x14
xchg rdx, rdx
sub byte [rdi], 0x10
xor byte [rdi], 0x7c
sub byte [rdi], 0x59
add byte [rdi], 0x3e
mov dword [rsp - 0x40], edi
sub byte [rdi], 0x1f
inc rdi
add ebp, dword [r14 + 8]
xchg r8, r8
cmp dword [r14], 0
jne 0x14008424e
test byte [r14 + 4], 2
xchg rbx, rbx
je 0x14008420c
mov byte [rdi], 0
add byte [rdi], 0x7d
mov dword [rsp - 0x1c], 0x72fcab05
sub byte [rdi], 0x7a
add byte [rdi], 0x1f
xor byte [rdi], 2
sub byte [rdi], 1
xchg r15, r15
xor byte [rdi], 0x12
inc rdi
mov byte [rdi], 0x4a
xor byte [rdi], 0x2a
mov dword [rsp - 0x14], edi
sub byte [rdi], 0x1b
sub byte [rdi], 0x33
add byte [rdi], 0x5e
xor byte [rdi], 0x7a
mov dword [rsp - 0x40], 0x69d900f2
inc rdi
test ebp, ebp
jle 0x14008424e
movsxd rbx, ebp
mov dword [rsp - 0x14], esp
movzx edx, r13b
mov r8, rbx
mov rcx, rdi
call fcn.14007b3d0
mov dword [rsp - 0x2c], edi
add rdi, rbx
mov rax, qword [rsi + 0x38]
cmp rax, qword [rsi + 0x10]
xchg rdi, rdi
jne 0x140084343
sub ebp, dword [r14 + 8]
cmp dword [r14], 0
mov dword [rsp - 0x2c], edi
jne 0x1400842cf
test byte [r14 + 4], 2
je 0x14008428c
mov rdx, rdx
mov byte [rdi], 0x6d
sub byte [rdi], 0x36
xor byte [rdi], 0x2f
xor byte [rdi], 0x1f
xchg rsi, rsi
add byte [rdi], 6
inc rdi
mov byte [rdi], 7
xchg rcx, rcx
xor byte [rdi], 0x55
sub byte [rdi], 0x41
add byte [rdi], 0x3a
xchg r15, r15
sub byte [rdi], 0x35
sub byte [rdi], 0xc
inc rdi
mov dword [rsp - 0x3c], ecx
test ebp, ebp
jle 0x1400842cf
movsxd rbx, ebp
mov dword [rsp - 0x30], 0x41391d4
movzx edx, r13b
mov r8, rbx
mov rcx, rdi
xchg rbx, rbx
call fcn.14007b3d0
add rdi, rbx
test r12b, 1
mov rsp, rsp
je 0x1400842f6
mov byte [rdi], 0xf
add byte [rdi], 0x5c
mov dword [rsp - 0x38], 0x6bf82293
xor byte [rdi], 0x13
xor byte [rdi], 0x7d
add byte [rdi], 0x1b
inc rdi
mov dword [rsp - 0x28], esp
mov byte [rdi], 0x60
xor byte [rdi], 0x4a
xor byte [rdi], 0x4a
mov rcx, rcx
add byte [rdi], 0xc
xor byte [rdi], 0x72
add byte [rdi], 0x3f
inc rdi
mov dword [rsp - 0x3c], edi
mov qword [rsi + 0x38], 0xd21b7fe
xor qword [rsi + 0x38], 0x64b09c41
sub qword [rsi + 0x38], 0x148488b4
mov dword [rsp - 0x3c], edi
add qword [rsi + 0x38], 0x29a3259e
xor qword [rsi + 0x38], 0x7eafc8a9
jmp case.default.0x14008414f
test rax, rax
je 0x14008440b
mov byte [rdi], 0x27
xchg rdx, rdx
add byte [rdi], 0x14
xor byte [rdi], 4
xor byte [rdi], 0x6e
xchg r13, r13
sub byte [rdi], 0x28
add byte [rdi], 3
inc rdi
test r12b, 2
mov rcx, rcx
je 0x140084397
mov byte [rdi], 0x67
sub byte [rdi], 0xf
mov dword [rsp - 0x2c], 0x3805e66
sub byte [rdi], 0x11
xor byte [rdi], 0x24
xor byte [rdi], 0x34
mov dword [rsp - 0x40], edi
sub byte [rdi], 0x1a
xor byte [rdi], 0x1d
inc rdi
xchg rsp, rsp
cmp dword [r14], 0
jne 0x14008440b
test byte [r14 + 4], 2
je 0x1400843ca
mov rsi, rsi
mov byte [rdi], 7
xor byte [rdi], 0x73
xor byte [rdi], 0x62
mov dword [rsp - 0x30], 0xb2e2045
add byte [rdi], 0x2b
add byte [rdi], 0xa
add byte [rdi], 9
sub byte [rdi], 0x47
xchg r9, r9
inc rdi
mov byte [rdi], 0x22
add byte [rdi], 0x44
mov dword [rsp - 0x3c], ecx
sub byte [rdi], 0x24
sub byte [rdi], 5
xor byte [rdi], 0xe
xor byte [rdi], 0x39
xchg r11, r11
inc rdi
test ebp, ebp
jle 0x14008440b
mov dword [rsp - 0x44], ebx
movsxd rbx, ebp
movzx edx, r13b
mov r8, rbx
mov rcx, rdi
mov dword [rsp - 0x14], 0xecd3141
call fcn.14007b3d0
add rdi, rbx
mov rcx, qword [rsi + 0x38]
mov dword [rsp - 0x18], 0x6153c305
mov rax, qword [rsi + 0x18]
inc rcx
mov qword [rsi + 0x38], rcx
mov rsi, qword [rax + rcx*8 - 8]
mov dword [rsp - 0x10], ebx
jmp 0x140084a5f
cmp qword [rsi + 0x38], 0
jne 0x140084550
cmp qword [rsi + 0x10], 0
jne 0x14008447d
mov dword [rsp - 0x3c], 0x444eea0c
mov word [rdi], 0x30ef
add word [rdi], 0x45e8
xor word [rdi], 0x4f15
mov rdi, rdi
add word [rdi], 0x32ce
sub word [rdi], 0x2f07
add word [rdi], 0x426
mov dword [rsp - 0x40], ebp
xor word [rdi], 0x3cd4
add rdi, 2
jmp case.default.0x14008414f
mov byte [rdi], 0x57
xor byte [rdi], 0x7c
mov dword [rsp - 0x34], ecx
add byte [rdi], 0x44
xor byte [rdi], 0x66
add byte [rdi], 0xc
add byte [rdi], 0x4f
mov dword [rsp - 0x40], ecx
xor byte [rdi], 0x1f
inc rdi
test r12b, 1
je 0x1400844ca
mov dword [rsp - 0x34], ebx
mov byte [rdi], 0x21
add byte [rdi], 0x3c
sub byte [rdi], 0xc
xor byte [rdi], 0xd
mov r8, r8
xor byte [rdi], 0x29
xor byte [rdi], 0x23
sub byte [rdi], 0x36
inc rdi
mov dword [rsp - 0x24], 0x58dd3f36
add ebp, dword [r14 + 8]
cmp dword [r14], 0
jne 0x140084550
mov r8, r8
test byte [r14 + 4], 2
je 0x140084505
mov byte [rdi], 0x70
mov dword [rsp - 0x2c], edi
sub byte [rdi], 5
sub byte [rdi], 0x10
sub byte [rdi], 0x24
xchg r8, r8
add byte [rdi], 0x3d
sub byte [rdi], 3
sub byte [rdi], 0x64
mov dword [rsp - 0x30], 0x7788fd34
inc rdi
mov byte [rdi], 0x30
xor byte [rdi], 0x31
xor byte [rdi], 0x68
mov dword [rsp - 0xc], 0x4244c961
sub byte [rdi], 0x28
xor byte [rdi], 0x64
xor byte [rdi], 0x6c
mov rbx, rbx
sub byte [rdi], 0x3f
inc rdi
test ebp, ebp
mov dword [rsp - 0x34], 0x5d442022
jle 0x140084550
movsxd rbx, ebp
movzx edx, r13b
mov dword [rsp - 0x40], ecx
mov r8, rbx
mov rcx, rdi
call fcn.14007b3d0
add rdi, rbx
mov r15, r15
mov rax, qword [rsi + 0x38]
cmp rax, qword [rsi + 0x10]
jne 0x140084675
mov dword [rsp - 0x44], 0x52d26772
sub ebp, dword [r14 + 8]
cmp dword [r14], 0
jne 0x1400845ee
mov dword [rsp - 0x1c], esi
test byte [r14 + 4], 2
je 0x1400845a2
mov byte [rdi], 0x6b
xchg r11, r11
xor byte [rdi], 0x3f
xor byte [rdi], 0x18
xor byte [rdi], 0x54
mov dword [rsp - 0x38], 0xdea1540
add byte [rdi], 0x3f
xor byte [rdi], 0x19
xor byte [rdi], 0x43
mov dword [rsp - 0x34], ebx
inc rdi
mov byte [rdi], 0xd
xor byte [rdi], 0x67
mov rbx, rbx
xor byte [rdi], 0x44
sub byte [rdi], 3
sub byte [rdi], 0x1b
add byte [rdi], 0x66
mov dword [rsp - 0x28], 0xe954941
xor byte [rdi], 0x7c
inc rdi
test ebp, ebp
mov dword [rsp - 0x38], ebx
jle 0x1400845ee
movsxd rbx, ebp
movzx edx, r13b
mov r8, rbx
mov dword [rsp - 0x44], 0x4d761c31
mov rcx, rdi
call fcn.14007b3d0
add rdi, rbx
mov dword [rsp - 0x30], esp
test r12b, 1
je 0x140084616
mov byte [rdi], 0x40
add byte [rdi], 0x17
mov dword [rsp - 0xc], 0x30d5981
sub byte [rdi], 0x36
sub byte [rdi], 0x21
add byte [rdi], 0x20
mov dword [rsp - 0x30], 0x3b823221
inc rdi
mov byte [rdi], 0x54
sub byte [rdi], 0x4b
add byte [rdi], 0xe
mov r10, r10
add byte [rdi], 0x23
add byte [rdi], 0x19
add byte [rdi], 0x2a
xchg rdx, rdx
inc rdi
mov qword [rsi + 0x38], 0x5e72a35f
sub qword [rsi + 0x38], 0x3c56a783
xor qword [rsi + 0x38], 0x11c038db
mov dword [rsp - 0x24], ebx
xor qword [rsi + 0x38], 0x49dc1907
xor qword [rsi + 0x38], 0x13dd6c69
sub qword [rsi + 0x38], 0x171fd1be
sub qword [rsi + 0x38], 0x52bae4ab
xchg rcx, rcx
jmp case.default.0x14008414f
test rax, rax
je 0x140084731
mov byte [rdi], 0x72
sub byte [rdi], 0x38
mov rcx, rcx
sub byte [rdi], 0x2a
xor byte [rdi], 0x72
xor byte [rdi], 0x5a
sub byte [rdi], 0x17
mov rsi, rsi
xor byte [rdi], 0xd
inc rdi
test r12b, 2
xchg rbp, rbp
je 0x1400846c6
mov byte [rdi], 0x77
sub byte [rdi], 0x52
xchg r13, r13
xor byte [rdi], 0x4e
xor byte [rdi], 0x13
sub byte [rdi], 0x28
mov r8, r8
xor byte [rdi], 0x1b
sub byte [rdi], 0x2b
inc rdi
xchg rdx, rdx
cmp dword [r14], 0
jne 0x140084731
test byte [r14 + 4], 2
je 0x1400846f1
xchg rdx, rdx
mov byte [rdi], 0x33
add byte [rdi], 0xb
xor byte [rdi], 0x70
xchg rsi, rsi
xor byte [rdi], 0x70
sub byte [rdi], 0xf
sub byte [rdi], 0x22
mov rdx, rdx
inc rdi
mov byte [rdi], 0x40
xor byte [rdi], 0x2c
mov dword [rsp - 0x30], 0xb592dbc
xor byte [rdi], 0x24
xor byte [rdi], 0x66
xor byte [rdi], 0x30
xor byte [rdi], 0x14
mov dword [rsp - 0x20], ecx
inc rdi
test ebp, ebp
jle 0x140084731
xchg rsp, rsp
movsxd rbx, ebp
movzx edx, r13b
mov r8, rbx
mov rcx, rdi
xchg rsi, rsi
call fcn.14007b3d0
add rdi, rbx
mov rax, qword [rsi + 0x38]
xchg r12, r12
mov r15, qword [rsi + 0x18]
lea rbx, [rax + rax*2]
inc rax
mov qword [rsi + 0x38], rax
mov dword [rsp - 0x28], esi
mov byte [rdi], 0x31
sub byte [rdi], 0x10
add byte [rdi], 0x4d
mov rcx, rcx
sub byte [rdi], 0x6b
add byte [rdi], 0x2c
sub byte [rdi], 0xd
mov rbp, rbp
inc rdi
mov r8, qword [r15 + rbx*8]
mov rcx, rdi
mov dword [rsp - 0x14], esp
mov rdx, qword [r15 + rbx*8 + 8]
call fcn.140084e10
add rdi, rax
mov dword [rsp - 0x38], 0x39c49db7
mov word [rdi], 0x35ac
add word [rdi], 0x3e4b
sub word [rdi], 0x637d
add word [rdi], 0x5e4e
mov dword [rsp - 0x24], 0x12963a98
sub word [rdi], 0x34a6
add rdi, 2
test r12b, 4
je 0x1400847d2
mov rsi, rsi
mov byte [rdi], 0x1f
xor byte [rdi], 0x48
xor byte [rdi], 0x4b
add byte [rdi], 0
mov r8, r8
sub byte [rdi], 0x13
xor byte [rdi], 0x2e
sub byte [rdi], 7
inc rdi
mov rdi, rdi
mov rsi, qword [r15 + rbx*8 + 0x10]
jmp 0x140084a5f
mov byte [rdi], 0x21
add byte [rdi], 0xd
mov dword [rsp - 0x18], esp
sub byte [rdi], 0x21
xor byte [rdi], 0x71
xor byte [rdi], 0x53
xor byte [rdi], 0xd
mov dword [rsp - 0x24], edi
inc rdi
mov r8, qword [rsi + 0x18]
mov rcx, rdi
mov rdx, qword [rsi + 0x10]
mov dword [rsp - 0x10], 0x4dfac5fe
call fcn.140084e10
add rdi, rax
mov byte [rdi], 0x6d
mov dword [rsp - 0x14], edi
xor byte [rdi], 0x13
sub byte [rdi], 0x6b
add byte [rdi], 0xe
mov rbp, rbp
sub byte [rdi], 0xe
add byte [rdi], 0xf
inc rdi
jmp case.default.0x14008414f
mov rdx, qword [rsi + 0x10]
test rdx, rdx
jns 0x14008485a
mov byte [rdi], 0x7b
xchg rsp, rsp
sub byte [rdi], 0x59
add byte [rdi], 0x23
xor byte [rdi], 0x44
mov dword [rsp - 0x38], esp
xor byte [rdi], 0x2c
inc rdi
neg rdx
inc rdi
mov r11, r11
mov r8, rdx
cmp rdx, 0xa
jl 0x140084888
nop dword [rax + rax]
xchg r13, r13
mov rax, r9
inc rdi
mul rdx
mov dword [rsp - 0x40], edi
shr rdx, 3
cmp rdx, 0xa
jge 0x140084871
mov r9, rdi
mov dword [rsp - 0x24], 0x1336780e
nop word [rax + rax]
mov rax, r10
lea r9, [r9 - 1]
mov r13, r13
imul r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
mov dword [rsp - 0x30], 0x7cc3752f
add rdx, rax
movzx eax, dl
shl al, 2
mov dword [rsp - 0x18], esi
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
mov dword [rsp - 0x28], 0x3af3a6c8
add r8b, 0x30
mov byte [r9], r8b
mov r8, rdx
mov r14, r14
test rdx, rdx
jg 0x14008489d
jmp case.default.0x14008414f
movsd xmm2, qword [rsi + 0x10]
lea rdx, [0x140002a74]
mov dword [rsp - 0x28], 0x6ee0c79a
movq r8, xmm2
mov rcx, rdi
mov rbx, rdi
mov dword [rsp - 0x34], ebx
call fcn.140084f40
movsxd rcx, eax
mov edx, 0x267653b9
add edx, 0x27db59a9
mov dword [rsp - 0x18], 0x196674a9
sub edx, 0x47bdb477
xor edx, 0x1a4a7976
xor edx, 0x6da91bc4
add edx, 0xd8c384b
mov dword [rsp - 0x3c], 0x2b0de457
sub edx, 0x7efcd278
add rdi, rcx
mov rcx, rbx
mov dword [rsp - 0xc], ecx
call fcn.14007bda0
test rax, rax
je 0x140084986
mov byte [rax], 0x7a
xchg r11, r11
sub byte [rax], 0x20
sub byte [rax], 0x54
add byte [rax], 5
add byte [rax], 0x41
mov rsi, rsi
sub byte [rax], 0x1e
jmp case.default.0x14008414f
mov edx, 0x3270b898
add edx, 0x26bad79b
xor edx, 0x255ee176
sub edx, 0x53a7152c
xchg rcx, rcx
sub edx, 0x28ce5beb
mov rcx, rbx
call fcn.14007bda0
mov dword [rsp - 0x40], esi
test rax, rax
jne case.default.0x14008414f
mov word [rdi], 0x7630
xchg r15, r15
sub word [rdi], 0x1a3b
add word [rdi], 0x11ff
xor word [rdi], 0xd50
mov dword [rsp - 0x44], 0x156497bc
sub word [rdi], 0x3076
add rdi, 2
jmp case.default.0x14008414f
cmp dword [rsi + 0x10], 0
je 0x140084a1c
mov dword [rsp - 0x38], 0x29a13fd3
mov dword [rdi], 0x1952b1f5
add dword [rdi], 0x4a052ab6
sub dword [rdi], 0x6118546d
mov r9, r9
xor dword [rdi], 0x67ac1fbd
add dword [rdi], 0x14285448
xor dword [rdi], 0x1cce99bf
jmp 0x140084a58
mov eax, dword [0x140002a78]
mov dword [rdi], eax
movzx eax, byte [0x140002a7c]
mov r14, r14
mov byte [rdi + 4], al
add rdi, 5
jmp case.default.0x14008414f
mov dword [rdi], 0x6f39eb42
sub dword [rdi], 0x72933d5
sub dword [rdi], 0x217f1fe5
xor dword [rdi], 0x6f0c8401
xchg r10, r10
add dword [rdi], 0x42cf61e5
add rdi, 4
mov rsi, qword [rsi]
lea rdx, [0x140000000]
mov r9, r9
movabs r9, 0xcccccccc5922225d
add r9, 0x1fb5dbbd
sub r9, 0x140f672e
xor r9, 0x50652b97
mov rbx, rbx
add r9, 0x7fffffff
add r9, 0x181f0f53
movabs r10, 0x666666661c3623cf
mov dword [rsp - 0x10], 0x3f92e14a
add r10, 0x3fce3a91
sub r10, 0x43fc7d96
xor r10, 0x1d288838
mov dword [rsp - 0x38], ebp
xor r10, 0x1dea3f17
add r10, 0x1f2c6f22
add r10, 0x2e749f60
test rsi, rsi
mov dword [rsp - 0x34], edi
jne 0x14008412f
mov r15, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov byte [rdi], 0x11
mov rsp, rsp
add byte [rdi], 0x6b
sub byte [rdi], 0x6c
add byte [rdi], 0x39
mov dword [rsp - 0xc], 0x31c223ab
sub byte [rdi], 0x49
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r14
xchg rsi, rsi
pop r13
pop r12
pop rdi
xchg rsi, rsi
pop rsi
ret
mov byte [rdi], bpl
mov rbp, qword [rsp + 0x70]
mov dword [rsp - 0x34], esp
add rsp, 0x30
pop r14
pop r13
mov dword [rsp - 0xc], 0x42d3de7
pop r12
pop rdi
pop rsi
mov rdi, rdi
ret