Function at 0x98316b
Capabilities:
Authenticate hmac

Disassembly:
jne 0x98326b
mov eax, dword [ebp + 0x10]
test edi, ecx
shl ebx, cl
mov dword [esi + 0x58], edi
add dword [eax], edi
mov eax, dword [ebp + 0x14]
sal di, 0x5c
pop edi
pop esi
sbb bx, 0x4ef
xor ebx, 0x47e630c4
mov dword [eax], 3
sal ebx, cl
sub bx, di
sub eax, eax
movzx ebx, ax
movsx ebx, ax
pop ebx
jmp 0x989c33
pop ebp
jmp 0x8b4e71
jmp 0x97f860
ret
call fcn.009794e3
add esp, 4
stc
test eax, eax
jmp 0x97afa3
ret
push ebx
cmovle ebx, edi
movzx bx, ch
mov ebx, dword [ebp + 0x10]
jmp 0xc9a70d
ret
jne 0x97f8c3
movzx eax, byte [esi + 0x5d]
rol ecx, 0xb
movzx ecx, byte [esi + 0x5e]
neg edx
rol dx, 0x92
sub dx, sp
movzx edx, byte [esi + 0x5f]
cmp bp, 0x3e16
cmp esi, esi
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0x60]
jmp 0xca1276
jbe 0x9917d3
mov ecx, dword [esi + 0x58]
test dh, 0xca
cmp edx, 0x610b5e22
jmp 0xca38c6
jae 0x9917cd
mov eax, dword [ebp + 0xc]
mov dl, byte [eax]
jmp 0xca7777
je 0x97f857
mov ecx, dword [esi + 4]
cwd
add ecx, dword [esi]
mov edx, dword [esi + 0x10]
or al, 0x19
rol eax, 0xa0
mov eax, 0x300
test dl, 0x5e
jmp 0xc068f0
mov dword [ebx], 0
jmp 0xc7a8ec
mov dword [ebp + 0xc], ebx
jmp 0xca5e38
je 0xc98b80
mov edi, dword [ebp + 8]
cbw
lea eax, [esi + 0x5c]
jmp 0xc7856d
pop ebp
ret
mov ecx, 1
shr ebx, cl
rcr ebx, cl
mov ebx, dword [esi + 0x58]
jmp 0xc7a8e5
pop edi
pop esi
bswap bx
mov eax, 1
pop ebx
jmp 0x9931dc
mov ecx, dword [ebp + 0x14]
cmp si, sp
and si, 0x4cab
shl edi, 0xee
pop edi
pop esi
and bh, 0x7a
clc
mov dword [ecx], 4
cmovae ebx, ebx
xor eax, eax
bswap ebx
cmovbe ebx, eax
not ebx
pop ebx
mov esp, ebp
pop ebp
jmp 0x8b48b7
inc dword [ebx]
jmp 0x984434
push ebp
mov ebp, esp
sub esp, 8
jmp 0x8b4ce5
lea ecx, [edi + ebx]
inc dx
lea edx, [esi + 0x5c]
cmp di, dx
cmp ebx, ecx
je 0x8b176b
sub edx, ebx
xchg bl, bl
mov bl, bl
mov bl, byte [eax]
jmp 0xc0ab24
inc eax
sub edi, 1
jmp 0xc0a67f
cmp dword [esi + 0x20], 0
jne 0x9853dd
mov edx, dword [ebp + 0x14]
cmovns ebx, esi
mov dword [edx], 1
rcr ebx, cl
sub ebx, 0x60621552
xor eax, eax
cmp dword [esi + 0x20], eax
xchg edi, esi
jmp 0xc9ddd5
mov esp, ebp
jmp 0x8b19b9
push eax
mov dword [ebp - 4], edi
jmp 0x8b9992
mov eax, ebx
movzx ecx, dx
bswap ecx
mov ecx, esi
jmp 0x8b4320
call fcn.009794e3
lea esp, [esp + 4]
test eax, eax
mov eax, ebx
jmp 0xca2f88
call fcn.00c7adcd
test eax, eax
jne 0x97f8c3
mov ecx, dword [esi + 0x18]
lahf
mov edx, dword [ebp - 8]
rcr ah, cl
not eax
sub ecx, ebx
bswap eax
adc al, dl
sub ecx, esi
xor ax, 0x67b8
lea eax, [edx + ecx - 0x5c]
adc cx, ax
mov ecx, dword [ebp + 0x10]
cmp bx, sp
jmp 0xc061ec
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [ebp - 4]
sub cl, 0x67
btr ecx, edi
or ecx, ebp
mov ecx, 1
xor eax, eax
mov dword [esi + 0x44], ecx
jmp 0xc7b2ef
add dword [ecx], eax
cmp esp, 0x13b204ad
add ebx, eax
jmp 0x97aa33
jae 0x97afa9
lea eax, [esi + 0x5c]
not ch
movzx cx, cl
push eax
jmp 0x98adbd
mov dword [esi + 0x3c], ecx
jmp 0xca13a0
jne 0x8b6228
mov dword [ebp - 4], edi
stc
cmp esi, edx
cmp dword [esi + 0x58], 5
jb 0x8b1777
cmp byte [esi + 0x5c], 0
jmp 0x8b568d
mov esp, ebp
jmp 0x97ef4f
add dword [ecx], eax
stc
add dword [ebp + 0xc], eax
jmp 0xca5e2f
shl eax, cl
cmp ch, ch
add eax, 0x736
jmp 0xca3923
or eax, edx
btr dx, si
shl eax, 8
shrd dx, bx, 0x13
or eax, ecx
shr dl, cl
cdq
mov dword [esi + 0x20], eax
add edx, ebx
mov dword [esi + 0x1c], 0xffffffff
shr dl, 0x8b
mov dword [esi + 0x4c], 0
rcr dl, 0x26
sal dx, cl
xor edx, 0x1ed17dc5
mov dword [esi + 0x58], 0
or dl, 0x83
test esi, ebp
mov edx, dword [ebp + 8]
cmc
test bx, 0x247d
cmp dword [esi + 0x24], edx
jmp 0xca2ed3
je 0xc0760f
test edi, edi
jmp 0x8b6222
jb 0xc9d482
mov dword [ebp - 8], edi
clc
mov dword [esi + 0x58], ebx
cmp ebx, 0x14
jmp 0x98d883
mov dword [esi + 0x34], eax
mov dword [esi + 0x50], eax
jmp 0x8b1cad
mov dword [ebp + 0xc], eax
jmp 0x9917c7
mov byte [edx + eax], bl
inc eax
cmc
test edi, 0x3fad22a8
cmp eax, ecx
jmp 0x8b1765
mov dword [esi + 0x18], eax
jmp 0xc9e322
push eax
xchg ah, ah
lahf
mov eax, esi
jmp 0xc9f1f2
test ebx, ebx
jmp 0xc9e16d
call fcn.0097fbe4
mov ecx, dword [ebp + 0x14]
test bp, 0x39b6
mov dword [ecx], 0
cmp ax, 0x69c8
test bx, dx
cmp dword [esi + 0x48], 0x112
jmp 0xc9cd88
shl edx, 0x10
or eax, edx
cmp ebp, ebp
cmp eax, 0x6ddf2783
shr ecx, 1
jmp 0x98cd35
mov dword [esi + 0x40], ecx
jmp 0x98da5f
jmp 0xca2f91
mov eax, dword [ebp + 0x10]
xor ecx, edi
add dword [eax], edi
mov ecx, dword [ebp + 0x14]
xor esi, 0xe355a96
pop edi
ror bh, cl
sal bx, 0x9b
pop esi
sub bh, 0xdf
movsx ebx, ax
sal ebx, 0x36
mov dword [ecx], 3
xor eax, eax
pop ebx
mov esp, ebp
cmovp bp, di
pop ebp
jmp 0x8b2e85
push esi
push edi
mov di, dx
bswap di
mov edi, dword [ebx]
bswap esi
mov esi, 0x65435026
mov esi, eax
bswap eax
mov al, 0xd1
mov eax, dword [ebp + 8]
jmp 0x98a7c8
je 0x9853bf
cmp dword [esi + 0x4c], 0
jmp 0xc08460
sub edi, edi
mov dword [ebp - 8], edi
cmp ebx, 0x14
jae 0xc093d6
cmp edi, dword [ebp - 4]
jae 0xc093d2
mov eax, dword [ebp + 0xc]
sal dl, 0x66
mov dl, byte [edi + eax]
mov byte [ebx + esi + 0x5c], dl
cmc
lea ebx, [ebx + ecx]
lea edi, [edi + ecx]
cmp bh, 0x49
jmp 0xc9fde4
cmp dword [esi + 0x48], 0
jne 0xc9dbc6
cmp dword [esi + 0x20], 0
je 0x97fb24
mov edx, dword [ebp + 0x14]
bt ebx, ebx
movzx ebx, di
pop edi
pop esi
btc ebx, 0xa4
shr ebx, cl
or bl, 0xcd
mov dword [edx], 2
sar ebx, cl
xor eax, eax
pop ebx
jmp 0xca2390
pop edi
bswap bx
pop esi
bswap ebx
setne al
mov ebx, 0x33723a3d
pop ebx
jmp 0xc9fee0
jmp 0xc9cd8e
jne 0xc9d474
mov ebx, dword [ebp + 0xc]
test bp, dx
cmp si, ax
cmp edi, 0x14
jb 0xca587a
lea eax, [edi + ebx - 0x14]
jmp 0xc9852f
je 0x9853bf
mov edi, dword [ebp - 4]
movzx ebx, ax
mov ebx, dword [ebp + 0x10]
jmp 0xc9defc
push eax
not al
mov ax, 0x2158
movzx ax, bh
mov eax, esi
jmp 0x98ba40
mov dword [esi + 0x18], ebx
jmp 0xca93ec
cmp ebx, 0x14
jmp 0xc093cc
mov esp, ebp
mov bp, sp
pop ebp
ret
shl eax, 8
jmp 0xc075ce
mov dword [esi + 0x38], ecx
jmp 0xc0a4b2
mov esp, ebp
not ebp
movsx ebp, di
cmovo bp, cx
pop ebp
ret
jae 0xc9dbb2
cmp dword [esi + 0x50], 0
jmp 0x8b98ab
je 0x983251
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp 0xc7a397
cmp ecx, 5
jmp 0x8b7dcc
je 0x98cd47
mov ecx, eax
shl di, 0x65
mov eax, 0x400
mov edi, edx
movzx edx, ax
mov eax, edx
test ah, 0x13
jmp 0xc7af2b
jne 0x97f8c3
mov eax, dword [esi + 0x18]
add cl, 0x6a
btc ecx, 0xfa
sbb cx, bx
mov ecx, dword [ebp + 0x10]
sub eax, ebx
cmp cx, 0x7116
jmp 0x98d379
push ebx
mov eax, edi
movzx cx, al
mov ecx, esi
jmp 0x98b3b7
mov dword [esi + 0x58], 0
stc
clc
sub dword [ebp - 4], eax
cmp dword [esi + 0x48], 0x112
jmp 0xc9e30e
mov byte [ecx + esi + 0x5c], dl
inc dword [esi + 0x58]
jmp 0x9830b4
call fcn.00c7adcd
test eax, eax
jmp 0xca4c2e