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

Disassembly:
push eax
push 0x1fa9dd01
push 0x1f9dec15
dec ebx
not word [esp + 5]
call fcn.0099f71f
mov word [edi], dx
dec cl
pop ecx
pop edx
jno fcn.00c9bff2
dec esi
lea ebx, [ecx + ebx - 0x8b]
dec eax
ror ecx, cl
push eax
dec eax
rol dword [esp + eax - 0x738f], 0xab
inc ebp
xor esi, ecx
dec eax
cwde
btc cx, cx
inc ecx
rol esi, 3
jmp 0x81ba0f
mov dword [ebp - 4], eax
jae 0xcd1d6b
jno 0x9b6d7d
inc ecx
bswap esi
call fcn.00930b47
push 0x89083783
pop edx
movzx eax, dl
mov ecx, dword [edi + eax*8 - 0x41c]
shr al, 0x81
bt edx, 0xb
xor ecx, ebx
neg eax
shl eax, 0xbc
bswap ecx
ror ecx, 1
xor ecx, 0x971ba684
or eax, eax
cmovae ax, dx
ror ecx, 3
not ecx
call fcn.00cdcd8f
mov eax, 0x782dc8ad
lea esi, [esi + eax - 0x782dc8b1]
mov ecx, dword [esi + eax - 0x782dc8ad]
movzx edx, ax
xor ecx, ebx
neg ecx
sub ecx, 0xe9b4b38c
cdq
not ecx
bt eax, eax
sar dx, 0xe5
shl eax, 5
neg ecx
xor ebx, ecx
call fcn.0073db12
mov ecx, 0xa610b920
mov eax, ecx
sar eax, 0x84
mov eax, dword [esi - 4]
adc esi, 0xfffffffc
movsx edx, cx
imul cx, dx
inc edx
xor eax, ebx
btr cx, dx
imul edx, ecx
shr dl, 0xa6
inc eax
btc ecx, 9
setb dl
sub edx, 0xf63ea2a5
ror eax, 1
inc eax
lea ecx, [edx + ecx*2 + 0x5d3c4318]
rol eax, 3
sal edx, 0x9a
seta cl
xor ebx, eax
btr edx, 0xb
adc edi, eax
movsx eax, cx
mov edx, dword [ebp + edx - 0x6c000000]
mov eax, dword [ebp + 4]
add edx, eax
movsx eax, cl
bts ecx, 0x8f
mov dword [eax + ebp + 4], edx
bt ecx, eax
mov edx, dword [ebp + eax*4 + 4]
neg ax
mov ecx, dword ss:[eax + edx]
xor eax, 0xf80bcf08
movzx edx, ax
sbb eax, eax
mov dword [eax + ebp + 4], ecx
lea ebp, [eax + ebp + 4]
xor dx, 0xbfb4
shr edx, 0x69
or eax, edi
jmp eax
ror eax, 1
shl dl, 0xe7
inc cl
sbb byte [esp + ecx - 0x6d76bd16], 0xc
neg eax
imul edx, dword [esp + ecx - 0x6d76bd1a]
bts dx, dx
inc eax
lea ecx, [edx - 0x667bf6f2]
xor ebx, eax
shl byte [esp + edx - 0x5f222efc], 0x63
jnp 0x8e19ce
shr dword [esp + edx - 0x5f222efd], 0xa8
adc edi, eax
push edx
mov eax, 0x708c402f
ror edx, cl
pop eax
pop eax
pop edx
jae fcn.00c570a1
rol eax, 3
neg eax
xor ebx, eax
not byte [esp + ecx*4 - 0x3f0]
jmp 0x87dcb2
rol edx, 1
movsx eax, cx
inc ecx
dec edx
rol edx, cl
lea edx, [ecx + edx + 0x57d88733]
push eax
inc al
neg edx
sar word [esp + ecx - 0x43fffff], cl
xor ebx, edx
add ebp, edx
or dword [esp + ecx*2 - 0x8800002], ecx
lea eax, [ecx - 0x7d7cf0fe]
push ecx
mov dword [esp + ecx - 0x4400001], ebp
ret 4
xor cl, bl
sub cl, 0x16
ror cl, 1
sub eax, 0x3100848d
xchg edx, eax
jbe fcn.007aaa6e
dec cl
lea edx, [edx*2 + 0x19aafa29]
dec eax
rol cl, 1
dec ax
not dl
inc cl
xor bl, cl
xchg dx, ax
push ebp
cwd
push edi
mov ebp, 0x2c3180
shr edx, 0xfa
div bp
push ebx
push eax
mov ebp, esi
mov ebx, ecx
mov edx, ebx
sal edx, 2
push eax
mov eax, ebp
add eax, edx
shr word [esp + 4], 0x41
jge 0x7b3d3b
inc cx
bt edi, 0x2e
dec ecx
xadd esi, edi
mov word [esi + ebx*2 - 0x130], cx
inc ecx
not edi
inc esi
mov esi, dword [edx + ebx - 0x68ae4f99]
dec ecx
sal esp, 0xc1
inc ebp
xor esi, ecx
inc ecx
rol esi, 1
inc ecx
inc esi
dec eax
sub edx, 0x4e8fed21
inc ecx
sal ebp, 0x62
inc bp
bt ebp, ebp
inc ecx
ror esi, 1
inc ecx
neg esi
dec eax
imul ebx, edx
dec eax
shr edi, 0x56
call fcn.009550cb
push eax
invalid
add ebp, eax
bswap ecx
sub ecx, 0xed06d621
movzx eax, cl
mov ecx, dword [edi + ecx*2 - 0x1df253be]
mov eax, dword [edi + eax*8 - 0x6f4]
ror byte [esp + 1], 0xc7
dec dword [esp]
jb 0x8e5f76
mul ecx
call fcn.00ca86a0
or ecx, edx
adc eax, 0x64aea20d
call fcn.00979690
sub esi, 4
mov ecx, 0x9e9826bf
shr cl, 0xc5
mov eax, dword [esi]
xor eax, ebx
xor cx, cx
add ecx, ecx
not eax
btc ecx, ecx
sar ecx, cl
ror cl, 1
lea eax, [ecx + eax + 0x5a111cbb]
bts cx, 0x1c
bswap ecx
sar cl, 0xa6
not eax
sbb ecx, ecx
bts ecx, 5
sar cx, 0x6b
rol eax, 3
dec cl
neg eax
not eax
shl cl, 0x82
push ecx
jbe 0x83bb3e
mov edx, 0xfb0c58c
lea ecx, [edx*8 + 0x3fa472bd]
movzx eax, dl
lea esi, [esi + edx - 0xfb0c58e]
add ax, cx
not ecx
movzx ecx, word [edx + esi - 0xfb0c58c]
add edx, edx
imul edx
sal al, 0xe1
xor cx, bx
jmp 0x904b43
xor cx, 0xf111
cwde
add cx, 0xb9af
push eax
mul dl
bswap eax
xor cx, ax
shl dx, 0x41
adc cx, ax
sar al, 0x81
pop eax
rol cx, 1
not al
div ax
push eax
xor cx, 0xd72f
call fcn.00998167
mov ecx, 0x971fc339
lea eax, [ecx + ecx*2 + 0x541669b6]
movzx ax, byte [edi + eax*2 - 0x32eb66c2]
neg ecx
movzx edx, cx
mov cl, byte [edx + edi - 0x3cc5]
ror edx, 0x91
lea edx, [edx + edx*2 + 0x7387393e]
adc edi, 2
not edx
shr al, cl
lea ecx, [edx*4 - 0x65fe4642]
mov word [edi + edx - 0x314e46c1], ax
not cx
add dx, cx
lea esi, [esi + edx - 0x314e7202]
mov edx, dword [edx + esi - 0x314e71fe]
xor edx, ebx
lea ecx, [ecx*4 + 0x6ebd6618]
jmp 0xce1673
mov eax, 0x143e0aba
mov eax, dword [ebp + eax*2 - 0x287c1574]
push 0x78af4aba
push 0x388a7d3a
lea esp, [esp + 8]
call eax
mov ecx, 0x8d8a5db9
movzx ebx, cx
movsx edi, cx
mov ebp, dword [ebp + ebx - 0x5dbd]
push ebx
mov dword [ebp + ebx*4 - 0x176e4], eax
mov esi, ebp
shr ebx, 0x27
not edi
mov eax, 0xb78eb82b
mov ebx, dword [esp + ebx*8 - 0x5d4]
and word [esp + 1], 0xcda8
push ecx
mov edi, dword [esp + 0xc]
pop ebp
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0xc]
mov edx, eax
push ecx
pop edx
pop ecx
pop edx
pop eax
pop eax
jmp edi
test ebx, ebx
lea esp, [esp + 8]
je 0x99f729
mov eax, 0xeda6b788
mov eax, dword [ebp + ebx*4]
jmp 0x74056d
add edi, edx
mov dword [esp + ecx - 0x42840100], 0x8f37c91f
pop eax
movzx edx, ax
movzx ecx, byte [ecx + ebp - 0x42840100]
ror eax, 0xc1
sbb ax, 0x8334
lea ebp, [edx + ebp - 0xc91e]
jno 0x872f28
mov eax, 0xbe098d27
mov edx, eax
mov edx, dword [ebp]
add ebp, 4
lea ecx, [eax + eax*4 - 0x63e63f47]
xor edx, ebx
not ecx
inc ecx
ror edx, 1
or ecx, ecx
xor edx, 0xa496d533
neg ecx
adc ecx, 0xd80495b2
sal al, 0x24
bswap edx
sub eax, ecx
xor cl, al
dec edx
not eax
and ecx, eax
rol ecx, cl
ror edx, 3
shl ecx, 0x41
bswap edx
xor ebx, edx
sal cl, 3
not ecx
add edi, edx
mov ecx, dword [eax + esi - 0x6c448abe]
bt eax, eax
lea edx, [eax*8 + 0xa05a3a]
ror dx, 0xaf
mov eax, dword [eax + esi - 0x6c448aba]
setb dl
neg edx
adc esi, 3
rol dl, 0x86
btr edx, 0x20
adc ecx, eax
movzx eax, dx
bswap edx
sar ax, 0xaa
mov dword [edx + esi - 0xa03b9d], ecx
movzx ecx, dl
rol edx, 0x85
add edx, edx
jmp edi
mov byte [edx + ecx - 0x4402710c], al
lea edi, [edi + ecx - 0x44027110]
mov edx, dword [ecx + edi - 0x4402710c]
or cl, 0x94
neg cl
xor edx, ebx
shr ecx, cl
xor edx, 0xdb0f4910
sub cx, cx
jge 0x864a5b
inc dl
xor bl, dl
or ecx, ecx
adc edx, esp
and ecx, 0xd402719c
or ecx, ecx
jge 0xc50291
add ebp, 4
call fcn.009a283f
call fcn.0083949d
pop edx
mul ax
xor ecx, ebx
inc ecx
rol al, 2
xor dl, 0x98
shl edx, 0xc9
bswap ecx
rol edx, 0xce
and eax, edx
imul dx
lea ecx, [ecx + edx*2 - 0x27c2a44c]
sar al, 2
bswap ecx
ror ecx, 1
xor ecx, 0x79057b86
not eax
ror dl, 0xe2
call fcn.009648fe
jg 0x822045
add byte [esi + 0x288781c7], bh
test dword [esi - 0x70596d10], 0x88960469
push ds
cmpsd dword [esi], dword es:[edi]
add ebp, esp
xor byte [ecx], 0x33
jmp 0xcd1ddf
mov eax, 0xc025fba6
dec edx
inc cl
xchg ecx, eax
neg edx
ror edx, 1
or eax, ecx
ror ax, 0x4a
sbb edx, 0x511263b9
rol cx, 0x23
shl cl, 0x44
shl eax, cl
xor ebx, edx
add ebp, edx
jmp ebp