Function at 0x101cb7e7
Capabilities:
Authenticate hmac

Disassembly:
shl eax, cl
add ebx, eax
cmp bh, 0x5e
imul ebx, ebx, 0x600
test ax, 0x61f2
jmp 0x102b3d50
jae 0x101c6335
movzx edi, byte [eax]
shl esi, 8
shl edx, 8
or esi, edi
jmp 0x101c59a2
mov ecx, dword [edi + 0x24]
test edi, ebp
mov ebx, 0x461a1134
mov ebx, dword [edi + 0x38]
cmc
cmp ecx, ebx
jae 0x101cd341
mov eax, dword [edi + 0x28]
jmp 0x101d6f2e
add ecx, ecx
jmp 0x101bcebf
jmp 0x102b5da6
jmp 0x101bf964
ret
jae 0x101d122c
mov edx, eax
cbw
sub ah, 0x39
mov eax, dword [ebp - 8]
cmc
clc
add eax, 0xe6c
cmp dword [edi + 0x30], 0
mov dword [ebp - 0xc], eax
jmp 0x101bf3f8
shr eax, 0xb
imul eax, ecx
clc
cmp edx, ecx
cmp esi, eax
jmp 0x102ad0fb
not eax
jmp 0x101d551b
mov edi, dword [ebp - 0xc]
stc
test bl, 0x96
sub edx, ecx
sub esi, ecx
mov ecx, dword [ebp - 8]
test bx, 0x1b54
cmc
movzx edi, word [ecx + edi*2 + 0x1c8]
cmc
clc
cmp edx, 0x1000000
jmp 0x102b1fc1
jmp 0x101d6556
pop ebx
jmp 0x101d2cf1
jmp 0x102b1e5d
jmp 0x102a3be4
imul ecx, edi
test ebx, 0x7c256720
stc
cmp esi, ecx
jmp 0x101d5f65
jae 0x101cbeea
mov edx, ecx
cmp edx, ebx
test cl, bh
cmp ah, 0xf7
add edi, edi
jmp 0x101bdedf
jne 0x101bf408
cmp dword [edi + 0x2c], 0
je 0x102b3d53
mov ecx, dword [edi + 0x24]
clc
test si, 0x577a
test ecx, ecx
jmp 0x101d396c
or esi, ecx
inc eax
sar cx, 0xce
bts ecx, ebp
bswap ecx
mov ecx, edx
shr ecx, 0xb
imul ecx, dword [ebp - 0x10]
cmp dx, di
cmp esi, ecx
jmp 0x101bed04
jae 0x101ba5e1
mov ecx, 1
jmp 0x101d494e
jae 0x101c6335
movzx ebx, byte [eax]
test esi, 0x2c491818
shl esi, 8
cmp al, 0xff
cmc
clc
shl edx, 8
or esi, ebx
jmp 0x102b23d2
lea edi, [edi + 0xa68]
test edi, 0x525434af
cmp edx, esp
cmp edx, 0x1000000
jmp 0x102ad13b
sub edx, ecx
cmp ah, 0x26
cmp si, ax
sub esi, ecx
lea edi, [edi + edi + 1]
stc
and dword [ebp - 8], eax
test esp, edi
cmp edi, 0x100
jmp 0x101ccef6
jae 0x101cae8b
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x101cae5e
mov edi, dword [ebp - 0xc]
cmc
clc
cmp cx, 0x6e26
sub edx, ecx
cmp cx, 0x171f
test ecx, ebp
cmp di, bp
sub esi, ecx
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1b0]
clc
cmp bh, 0x64
cmp edx, 0x1000000
jmp 0x101ce1b0
jae 0x101d075c
cmp eax, dword [ebp - 4]
jmp 0x101d0734
dec ebx
and ebx, dword [edi + 0x2c]
lea ecx, [ecx + ebx]
cmp edx, ecx
movzx eax, word [eax + ecx*2]
cmc
cmp di, 0x6843
mov dword [ebp - 0x10], eax
cmp edx, 0x1000000
jae 0x101cc39f
mov eax, dword [ebp + 8]
jmp 0x101ca98a
inc eax
stc
mov dword [ebp + 8], eax
rcr al, cl
ror ax, cl
mov eax, edx
jmp 0x101bc785
sub edx, ecx
cmp si, bp
cmp ebp, 0x6b444b22
test bp, cx
sub esi, ecx
btc cx, 0x4b
jmp 0x102a3bd8
imul eax, edi
cmp esi, eax
jmp 0x101d5d7e
jae 0x101c6335
movzx ecx, byte [eax]
cmp esi, edi
stc
shl esi, 8
test si, di
jmp 0x101d552f
jb 0x101c6337
xor eax, eax
pop edi
pop esi
not bx
xchg bh, bh
jmp 0x101bd2cd
jmp 0x101cd377
mov dword [ebp - 0x14], ebx
jmp 0x102b5d98
jae 0x101d14a0
mov eax, edi
adc ecx, 0x3ec67445
xadd ch, ch
cmovs cx, ax
and eax, 1
or eax, 2
or cx, 0x376a
btc ecx, 0x59
mov ecx, ebx
shl eax, cl
ror cx, cl
shr cl, 0xc7
mov ecx, dword [ebp - 8]
jmp 0x102bc572
lea ebx, [ebx + edi + 0x104]
jmp 0x101d1221
sub edx, ecx
jmp 0x102adc5f
dec eax
and eax, dword [edi + 0x2c]
clc
jmp 0x101ba562
mov dword [ebp - 0x10], 8
jmp 0x102bbcd0
cmp eax, dword [ebp - 4]
jmp 0x101c5a10
jae 0x101c6335
movzx ecx, byte [eax]
jmp 0x102bc594
sub cl, al
xor eax, 0x70e66a36
rcr al, cl
shr ebx, cl
bts ax, sp
clc
mov ecx, dword [edi + 4]
sbb eax, ebp
sub ah, cl
mov eax, 1
test bp, sp
shl eax, cl
dec ecx
setae ch
jmp 0x102e0e7d
jae 0x101c6335
movzx ecx, byte [eax]
cmp edi, 0x4b4e1ac5
shl esi, 8
shl edx, 8
cmp di, ax
test di, 0x5935
or esi, ecx
inc ch
bswap ecx
inc eax
test ax, si
mov dword [ebp + 8], eax
shr cl, 0xd0
movzx eax, word [edi + 2]
ror ch, cl
movsx cx, bh
mov ecx, edx
test bx, bp
stc
shr ecx, 0xb
clc
test esp, 0x3cc305db
cmc
imul ecx, eax
test esi, edi
cmp esi, ecx
jmp 0x102a1633
jae 0x101c6335
movzx ecx, byte [eax]
cmp esi, 0x41ab48a4
shl esi, 8
shl edx, 8
cmc
or esi, ecx
movzx ecx, di
movsx ecx, bx
inc eax
bswap ecx
dec cl
mov ecx, 0x4830291d
mov dword [ebp + 8], eax
cmc
ror ecx, cl
xor cx, 0x91c
mov ecx, edx
shr ecx, 0xb
clc
stc
imul ecx, edi
cmp esi, ecx
jae 0x101c6d3f
mov edx, ecx
jmp 0x101d1259
jae 0x101c6335
shl ecx, 8
mov edx, ecx
sar ecx, 0x19
movzx ecx, byte [eax]
shl esi, 8
jmp 0x102a4732
jb 0x101cb794
mov edi, 3
sal bx, 0xc9
clc
mov eax, dword [ebp - 8]
neg bh
xor bh, 0xc
cmp eax, 0x4395318a
shl edi, 7
movzx ebx, bx
lea ebx, [edi + eax + 0x360]
jmp 0x102b13e7
push ebp
cmp esi, 0x427935c5
bsr dx, bp
xchg ebp, edx
mov ebp, esp
bts edx, ebx
sub esp, 0x18
test sp, cx
adc edx, esi
rcl edx, 0x2d
push ebx
push esi
push edi
sub esi, 0x501626c8
sal edi, 0x7e
mov di, si
mov edi, ecx
shl si, 0xaf
mov ecx, dword [ebp + 8]
stc
adc dx, 0x5e7c
mov edx, dword [edi + 0x1c]
sbb si, 0x57da
mov esi, dword [edi + 0x20]
bsr bx, sp
rcr bl, cl
sar bl, 5
lea ecx, [ecx + eax]
cmp ecx, 0x408b63c8
adc eax, 0x6b256c83
sal ax, cl
mov eax, dword [edi + 0x10]
shrd ebx, edx, 0x22
mov dword [ebp - 4], ecx
sar bl, cl
sal ecx, 0xe6
test si, ax
mov ecx, dword [edi + 0x34]
adc bh, 0xe6
rol bh, cl
mov dword [ebp - 0xc], ecx
btc cx, 0x36
shr ch, cl
mov ecx, dword [edi + 8]
movzx ebx, di
mov ebx, 1
shl ebx, cl
setne ch
rol cl, 0x68
mov ecx, dword [ebp - 0xc]
test si, ax
cmp ebp, 0x1f8b6c0b
shl ecx, 4
jmp 0x101d6ec1
jae 0x101c59ac
mov eax, dword [ebp + 8]
stc
cmp eax, dword [ebp - 4]
jmp 0x101ba578
sub edx, ecx
sub esi, ecx
cmp eax, eax
lea edi, [edi + edi + 1]
cmp dx, di
jmp 0x102b1e5d
jae 0x101c04ac
mov edx, ecx
test bl, bh
cmp dh, ch
add edi, edi
jmp 0x101bc7a2
inc eax
mov dword [ebp + 8], eax
mov eax, edx
jmp 0x102acae2
jae 0x102afddc
mov edi, dword [ebp - 4]
cmp ax, sp
clc
cmp dword [ebp + 8], edi
jmp 0x102ad65c
jae 0x101d6562
mov ecx, dword [ebp - 0x18]
jmp 0x101c6870
xor eax, eax
cmp ebp, edi
mov edi, dword [edi + 0x14]
test di, di
sub edi, ebx
add edi, ecx
shld cx, si, 0x9e
mov ebx, esi
movzx ecx, byte [edi + eax]
mov dword [ebp - 8], 0x100
bt ebx, esi
sub di, cx
mov edi, 1
rcl ah, cl
mov edi, edi
rcl ah, 0x4f
ror ax, 0xcb
mov ebx, dword [ebp - 8]
shr ah, cl
bts eax, edi
adc ax, di
add ecx, ecx
cmp ch, 0xc
dec ax
mov eax, ebx
and eax, ecx
mov dword [ebp - 0x18], ecx
stc
lea ecx, [eax + edi]
stc
test bp, si
lea ecx, [ecx + ebx]
or bl, 0xb9
mov ebx, dword [ebp - 0xc]
jmp 0x102acba8
jae 0x102b5d9e
cmp edi, 4
jmp 0x101cb784
jb 0x102b5d9e
mov ebx, edi
cmp cl, 0xdc
clc
stc
shr ebx, 1
dec ebx
test di, 0x2c5f
cmc
mov dword [ebp - 0x14], ebx
cmp edi, 0xe
jmp 0x101c687d
cmp dword [ebp - 0xc], 4
jmp 0x101cd5ca
jae 0x102a474d
cmp eax, dword [ebp - 4]
jmp 0x101cb750
jae 0x101ce1e7
cmp eax, dword [ebp - 4]
jae 0x101c6335
movzx ecx, byte [eax]
cmc
shl esi, 8
shl edx, 8
test di, cx
test edx, 0x105c2676
or esi, ecx
movzx ecx, si
movsx cx, ch
inc eax
sbb cx, 0x6ff8
mov dword [ebp + 8], eax
shl ecx, 0xcd
mov ecx, edx
test ecx, esi
clc
shr ecx, 0xb
imul ecx, edi
cmp esi, ecx
jae 0x101bcb91
mov edx, ecx
jmp 0x101d0784
jae 0x101c6335
movzx ecx, byte [eax]
shl esi, 8
shl edx, 8
or esi, ecx
mov ecx, 0x4051475f
inc cl
inc eax
adc ch, 0x49
shrd cx, bx, 0x1e
shr ch, cl
mov dword [ebp + 8], eax
or cl, ch
movzx eax, word [ebx + edi*2]
mov cx, bp
sub ecx, 0x60745cb3
mov ecx, edx
shr ecx, 0xb
cmc
clc
imul ecx, eax
cmp esi, ecx
jae 0x101c59b3
mov edx, ecx
add edi, edi
jmp 0x101bdef2
jmp 0x102adc61
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
jmp 0x102b3d2e
mov ecx, dword [ebp - 0xc]
clc
cmc
sub edx, eax
test esp, 0x2eea7fb5
cmp sp, bx
sub esi, eax
mov eax, dword [ebp - 8]
test si, 0x6ef1
movzx ecx, word [eax + ecx*2 + 0x180]
cmp edx, 0x1000000
jmp 0x101cb8c0
jmp 0x102adc61
mov ecx, dword [ebp - 4]
stc
cmp bl, bh
lea ebx, [ebx - 4]
test dx, 0x72be
cmp cx, bp
cmp edx, 0x1000000
jae 0x102a1da0
cmp eax, ecx
jmp 0x102afdf1
jae 0x102a5011
cmp eax, dword [ebp - 4]
jmp 0x102a500b
mov esp, ebp
pop ebp
jmp 0x101bb8f1
mov ecx, dword [ebp - 8]
btc edi, edx
or di, cx
shl di, 0x87
sub edx, eax
rcl edi, 0xeb
or di, si
neg edi
sub esi, eax
ror di, 0xdc
add ax, cx
mov eax, dword [ebp - 0xc]
cmovl di, dx
or di, di
movzx edi, word [ecx + eax*2 + 0x198]
nop
dec ax
adc al, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], 3
cmp edx, 0x1000000
jae 0x102acb30
cmp eax, dword [ebp - 4]
jae 0x101c6335
movzx ecx, byte [eax]
jmp 0x102acb19
jne 0x101d397c
mov ecx, dword [edi + 0x28]
movsx eax, sp
btc ebx, 0x3e
mov ebx, dword [edi + 0x14]
cwde
movzx ebx, byte [ebx + ecx - 1]
mov eax, dword [edi]
bsr cx, ax
mov ecx, 8
jmp 0x101caa3c
mov eax, dword [ebp - 0xc]
movzx edi, word [eax + ecx*2]
cmp edx, 0x1000000
jae 0x102b23d9
mov eax, dword [ebp + 8]
stc
cmp eax, dword [ebp - 4]
jmp 0x101bf7d7
jmp 0x101c04bb
shl edx, 8
cmp bp, 0x4499
or esi, ecx
jmp 0x101cc39b
mov esp, ebp
cmovl bp, di
bswap ebp
movzx ebp, bp
pop ebp
ret
jae 0x101d6545
mov edx, eax
jmp 0x101ba602
jae 0x101c389f
mov eax, dword [ebp - 0xc]
xchg di, dx
mov edi, dword [ebp - 8]
cmp bp, cx
cwd
lea eax, [eax + 0xf]
ror edx, cl
sub dl, 0x1a
sal dl, cl
shl eax, 4
movsx dx, ch
test esi, 0x4b4734a9
shrd dx, bx, 0x5c
lea eax, [eax + ebx]
movzx edi, word [edi + eax*2]
test bp, 0x23d1
sub dh, ch
mov eax, dword [ebp + 8]
rcl dx, cl
add dx, si
mov edx, ecx
cmp ecx, 0x1000000
jmp 0x101cdfea
jne 0x101d14b1
mov ecx, dword [ebp - 8]
rcl ebx, 0xcb
lea ecx, [ecx + 0x644]
bswap bx
mov ebx, 4
test dx, 0x3680
mov dword [ebp + 8], eax
mov dword [ebp - 0xc], ecx
xor ecx, 0x38f83aa7
sub ecx, edx
rol al, 0x49
mov dword [ebp - 0x14], ebx
rol cx, 0x54
mov eax, 1
mov edi, edi
xor cx, 0x790b
mov ecx, dword [ebp - 0xc]
cmc
movzx ecx, word [ecx + eax*2]
cmc
cmp edx, 0x1000000
jmp 0x101cc6f5
sub edx, eax
test edi, edx
cmc
sub esi, eax
lea ecx, [ecx + ecx + 1]
cmp esi, 0x7cc701a5
cmp ecx, 0x100
jb 0x101d494e
mov eax, 1
jmp 0x101bad4e
movzx ecx, word [ebx + edi*2]
mov dword [ebp - 0x10], ecx
cmp edx, 0x1000000
jmp 0x102abcc1
jae 0x101c6335
movzx ebx, byte [ecx]
jmp 0x102afd76
mov dword [ebp - 8], eax
jmp 0x101c57e3
jmp 0x101cd345
jae 0x102b3d0e
mov eax, 8
shl ebx, 4
movsx edx, ax
mov edx, ecx
jmp 0x101c6d22
inc ecx
test ebx, esi
cmp edx, esi
mov dword [ebp + 8], ecx
shl cx, 0xcf
xchg ecx, ecx
movzx ecx, ax
mov ecx, edx
test bl, dh
shr ecx, 0xb
imul ecx, dword [ebp - 0x10]
cmp bx, bx
cmp esi, ecx
jmp 0x101cbf18
shl edx, 8
test edi, 0x1ccc383d
clc
cmp esi, 0x4fd76ecc
or esi, edi
cmovp edi, ebx
inc eax
stc
or edi, 0x795f2e5c
shr edx, 1
or edi, edi
test bl, ch
bt edi, 0x24
mov edi, esi
sub edi, edx
stc
test esi, eax
cmp ecx, edi
shr edi, 0x1f
dec edi
test edi, eax
and edi, edx
sub esi, edi
sub ebx, 1
jmp 0x101d64ee
jmp 0x102b1e8e
lea edi, [edi + edi + 1]
or ecx, 0x5c6e3171
shl ch, cl
mov ecx, dword [ebp - 0x10]
clc
cmp edi, ecx
jb 0x102b3d39
mov eax, dword [ebp - 0x14]
cmp dl, bl
sub eax, ecx
add edi, eax
cmc
test di, sp
jmp 0x101cdb9d
or esi, ecx
inc ecx
inc eax
shld ecx, ecx, 0xba
movsx ecx, bx
dec cx
mov dword [ebp + 8], eax
shr cx, 0xe4
rol ecx, cl
rcr cx, 0x97
mov ecx, edx
test ebp, edi
shr ecx, 0xb
clc
jmp 0x102a5e54
jae 0x102a1bfb
mov ecx, dword [ebp + 8]
jmp 0x102abcfe
jae 0x101c6335
pop edi
cmove ebx, ebp
movsx ebx, sp
pop esi
xchg bl, bh
movzx ebx, ax
movsx bx, bl
mov eax, 3
xchg ebx, ebx
pop ebx
jmp 0x101d5826
imul ecx, edi
cmp esi, ecx
jae 0x101c6d3f
cmp ecx, 0x1000000
jmp 0x101d1b46
mov dword [ebp - 0xc], eax
jmp 0x102e112a
jae 0x101bf771
cmp eax, dword [ebp - 4]
jmp 0x101ca9da
cmp ecx, dword [ebp - 4]
jmp 0x101d6e72
shr eax, 0xb
imul eax, dword [ebp - 0x10]
cmp esi, eax
jmp 0x101bbc7b
shl esi, 8
clc
shl edx, 8
or esi, ecx
inc eax
mov dword [ebp + 8], eax
ror cl, 0xcd
bt cx, cx
setb cl
mov ecx, edx
clc
stc
shr ecx, 0xb
cmp di, 0x2210
jmp 0x101be961
jae 0x101c6335
movzx ecx, byte [eax]
cmp cx, 0x3778
cmc
shl esi, 8
shl edx, 8
cmp edi, 0x78787ed1
or esi, ecx
movsx ecx, ax
dec cl
movzx ecx, bx
inc eax
mov dword [ebp + 8], eax
mov cx, 0x6220
cmc
movzx eax, word [edi]
rol ch, 0x60
mov ecx, edx
stc
shr ecx, 0xb
test di, 0x7439
clc
imul ecx, eax
cmp ch, al
stc
cmp esi, ecx
jae 0x102e0cd2
shl ebx, 4
cdq
movsx edx, cx
mov edx, ecx
lea ebx, [ebx + edi + 4]
mov dword [ebp - 0x14], 0
jmp 0x101c6f97
movzx ecx, word [ebx + ecx*2]
test cl, 7
cmp bp, 0x5274
mov dword [ebp - 0x10], ecx
cmp edx, 0x1000000
jmp 0x102a4f78
jae 0x101d2cf9
mov edi, dword [ebp - 8]
mov dx, di
clc
movzx edx, si
mov edx, eax
sar ah, 0x39
sub eax, 0x78620044
rcr ax, cl
mov eax, dword [ebp + 8]
test ax, 0x3f8f
mov dword [ebp - 0xc], 0
cmc
test esp, ecx
add edi, 0x664
mov dword [ebp - 0x18], 2
jmp 0x101bb8ec
jae 0x102acb6f
cmp eax, dword [ebp - 4]
jmp 0x102acb41
jae 0x101c6335
mov edi, dword [ebp + 8]
btc ebx, 0x80
sub bh, ah
sal bl, cl
movzx ebx, byte [edi]
cmp dx, 0x15e7
cmc
shl esi, 8
or esi, ebx
sar bx, 0x16
shl bh, cl
mov ebx, dword [ebp - 0x14]
jmp 0x102afdce
sub esi, ecx
mov edi, dword [ebp - 8]
clc
mov dword [ebp - 0xc], 0xc
test sp, 0x3eb1
jmp 0x101bf956
shl esi, 8
test ebp, esp
shl edx, 8
or esi, ebx
jmp 0x102a1bea
shl edx, 8
inc edi
cmp bh, bh
mov dword [ebp + 8], edi
sbb di, bx
xor edi, eax
mov edi, edx
shr edi, 0xb
test cx, cx
imul edi, ecx
cmp dh, 0x2c
cmp esi, edi
jmp 0x102b3d5c
jae 0x101c6335
movzx edi, byte [eax]
test cl, 0xa9
stc
shl esi, 8
cmp al, dl
jmp 0x102a1d83
mov eax, dword [ebp + 8]
mov edi, 1
jmp 0x102b16f9
jmp 0x101d6e51
cmp edi, 0x40
jb 0x101d6e51
lea edi, [edi - 0x40]
clc
cmc
mov dword [ebp + 8], eax
cmp dl, 0x3e
cmp edi, 4
jmp 0x101cdb7c
sub edx, edi
test ebp, 0x35ac1a88
cmp ebp, ebx
sub esi, edi
test cl, 0x96
lea eax, [eax + eax + 1]
cmc
clc
sub ebx, 1
jmp 0x101c6875
jae 0x101cb3b2
cmp eax, dword [ebp - 4]
jmp 0x101cb37f
inc eax
test bl, 0xe4
mov dword [ebp + 8], eax
mov eax, edx
shr eax, 0xb
jmp 0x101c59d8
sub edx, ecx
sub esi, ecx
lea ebx, [edi + 0x204]
xor edi, ebp
sar ah, 0x2b
mov dword [ebp - 0x14], 0x10
sar ah, 0x84
mov dword [ebp - 0x10], 0x100
mov edi, 1
sal ax, cl
bsf eax, edx
mov eax, dword [ebp + 8]
test ebx, 0x2c407607
cmp di, bx
cmp edx, 0x1000000
jmp 0x101c4da0
add dword [ebp - 0xc], ebx
cmp dword [edi + 0x34], 7
jmp 0x101bf7c7
jae 0x102b1e79
mov edx, edi
clc
add eax, eax
jmp 0x102a2db5
jne 0x101d6531
mov eax, dword [ebp - 0x18]
test dx, 0x7b3b
cmp edx, 0x1000000
jae 0x101c6337
mov edx, dword [ebp - 4]
test dl, 0xf1
cmp dword [ebp + 8], edx
jmp 0x101c632f
jmp 0x102b3d2e
sub eax, edi
lea eax, [ecx + eax*2 + 0x55e]
jmp 0x102ab9d2
shl esi, 8
test si, 0x2a0f
shl edx, 8
jmp 0x101bf765
sub edx, ecx
clc
cmc
sub esi, ecx
test bx, 0x61c6
cmc
cmp edx, 0x1000000
jmp 0x101c31c4
mov ecx, dword [edi]
jmp 0x101c6f8d
jmp 0x101d6525