Function at 0x99ecc91
Capabilities:
Authenticate hmac

Disassembly:
inc ebp
mov dword [ecx + ebx - 0x6f13], edx
dec eax
lea eax, [edx*8 - 0x696d4361]
dec eax
inc dword [esp + edx - 0x6f13e725]
inc ecx
sub ebp, ebx
inc esi
mov ebx, dword [ebx - 0x6f13]
push esi
dec ebp
lea esp, [esp + ebx*2 - 0xde22]
pop ecx
inc ebp
xor ebx, edi
dec esp
lea edx, [ebx - 0x51ee32f2]
inc cx
rol edx, cl
inc ecx
ror ebx, 1
inc esp
movsx ecx, bl
inc ecx
inc ebx
sub ecx, dword [esp + ebx*2 - 0xde1d]
shr bl, 1
pop esi
inc ecx
xor ebx, 0x17ae44b3
inc ecx
neg ebx
inc ecx
inc ebx
dec ecx
sub esi, ecx
sub cx, 0x6b23
not word [esp + ebp - 0x534f27a6]
inc ecx
neg ebx
add dl, dl
adc byte [esp + ebx*4 - 0x1bc24], 5
inc ecx
inc ebx
imul word [esp + ebp - 0x534f27a7]
inc ecx
ror ebx, 1
inc esp
mov dword [esp + ebx*4 - 0x1bc24], ecx
inc ecx
bswap esi
shr bx, 0xed
inc edi
lea ebx, [ebx + edx*4 + 0x661ef650]
inc ecx
xchg esi, ebp
call fcn.09967187
add byte [eax], al
add byte [ebx + 0x68], dl
outsd dx, dword [esi]
ja 0x998330c
jne 0x998333d
jae 0x998333c
jb 0x99832cf
call fcn.0944a26d
push 0x5caca599
mov eax, 0x1193eab8
mov edx, dword [ebp + eax*4 - 0x464faae0]
xor dword [esp + eax*4 - 0x464faae0], eax
call fcn.0946b995
dec esp
mov dword [esp + edi - 0xba], edx
inc ecx
pop ecx
inc ecx
jmp eax
add byte [ecx - 0x6d2de03e], al
nop
xor ecx, ebx
neg ecx
xor ecx, 0xd2903b96
shr dl, 3
not ecx
cdq
rol ecx, 1
sal eax, 0x3c
sub word [esp + edx*2 + 5], 0xb031
btc edx, 0xb3
xor ebx, ecx
pop eax
add esi, ecx
lea edi, [edx + edi - 0x80002]
push edi
inc ecx
mov word [eax + eax], ss
add al, bh
jmp dword [ebp - 0x48f03d75]
idiv edi
ror dword [esp + edx - 0x80000], 0xa5
mov eax, edx
movzx edx, word [edi + edx - 0x80000]
xor dx, bx
movsx ecx, word [esp + eax*4 - 0x200000]
shr cl, cl
lea eax, [eax + ecx*4 + 0x78a8db13]
sbb dx, 0x2cb4
xor dx, 0x60bd
bswap ecx
sal cx, 0x4c
btc ecx, ecx
adc dx, 0xfd3f
cbw
not dx
sal ecx, cl
rol dword [esp + eax - 0x78af002f], 0x7e
neg dx
shr eax, cl
inc ecx
or ecx, dword [esp + eax*2 - 0x3c578016]
not dx
not word [esp + ecx - 0x6ff7ecfb]
xor bx, dx
sub eax, eax
rol cx, 0x82
inc cx
lea ebp, [ebp + eax*4 - 2]
xor dword [esp + eax], ecx
or ax, 0xa0e
mov word [eax + ebp - 0xa0e], dx
sar byte [esp + eax*2 - 0x1419], 0xe3
mov edx, dword [esp + eax - 0xa0e]
pop eax
jne fcn.09462062
mov eax, 0x638e830d
mov dx, word [ebp + eax - 0x638e830d]
lea ebp, [ebp + eax - 0x638e830b]
inc eax
movsx ecx, al
ror ecx, cl
lea edi, [ecx + edi - 0x380001]
not eax
bswap eax
movzx ecx, byte [ecx + edi - 0x380000]
rol eax, 0xad
xor cl, bl
add ax, ax
ror eax, 0xf
ror cl, 1
sub cl, 0
xor ax, ax
bswap eax
ror cl, 1
sar eax, 0xb2
inc cl
neg al
imul ax, ax
setno al
xor cl, 0xae
add eax, eax
btc eax, eax
dec cl
shl ax, 0x81
not cl
cwde
xor bl, cl
add ecx, esp
mov word [eax + ecx - 0xc], dx
movzx ecx, ax
not eax
add ax, 0xa9b3
lea edi, [ecx + edi - 0x10]
mov eax, dword [edi + ecx - 0xc]
xor eax, ebx
push ecx
not eax
xor dword [esp + ecx - 0xc], ecx
lea edx, [ecx*8 - 0x6cf9a2d0]
xor eax, 0x23ad1d09
dec cx
rol dl, 0x65
sub ecx, 0x4fb2e73b
not eax
sar edx, 0x33
or cl, ch
rol eax, 2
call fcn.0944dcd2
sub edi, 4
mov ecx, 0x4b209fac
mov edx, dword [edi + ecx - 0x4b209fac]
lea ecx, [ecx - 0xd57c974]
call fcn.098ff0ff
pop esi
call fcn.0996ed2e
popal
push 0xe0dcb9d0
inc ecx
aas
inc esp
push cs
invalid
dec eax
mov dword [esp + ebp - 0x6f13e7ac], ebp
inc ebp
movzx ecx, word [esp + ebp - 0x6f13e7ac]
shr dl, 2
shr dword [esp + ebp - 0x6f13e7a8], 0x1e
dec ebp
lea esp, [esp + edx - 0x6f13e729]
inc bp
xor ecx, edi
movsx ebx, word [esp + edx - 0x6f13e729]
inc cx
inc ecx
add di, 0xeb86
dec dword [esp + ebx - 0x6f12]
inc cx
neg ecx
inc cx
add ecx, 0x41664303
ror ecx, 1
inc esp
movzx ebx, bx
inc eax
xor byte [esp + edx - 0x6f13e72b], ch
inc cx
xor ecx, 0x4166022e
ror ecx, 1
inc eax
movzx ecx, bh
inc cx
not ecx
inc cx
inc ecx
inc bp
xor edi, ecx
dec ecx
ror ebx, cl
dec edx
not dword [esp + ebx - 0x1bc4c000]
inc esp
add byte [esp + ebp - 0x6f13e7a7], bl
dec esi
lea ecx, [esp + ecx + 8]
inc ecx
push esi
ja 0x998321b