Function at 0xbfd90b
Capabilities:
Authenticate hmac

Disassembly:
lea edx, [ecx*2 + 0x108eac0c]
rol eax, 3
mov dword [esp + ecx*4 - 0x720587f8], 0x47a4bb15
mov dword [esp + ecx*2 - 0x3902c3fe], 0xa705d9ac
lea eax, [eax + ecx*8 - 0x3ee6064e]
imul cx, cx
bswap ecx
xor eax, 0x8c1e3f31
xor ebx, eax
add esi, eax
pop edx
push edx
movzx eax, byte [edi + ecx*8 - 0x9e408e5]
shl ecx, 0xf3
add dword [esp + ecx*2 - 0x11bffff8], edx
xor dword [esp + ecx - 0x8dffff8], ecx
xor al, bl
or ecx, ecx
sbb al, 0x27
xor dx, 0xf413
dec dword [esp + ecx - 0x8dffffc]
ror al, 1
xchg cx, dx
mov dword [esp + ecx*2 - 0x11c05b78], 0x80a02917
ror cl, 0x62
adc al, dl
not al
rol al, 1
sub al, 0x2a
ror al, 1
sal dl, 0x22
xor al, 0xaa
inc al
xor al, 0xaf
bswap ecx
rol word [esp + 5], 0x69
not al
jb 0xe54b93
sar ecx, cl
xor bl, al
neg byte [esp + 8]
lea eax, [esp + eax + 0xc]
rol byte [esp + 5], 0x61
adc dl, byte [eax]
pop ecx
ror ecx, cl
rol dword [esp + 4], cl
mov word [ebp - 2], dx
mov edx, dword [esp]
mov cx, word [edx + ebp - 0x29765e16]
movzx eax, byte [edi + edx - 0x29765e1a]
sar dx, 0x81
lea edi, [edx + edi - 0x29762f10]
shr dl, 0x61
sal word [esp + edx*2 - 0x52ec5e06], 0x82
sal word [esp + edx*2 - 0x52ec5e04], 0x8d
xor al, bl
sar byte [esp + edx*2 - 0x52ec5e07], 0xc1
shr dx, 0xa8
push edx
sbb al, 0x30
add dx, dx
shl dword [esp + edx - 0x2976005a], 1
not edx
rol al, 1
sal dl, 0x41
adc al, 0x3d
add dx, dx
jno 0x1180d88
call fcn.00ec2759
mov edx, 0xdbab19a5
mov ecx, dword [edi - 4]
shl edx, 0xd9
mov eax, edx
xor ecx, ebx
btr eax, 0x3a
ror ecx, 2
neg ecx
shr eax, 3
bts eax, eax
not ecx
ror ecx, 1
bswap ecx
bts edx, edx
sub eax, eax
inc ecx
shr eax, 0x77
lea eax, [edx*8 + 0x21390306]
ror dl, 0xe4
bswap ecx
jbe 0xc5bb3c
inc esp
mov ebp, edi
dec esp
lea ebx, [esi*2 + 0x2bacf09a]
inc ecx
push ebx
lodsb al, byte [esi]
sub eax, dword [ecx + 0x53]
inc esp
mov dword [ecx + esi*4 - 0x16fcde38], eax
inc ecx
mov esi, dword [edi + esi - 0x5bf378e]
inc edx
mov edx, dword [esp + edx - 0x618170f9]
dec eax
neg edx
dec edi
lea edi, [edx + edi - 0x618170fd]
inc ecx
xor esi, esp
inc ebp
mov esi, ebx
lea esi, [esi + edx - 0x4ce30522]
dec edi
lea eax, [edx + edx*4 - 0x4b51adf7]
inc cx
neg ebx
neg esi
bswap esi
rol esi, 2
dec edx
inc dword [esp + ebx*2 - 0x6e57408d]
push edx
dec esp
mov dword [esp + edx + 0x5bf379f], esp
dec edx
or dword [esp + ebx - 0x372ba048], 0xc01f1a88
inc edx
sal dword [esp + edx - 0x618170f7], 0xd3
jbe 0xf0139b
mov ah, 0x1a
or byte [edi], dh
cld
jmp 0xe6f207
inc edx
xor dword [esp + edx - 0x618170f1], esi
dec esi
mov esp, dword [esp + edx - 0x618170f1]
inc si
mov dword [esp + ebx - 0x372ba040], ebp
inc esi
movsx ecx, byte [esp + ebx - 0x372ba040]
dec eax
arpl si, si
inc edx
sal byte [esp + edx - 0x618170fa], 0xe5
dec eax
add ebx, esi
call fcn.011cb48d
lea eax, [esp + eax + 0xc]
mov byte [eax], cl
call fcn.00e725eb
mov ecx, 0x479b9938
mov eax, 0x6ebb301d
sub ecx, eax
lea edi, [edi + eax - 0x6ebb3021]
movzx edx, cl
call int.011ce7a1
movsx ecx, ax
bswap edx
bt eax, 0x1c
setae cl
rol eax, 0x4a
rol edx, cl
neg eax
not ecx
sal ax, 0x42
bswap edx
call fcn.011b16a9
xor edx, ebx
sal word [esp + 1], 0xc8
call fcn.00ee9050
inc ecx
mov edx, 0x3c9aaca4
dec esi
mov edx, dword [ebp + edx - 0x3c9aaca4]
dec eax
mov edx, dword [ebp + 8]
inc ecx
mov ebp, 0xa9a133a5
dec ecx
mov dword [edx], edx
dec ecx
lea edx, [ebp + 0x4c335018]
inc ebp
mov ecx, dword [edi]
inc ebp
xor ecx, esp
inc ecx
rol ecx, 2
inc ecx
inc ecx
dec ecx
sar ebp, 0x5c
inc ecx
movsx esi, bp
inc eax
xor dh, 0xad
inc ecx
ror ecx, 1
inc eax
movzx eax, dh
inc cx
rol ebp, 5
inc ecx
not ecx
inc esp
movsx esi, dx
dec edx
lea edi, [eax + esi*8 + 0x208d0939]
dec ecx
ror esi, 0x58
inc ecx
push esp
dec esp
lea esp, [edi*8 + 0x38370ca5]
jae 0xe6f1fe
dec eax
ror edx, 0x78
inc esi
xor dword [esp + ebp*4 - 0x500], ecx
inc ecx
pop esp
dec ebp
arpl cx, cx
inc ecx
ror ch, 1
inc esp
movzx eax, si
inc eax
movsx ecx, dh
dec ecx
adc ebx, ecx
inc edx
mov esi, dword [ebp + ebp - 0x110]
inc esp
movsx edx, dl
inc esp
movzx ecx, al
dec edx
lea ebp, [ebp + ebp*2 - 0x22c]
dec ecx
btc esi, 0xa
inc ecx
sub edx, 0x1b21410a
inc edi
movzx ebp, byte [ebp + edi - 0x11c]
rol ecx, cl
inc ecx
shr eax, 0xf8
dec esi
lea edi, [eax + edi - 0xa2]
inc ebp
xor ch, ah
dec esp
btr edx, ecx
inc esp
adc ch, dl
inc ecx
xchg ecx, eax
btr edi, 0x3e
inc ecx
neg ch
dec ebx
lea eax, [eax + edx*2 - 0x37c4a44f]
inc ebp
add ch, dh
dec ecx
rol ecx, 0xa
inc sp
or ecx, edi
inc ecx
ror ch, 1
inc ebp
xor ah, ch
call fcn.00b7e115
inc ecx
ror esi, 1
inc cx
or edx, 0xf7412a05
salc
call fcn.00ebc103
not al
xor bl, al
xor dl, 0x92
jns 0x116b6bf