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

Disassembly:
dec eax
test edx, 0x453b7241
clc
and eax, dword [edi + 0x2c]
test edi, 0x8224337
clc
shl eax, cl
cmc
add ebx, eax
imul ebx, ebx, 0x600
add dword [ebp - 0xc], ebx
cmp dx, bp
cmp dword [edi + 0x34], 7
jmp 0x11cb386
jae 0x1d71ecd
mov edx, ecx
stc
add edi, edi
jmp 0x11c2906
add edi, edi
jmp 0x1e030bb
not eax
jmp 0x1dfe1bd
jae 0x11c2aad
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
shl esi, 8
shl edx, 8
stc
test bh, 0xeb
cmc
or esi, ecx
mov ecx, esi
not ch
inc eax
adc cl, 0xcf
test si, 0x9f4
adc ecx, edx
mov dword [ebp + 8], eax
and cx, 0x6d44
ror cl, 0x34
mov ecx, edx
shr ecx, 0xb
test edx, edi
imul ecx, edi
cmp esi, ecx
jmp 0x11c3e89
cmp esi, ecx
jmp 0x11dc9f9
jae 0x1e0386a
mov edx, ecx
jmp 0x1d0d1ae
jae 0x1d6751f
mov edx, ecx
test bp, bx
cmp bx, sp
cmc
add edi, edi
jmp 0x1d6ccd9
imul ecx, edi
clc
test bp, ax
cmp esi, ecx
jmp 0x11cfee2
cmp esi, edi
jmp 0x1d6fd60
mov ecx, dword [edi + 0x24]
test al, 0xd6
mov ebx, dword [edi + 0x38]
jmp 0x11cdbb4
jae 0x11c8b35
mov ecx, 1
jmp 0x1d77186
mov dword [ebp - 8], eax
jmp 0x1d0c8f0
shl esi, 8
shl edx, 8
or esi, ecx
jmp 0x1d7cd8a
imul eax, ecx
cmp esi, eax
jmp 0x1d5d6dd
jae 0x1d5c613
mov eax, 8
xadd dx, dx
sbb dh, 0x81
shl ebx, 4
movzx edx, dx
bswap edx
cmovg dx, sp
mov edx, ecx
jmp 0x1d73e76
cmp ecx, ebx
jmp 0x11df4db
mov dword [ebp - 0x14], 0
jmp 0x1d5fb79
jae 0x11ce3b8
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
clc
stc
shl esi, 8
cmc
clc
shl edx, 8
or esi, ecx
inc eax
and ecx, 0x8b84519
mov ecx, edx
stc
cmp ch, 0x83
shr ecx, 0xb
test ch, bh
stc
imul ecx, dword [ebp - 0x10]
jmp 0x11c3d13
lea eax, [eax + 0xf]
shl eax, 4
rol dh, cl
cwd
btc edx, ebx
lea eax, [eax + ebx]
cmp si, bp
ror edx, 0x77
movzx edi, word [edi + eax*2]
shr dl, 0x22
cmovle edx, eax
adc dx, 0x1281
mov eax, dword [ebp + 8]
mov edx, ecx
cmp ecx, 0x1000000
jae 0x1e009a1
cmp eax, dword [ebp - 4]
jmp 0x1e00973
jae 0x1d6e4e6
movzx ecx, byte [eax]
test ebp, esi
shl esi, 8
clc
test esp, 0x1d943a9c
shl edx, 8
stc
clc
jmp 0x1540ba5
jae 0x1d6e4e6
movzx edi, byte [eax]
test bl, 0x3f
cmp ah, 0x79
stc
shl esi, 8
shl edx, 8
or esi, edi
bswap di
inc eax
shr edx, 1
sub edi, 0x4c8e08f5
mov edi, esi
sub edi, edx
cmc
shr edi, 0x1f
dec edi
and edi, edx
sub esi, edi
cmp esi, 0x6b6105b0
sub ebx, 1
jne 0x15382fb
mov ecx, dword [ebp - 8]
lea ecx, [ecx + 0x644]
mov ebx, 4
mov dword [ebp + 8], eax
bts ax, bp
cmovge eax, ebp
not eax
mov dword [ebp - 0xc], ecx
test esp, 0x3c626253
xor cx, 0x6860
clc
mov dword [ebp - 0x14], ebx
bts ecx, esi
mov eax, 1
adc ecx, esi
shl ecx, 0x30
rcr cl, 0xe4
mov edi, edi
movsx cx, dh
bt cx, ax
inc cl
mov ecx, dword [ebp - 0xc]
movzx ecx, word [ecx + eax*2]
clc
cmp ecx, edx
cmp edx, 0x1000000
jmp 0x1e02500
jae 0x1d66128
mov edx, ecx
jmp 0x153d91a
xor eax, eax
cmp esi, 0x32b96679
test edi, ebp
mov edi, dword [edi + 0x14]
cmp ax, cx
sub edi, ebx
lea edi, [edi + ecx]
movzx ecx, byte [edi + eax]
inc di
mov dword [ebp - 8], 0x100
or eax, 0x2e1530f7
mov edi, 1
movzx eax, si
sbb bh, 0x94
mov edi, edi
mov ebx, dword [ebp - 8]
shr eax, 0x17
add ecx, ecx
sal eax, cl
sar al, cl
mov eax, ebx
and eax, ecx
stc
mov dword [ebp - 0x18], ecx
cmovge cx, ax
shrd cx, ax, 0x6e
lea ecx, [eax + edi]
cmc
add ecx, ebx
rcl ebx, cl
mov ebx, dword [ebp - 0xc]
stc
movzx ecx, word [ebx + ecx*2]
stc
mov dword [ebp - 0x10], ecx
test dx, 0x5f8e
cmp edx, 0x1000000
jmp 0x1d0e0fd
jae 0x11cfdf5
cmp eax, ecx
jmp 0x11cfdd9
jmp 0x1e03899
mov dword [ebp + 8], edi
sub di, cx
mov edi, edx
test si, 0x295
shr edi, 0xb
clc
stc
cmp di, 0x40b
imul edi, ecx
jmp 0x11c7bd9
mov ecx, dword [ebp - 8]
movzx edi, cx
sar edi, 0x5c
sub edx, eax
sub esi, eax
mov eax, dword [ebp - 0xc]
adc di, 0x48db
movzx edi, word [ecx + eax*2 + 0x198]
mov eax, dword [ebp + 8]
cmp dx, si
stc
mov dword [ebp - 0x18], 3
clc
cmp al, 0xc1
cmp edx, 0x1000000
jmp 0x1d0caba
sub edx, eax
sub esi, eax
cmc
lea ecx, [ecx + ecx + 1]
cmp ecx, 0x100
jmp 0x153c899
and eax, 1
clc
movzx cx, bh
or eax, 2
mov ecx, ebx
shl eax, cl
mov ecx, dword [ebp - 8]
cmp esp, 0x12a0225f
stc
sub eax, edi
lea eax, [ecx + eax*2 + 0x55e]
jmp 0x1d5fd13
jmp 0x11d161d
jae 0x11d6668
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
cmp esi, ebp
shl esi, 8
shl edx, 8
cmp ah, ah
or esi, ecx
inc eax
xadd ch, ch
sal ecx, 0xdc
mov dword [ebp + 8], eax
mov ecx, edx
shr ecx, 0xb
clc
cmp ecx, esi
jmp 0x11c70a6
mov eax, dword [ebp - 0xc]
movzx edi, word [eax + ecx*2]
cmp edx, 0x1000000
jae 0x1d6c661
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x1d72865
dec ebx
mov dword [ebp - 0x14], ebx
stc
cmp ch, 0xc2
cmp edi, 0xe
jmp 0x11df01b
jae 0x1d6e4e6
movzx edi, byte [eax]
cmp esi, ecx
shl esi, 8
test dx, bp
shl edx, 8
or esi, edi
jmp 0x1d0cd11
jae 0x1dfd0f1
cmp edi, 4
jb 0x11da81e
mov edi, 3
btc ebx, 0xf5
shrd eax, edx, 0x10
mov eax, dword [ebp - 8]
rol bl, cl
shl edi, 7
lea ebx, [edi + eax + 0x360]
movzx eax, di
mov eax, 0x7a162588
mov eax, dword [ebp + 8]
movsx edi, dx
mov edi, 1
jmp 0x1d64470
jae 0x1d69920
mov edx, ecx
cmc
jmp 0x11c1056
cmp edi, 4
jb 0x1dfd0f1
mov ebx, edi
jmp 0x1e0522b
jne 0x1d68f09
cmp dword [edi + 0x2c], 0
jmp 0x1d68f03
jae 0x1e05aaa
mov eax, edi
jmp 0x11d46d7
jae 0x11d15e8
mov eax, dword [edi + 0x28]
jmp 0x1d77de7
lea ebx, [ebx - 4]
cmp edx, 0x1000000
jmp 0x11d20af
jae 0x1d6e4ee
mov edx, dword [ebp - 4]
cmp ch, bl
cmp dword [ebp + 8], edx
jmp 0x1d6e4e0
jb 0x11d7804
mov eax, 1
jmp 0x1dfd0f5
jmp 0x1e03876
or esi, ecx
inc eax
mov dword [ebp + 8], eax
test bx, si
sub cx, si
shld eax, eax, 0x16
movzx eax, word [edi + 2]
movsx cx, dh
shrd cx, ax, 0x69
mov ecx, edx
cmp ax, 0x6641
stc
shr ecx, 0xb
test bp, sp
imul ecx, eax
cmp bp, dx
cmp esi, ecx
jmp 0x11cce17
mov dword [ebp - 0xc], eax
jmp 0x11df00c
mov esp, ebp
pop ebp
jmp 0x1e07691
jae 0x1d65111
mov eax, dword [ebp - 0xc]
setae dl
mov edi, dword [ebp - 8]
jmp 0x11cf280
jb 0x1d64e9c
sub edi, 0x40
stc
mov dword [ebp + 8], eax
jmp 0x11deca6
dec ebx
test esi, 0x798a3bbd
and ebx, dword [edi + 0x2c]
cmp edi, esp
jmp 0x1d64ed9
jae 0x1d0cadf
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
shl esi, 8
stc
shl edx, 8
or esi, ecx
inc eax
and ecx, 0x2bc11b2e
mov dword [ebp + 8], eax
mov ecx, edx
test si, sp
shr ecx, 0xb
cmc
imul ecx, edi
cmp esi, ecx
jmp 0x1d0c194
jae 0x1e094af
shl ebx, 4
mov dh, bh
xchg dl, dh
mov edx, ecx
jmp 0x1e024f7
inc eax
clc
test cx, 0x276f
cmp esi, 0x93834be
mov dword [ebp + 8], eax
bt ax, 0xe4
sbb ax, bp
mov eax, edx
test eax, esi
clc
shr eax, 0xb
jmp 0x11ccdc3
jmp 0x1e03876
jae 0x1d7cd93
mov eax, dword [ebp + 8]
clc
cmp ebp, 0x84a0041
cmp edi, esp
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
jmp 0x11cc5d5
jae 0x1d5dc36
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 4]
jmp 0x1d5dc0f
mov esp, ebp
movzx ebp, bx
mov bp, cx
pop ebp
jmp 0x1d69db5
sub edx, ecx
sub esi, ecx
lea ebx, [edi + 0x204]
mov dword [ebp - 0x14], 0x10
cwde
sub edi, ebp
mov dword [ebp - 0x10], 0x100
mov edi, 1
mov eax, dword [ebp + 8]
test di, bp
cmp edx, 0x1000000
jmp 0x1d6057f
jae 0x11d2c5e
mov edi, dword [ebp - 8]
inc dh
sal dx, cl
xadd edx, edx
mov edx, eax
xor ax, bx
mov eax, dword [ebp + 8]
cmp bp, ax
mov dword [ebp - 0xc], 0
cmp ah, 0xc9
cmc
clc
add edi, 0x664
jmp 0x1d75225
jae 0x1d6e4e6
movzx ebx, byte [ecx]
test si, 0x5c63
shl esi, 8
shl edx, 8
stc
clc
or esi, ebx
inc ecx
test sp, 0x4504
test si, cx
mov dword [ebp + 8], ecx
ror cl, 0x39
mov ecx, edx
stc
shr ecx, 0xb
imul ecx, dword [ebp - 0x10]
cmp esi, ecx
jmp 0x11c07e5
mov dword [ebp - 0x10], 8
jmp 0x1d5c62e
mov dword [ebp - 0xc], eax
jmp 0x11cfe48
mov ecx, dword [ebp - 0xc]
clc
sub edx, eax
clc
sub esi, eax
mov eax, dword [ebp - 8]
test bp, 0x1714
test edx, eax
movzx ecx, word [eax + ecx*2 + 0x180]
cmp ax, 0x19f4
cmp edx, 0x1000000
jmp 0x1dfc6e1
jae 0x1e0d939
cmp eax, dword [ebp - 4]
jmp 0x1e0d90e
jmp 0x1d64e9c
sub esi, edi
lea eax, [eax + eax + 1]
stc
sub ebx, 1
jmp 0x1dfff3f
jmp 0x1d5c62e
movzx ecx, word [ebx + edi*2]
clc
test ebp, 0x55043731
cmc
mov dword [ebp - 0x10], ecx
clc
cmp edx, 0x1000000
jmp 0x11ce393
add ecx, ebx
cmp ebp, edx
movzx eax, word [eax + ecx*2]
test ebp, ecx
mov dword [ebp - 0x10], eax
cmp edx, 0x1000000
jmp 0x1d0d3c6
mov edi, dword [ebp - 0xc]
clc
test edx, esi
stc
sub edx, ecx
sub esi, ecx
movsx cx, al
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1b0]
cmp edx, 0x1000000
jmp 0x11d6640
jae 0x1d6009f
mov edx, eax
add ah, 0x30
rcl eax, cl
mov eax, dword [ebp - 8]
add eax, 0xe6c
cmp dword [edi + 0x30], 0
jmp 0x15469cc
jae 0x1e0386a
cmp ecx, 0x1000000
jae 0x1d7b2b7
cmp eax, dword [ebp - 4]
jmp 0x1d7b2b1
mov edi, dword [ebp - 0xc]
stc
cmc
sub edx, ecx
test sp, 0x5f4b
cmp esi, 0x5450056d
cmc
sub esi, ecx
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1c8]
cmp ebp, 0x150575ab
cmp edx, 0x1000000
jmp 0x11c2a74
jb 0x1d5c633
mov eax, dword [ebp - 0x14]
sub eax, ecx
add edi, eax
cmp dword [ebp - 0xc], 4
jmp 0x11da802
sub edx, ecx
sub esi, ecx
lea edi, [edi + edi + 1]
bt ecx, ebx
add cx, 0x21b9
bts cx, cx
mov ecx, dword [ebp - 0x10]
clc
cmp edi, ecx
jmp 0x1d66895
je 0x11c0714
mov ecx, dword [edi + 0x24]
test ecx, ecx
jne 0x1d68f20
mov ecx, dword [edi + 0x28]
bt ax, si
dec bl
btr eax, ebx
mov ebx, dword [edi + 0x14]
seta ah
rcl al, cl
movzx ebx, byte [ebx + ecx - 1]
ror ah, 0x3b
mov eax, dword [edi]
xchg ecx, ecx
rcr cx, 0xfe
mov ecx, 8
test ah, 0xeb
cmp di, 0xb7a
sub cl, al
shl al, 0xc9
shr ebx, cl
btc ax, di
movzx ax, ah
mov ecx, dword [edi + 4]
xadd ah, ah
adc eax, 0x7b1e2bd1
lahf
mov eax, 1
stc
clc
shl eax, cl
movsx ecx, dx
mov ecx, dword [edi]
jmp 0x11c06f1
sub edx, ecx
test esi, edx
cmp bp, bp
cmp sp, 0x54c2
sub esi, ecx
stc
lea edi, [edi + edi + 1]
cmp edi, 0x40
jmp 0x1d0c8d0
ret
inc eax
cmp ebx, 0xcf23c86
cmc
mov dword [ebp + 8], eax
mov eax, edx
test dl, dl
shr eax, 0xb
imul eax, edi
test si, 0x5cb3
stc
cmp esi, eax
jmp 0x1d759e5
sub edx, edi
test ecx, 0x22c12237
stc
jmp 0x1d648cf
jmp 0x1d67533
jb 0x1d6e4ee
sub eax, eax
movsx esi, bp
mov si, bp
pop edi
bswap esi
cmovle esi, edi
xchg bx, bx
pop esi
seta bl
bswap ebx
pop ebx
jmp 0x1d0bc2c
jae 0x1d6c678
mov edx, edi
add eax, eax
jmp 0x1e0ad6b
sub edx, ecx
clc
cmp al, 0xe9
test al, 0x7f
sub esi, ecx
test ax, 0x6355
lea edi, [edi + edi + 1]
and dword [ebp - 8], eax
clc
cmp edi, 0x100
jae 0x153c89f
mov ecx, dword [ebp - 0x18]
jmp 0x11d4fd6
jae 0x1d6e4e6
movzx ebx, byte [eax]
cmp bp, si
clc
stc
shl esi, 8
test dx, 0x2207
cmp si, 0x4cc6
cmp cx, di
shl edx, 8
test bp, 0x38ef
clc
cmc
or esi, ebx
jmp 0x1d6c656
sub esi, ecx
cmp edx, 0x1000000
jmp 0x1d74d95
lea ebx, [ebx + edi + 0x104]
jmp 0x1dffbb9
jae 0x1540bb5
mov eax, dword [ebp + 8]
clc
cmc
cmp eax, dword [ebp - 4]
jmp 0x11cf2d3
mov dword [ebp - 0x18], 2
jmp 0x11d2827
jae 0x11d3fc5
mov edx, eax
add ecx, ecx
jmp 0x1e0cb2f
jmp 0x11d7804
jmp 0x11d15f2
jae 0x1d6e4e6
pop edi
setne bh
cwde
mov si, 0x55d8
pop esi
mov ax, 0x5fa1
mov eax, 3
mov bh, al
not bh
pop ebx
jmp 0x1d5b945
inc eax
cmc
mov dword [ebp + 8], eax
xor eax, edx
mov eax, edi
mov eax, edx
shr eax, 0xb
imul eax, dword [ebp - 0x10]
stc
clc
cmp esi, eax
jmp 0x1d6514e
jae 0x1d0cd29
mov eax, dword [ebp + 8]
clc
cmc
cmp eax, dword [ebp - 4]
jmp 0x11d88b9
jne 0x11cfe61
mov eax, dword [ebp - 0x18]
stc
cmp edx, 0x1000000
jmp 0x1539b8d
jmp 0x1d71ede
push ebp
mov ebp, esp
lea esp, [esp - 0x18]
sar dl, 0x36
shr dh, 0xd6
push ebx
cmc
push esi
rcl dx, 0x87
push edi
cmp edi, ecx
stc
mov edi, ecx
adc dx, 0x5b00
mov ecx, dword [ebp + 8]
cmovge bx, sp
or dh, 0xdf
mov edx, dword [edi + 0x1c]
bt esi, 0xc4
movzx esi, bp
or esi, ecx
mov esi, dword [edi + 0x20]
btc bx, sp
add ecx, eax
xadd ah, ah
mov eax, dword [edi + 0x10]
sar bl, 0xa8
ror bl, cl
mov dword [ebp - 4], ecx
rcl bl, 0xc1
cmovg ecx, ecx
btc ecx, ecx
mov ecx, dword [edi + 0x34]
movzx ebx, cx
cmp bp, 0x5888
mov dword [ebp - 0xc], ecx
bsf cx, bx
bts bx, bp
xor ebx, esi
mov ecx, dword [edi + 8]
rcr bh, 6
bt bx, ax
rol bh, cl
mov ebx, 1
shl ebx, cl
shr ch, 0x6f
clc
mov ecx, dword [ebp - 0xc]
cmp esi, edi
stc
cmp bl, 0x7b
shl ecx, 4
jmp 0x11cbd32
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
jmp 0x1d64df0
mov dword [ebp - 0x14], ebx
jmp 0x1dfd0eb
jae 0x1d6e4e6
shl ecx, 8
test si, 0x6f76
neg edx
rcr dh, cl
mov edx, ecx
cmp cx, si
rol ch, cl
movzx ecx, byte [eax]
shl esi, 8
cmp bp, ax
or esi, ecx
inc eax
mov dword [ebp + 8], eax
or ch, 0x70
xchg cx, cx
mov ecx, edx
cmc
cmp cl, ah
clc
shr ecx, 0xb
imul ecx, edi
cmp esi, ecx
jmp 0x1d6517d
lea ebx, [ebx + edi + 4]
jmp 0x11ce0b9
jae 0x11d284c
mov edi, dword [ebp - 4]
cmp ax, ax
cmp dword [ebp + 8], edi
jae 0x1d6e4e6
mov edi, dword [ebp + 8]
bts bx, bx
bsf bx, bp
sbb bx, 0x504c
movzx ebx, byte [edi]
shl esi, 8
cmp sp, 0x5d70
or esi, ebx
sbb ebx, ecx
sal bh, cl
btc bx, 4
mov ebx, dword [ebp - 0x14]
cmp ebx, ebp
shl edx, 8
jmp 0x1e07740
jmp 0x1d69933
sub edx, ecx
or di, bp
btc di, 0x3d
sub esi, ecx
mov edi, dword [ebp - 8]
stc
test dx, bp
test cx, 0x4272
mov dword [ebp - 0xc], 0xc
cmc
clc
add edi, 0xa68
test esi, 0x3b155421
cmc
stc
cmp edx, 0x1000000
jae 0x1e038d5
cmp eax, dword [ebp - 4]
jae 0x1d6e4e6
movzx ecx, byte [eax]
clc
cmc
shl esi, 8
cmp bh, 0xe5
test edi, ebp
shl edx, 8
or esi, ecx
cmovbe cx, bp
xchg ecx, ecx
bswap cx
inc eax
test sp, 0x408a
or cx, bp
mov dword [ebp + 8], eax
movzx eax, word [edi]
mov ecx, edx
shr ecx, 0xb
cmp eax, esi
imul ecx, eax
clc
test ebp, ebx
cmp esi, ecx
jmp 0x1d0ccb2
shr ebx, 1
jmp 0x11d78ac
mov ecx, dword [ebp - 4]
cmc
jmp 0x15382f8
ret
inc edi
clc
jmp 0x11d2846
sub edx, ecx
test bp, 0x31fe
jmp 0x1d72bf2
jmp 0x1d648d6
jmp 0x11d3fce
jae 0x1d6e4e6
movzx ecx, byte [eax]
shl esi, 8
shl edx, 8
cmc
test si, dx
or esi, ecx
cmova ecx, esi
bswap cx
inc eax
mov dword [ebp + 8], eax
sal eax, 0x79
cmp esi, 0x2e7916f5
shr ax, cl
movzx eax, word [ebx + edi*2]
bsr ecx, ebp
mov ecx, edx
stc
cmc
shr ecx, 0xb
test esp, eax
imul ecx, eax
test edi, 0x1b927846
cmp esi, ecx
jmp 0x11c4510