Function at 0xcdef49
Capabilities:
Authenticate hmac

Disassembly:
mov edx, dword [ebp + eax - 0x75b9cacd]
xor edx, ebx
movsx ecx, ax
sal ax, 0x41
rol eax, 0x7e
ror edx, 1
imul ecx, ecx
bt cx, 0x81
mov dword [esp], eax
push 0x181c25ad
shr word [esp + 1], 0xab
push 0x1621b22a
dec ebx
push 0xa384e42c
call fcn.00d5e1d8
call fcn.00d1f3bd
adc edx, 0x3b2652a2
rol dx, 0x2b
xor ecx, ebx
add dx, 0x4228
or al, ah
ror ecx, 2
dec word [esp + edx - 0x3b2674bc]
mul dword [esp + edx - 0x3b2674bd]
sbb ecx, 0xdaa8dfa9
not byte [esp + eax - 0x4bf471d1]
xchg word [esp + eax - 0x4bf471d1], ax
xor ecx, 0x39028da3
imul dword [esp + eax - 0x4bf4e151]
xchg word [esp + edx*2 - 0x438be14c], ax
adc byte [esp + edx*2 - 0x438be14b], dl
neg ecx
sub ax, word [esp + edx - 0x21c5f0a4]
xor ebx, ecx
push edx
add edi, ecx
pop edx
imul byte [esp + edx*2 - 0x438be14b]
jb 0xd05b0a
push 0x719ab21a
adc esi, 3
jmp 0x11ad649
mov ecx, 0xf8b9d91e
sub ebp, 4
mov edx, dword [ebp]
call fcn.01241034
mov eax, dword [ebp + ebx*4]
jae 0x132b728
and ax, dx
lea ebp, [eax + ebp - 0x682f4b47]
shl eax, 0x32
neg al
and dx, 0x8435
mov ecx, dword [eax + ebp - 0x2d0c0000]
mul dx
push eax
xor ecx, ebx
mov dword [esp + eax*2 - 0x5a180000], 0xfb9680bd
rol ecx, 1
neg ax
jae 0x11cfc42
rol ax, 0x66
ror edx, 2
not cx
not edx
sub al, al
xor ebx, edx
call fcn.00c89a6d
sysenter
call fcn.012a7bba
mov edx, 0x303aea85
movzx eax, dx
inc dl
mov eax, dword [esi + eax*4 - 0x3aa14]
mov ecx, edx
imul ecx, ecx
mov ecx, dword [ecx + esi - 0x5b913e20]
not edx
adc esi, 7
or edx, edx
sbb edx, edx
bswap edx
mov dword ss:[eax + edx*8], ecx
jns 0x13108b5
mov ecx, dword [ebp + edx*2 - 0x438be14c]
rol edx, 0x6d
btr edx, 0x39
mov ax, word [ebp + 4]
push edx
jb 0x159cc7e
jmp 0x126ed2e
xor eax, eax
sub byte [esp], 0x99
js 0x12491c8
mov edx, 0x103c05aa
movsx ecx, dx
neg edx
lea ebp, [ecx + ebp - 0x5ae]
movzx eax, dx
lea eax, [edx*8 - 0x714cb446]
ror ax, 0x46
mov eax, dword [ebp + ecx - 0x5aa]
jb 0x12908b6
xor dl, byte [esp + edx - 0x56dfdd5f]
neg cl
xchg dh, dl
ror cl, 1
pop edx
add edx, edx
rol edx, 0xf
xor bl, cl
shr edx, 0xfa
add ecx, esp
or edx, edx
mov word [edx + ecx - 0x1a], ax
call fcn.00ce66ce
or edx, dword [edx + ebp]
lea ebp, [ebp + eax*4 + 4]
movsx ecx, al
xor edx, ebx
btr eax, ecx
rol ax, 0xb
ror edx, 1
bt ecx, eax
neg cx
xadd cl, ah
neg edx
sub eax, eax
bswap edx
neg ecx
xor cl, 0x9c
sub cl, ah
inc edx
shl ax, 0x8c
xadd ax, cx
jle 0xc7dc01
xor ebx, edx
push ecx
dec al
add edi, edx
xadd cx, ax
inc byte [esp + eax + 3]
xadd al, cl
mov dword [esp + eax*2 - 0x136], edi
ret
dec ecx
dec eax
neg ecx
cbw
not dl
call fcn.00d9cb0d
sub edi, 4
mov ecx, 0x40b5fc3e
mov ecx, dword [edi + ecx - 0x40b5fc3e]
xor ecx, ebx
mov edx, 0xd2949797
btr dx, dx
neg ecx
lea ecx, [ecx + edx + 0x2cedfc98]
movsx eax, dl
jmp 0x127379a
test edx, edx
push 0x26a4dca7
jmp 0xd952ca
lea esp, [esp + 0xc]
je 0x15b4148
call fcn.0116307f
in eax, dx
adc bl, byte [ecx - 0x4527626e]
mov ebp, dword [ebp - 0x79]
add al, 0xb8
cmp edx, ecx
xchg esp, eax
fsub dword [esi - 0x68]
mov eax, dword [edi + edx - 0x4876d8b]
neg edx
inc dx
mov edx, dword [edi + 4]
adc edi, 3
mov ecx, 0x47bc6f82
bts cx, cx
or eax, edx
lea edx, [ecx + ecx*4 + 0x19331a31]
not eax
mov dword [edi + ecx - 0x47bc6f86], eax
neg cl
shl cx, 0x86
movzx eax, cl
lea ebp, [ecx + ebp - 0x47bcde84]
cdq
add cx, cx
neg dx
adc edx, dword [ebp + edx]
cwde
lea ecx, [eax*4 + 0x73a9e237]
xor edx, ebx
imul eax, ecx
bswap edx
dec ax
xchg ecx, eax
shl ecx, cl
ror edx, 2
neg edx
jmp fcn.011ce04d
mul ax
ror ecx, 1
dec ax
jle 0xd2449a
bswap eax
dec ecx
cdq
sal al, 0xa6
mul dl
xor ebx, ecx
call fcn.0122954c
sal ecx, 0x31
btc edx, 0x38
xor eax, ebx
bt edx, ecx
inc eax
push edx
ror eax, 1
inc eax
ror eax, 3
or dword [esp + ecx*8 - 0x5aa00000], edx
xadd word [esp + ecx*4 - 0x2d500000], cx
bts dx, dx
bswap eax
xor dl, dl
lea eax, [eax + ecx*2 - 0x2542705c]
bts edx, ecx
neg eax
shr edx, cl
xor ebx, eax
sub cx, 0x4597
lea ecx, [edx*8 - 0x4ce716da]
adc edi, eax
xchg dword [esp + edx - 0x3bb], edx
mov edx, dword [esi]
push ecx
or ecx, ecx
xor dword [esp + 4], 0xdb86f2b9
movzx ax, byte ss:[edx]
adc esi, 2
pop ecx
mov byte [esp], cl
movsx edx, cl
mov word [esi], ax
movzx eax, cx
pop eax
jmp edi
movsx eax, dl
jno 0x11b94ad
mov edx, 0x57bd3694
bts edx, 0xc
call fcn.011ebf27
js 0xc9e95b
mov eax, 0x8a39eb09
sub ebp, 4
mov edx, dword [ebp]
movzx ecx, ax
inc cx
xor edx, ebx
inc cl
sub edx, 0xc1b54f89
inc cx
xor cl, ch
js 0x1261567
sysenter
call fcn.011c793c
jmp 0xcc4d39
xchg word [esp + 1], dx
adc ebp, 5
xchg dword [esp + 4], edx
shl dl, 0xe1
sbb word [esp + edx - 0x71d3b477], dx
mov word [ecx + edx - 0x71d3b47a], ax
mov dword [esp + edx - 0x71d3b47a], edi
ret 4