Function at 0x2522584
Capabilities:
Authenticate hmac

Disassembly:
xor ebx, edx
sal cl, 7
rol ecx, 0xae
adc ebp, edx
pop ecx
shr word [esp + eax*4 - 0x105f3], 0x68
movzx edx, word [esp + eax - 0x4177]
mov dword [esp + eax - 0x4180], ebp
ret 0x10
add al, 0x4e
xor edx, ecx
setp dl
lea ebp, [ecx + ebp - 4]
dec dl
mov edx, dword [ebp + ecx*4]
adc cx, cx
call fcn.0161ca5a
mov edx, 0xaf2ef30a
lea edx, [edx + edx*2 - 0x72faa352]
mov edx, dword [edi]
mov eax, dword [edx]
mov dword [edi], eax
mov eax, 0x769eae1e
call fcn.0255f259
add bh, dh
sar dh, cl
leave
jne 0x1598193
mov eax, 0x94af1423
sub edi, 4
mov edx, eax
sub al, 0xf
mov ecx, edx
mov edx, dword [edi]
call int.0160bca7
and esi, dword [eax + 0x7c]
or byte [ecx], bh
jnp 0x15a1a18
adc esp, edi
add ebp, ebp
test dword [ebx - 0x1a], edi
out 0x75, al
outsd dx, dword [esi]
xchg esi, eax
lcall 0xb574, 0x2f38aaa6
movsd dword es:[edi], dword [esi]
push ebx
add eax, 0x8f443010
dec edi
jo 0x15a19e3
invalid
btr edx, edx
not ecx
shr eax, 0xbc
lea ecx, [ecx + edx*8 - 0x6f895efc]
jb 0x1809d22
jbe 0x25ab352
inc ecx
mov dword [ebx], ebp
inc esp
movsx edi, si
dec ecx
sub esp, 4
inc ebp
mov edi, dword [esp]
inc ebp
mov esi, ebp
inc ecx
push esi
mov edi, 0xc3921aa5
inc ebp
xor edi, edx
inc ecx
neg esi
inc ecx
bswap edi
inc ecx
neg edi
dec edx
lea ebp, [ebp*4 + 0x703d48e]
inc ecx
pop esi
inc ecx
dec edi
dec ecx
rol ebp, 0xdc
inc ebp
movsx eax, bp
inc ecx
ror edi, 1
inc bp
imul esi, ebp
inc esp
movsx ecx, ch
inc ecx
push edx
inc esi
xor dword [esp + eax], edi
inc cx
ror esi, 0x62
inc ecx
dec eax
call fcn.02834b63
dec ecx
aam 0x83
popfd
sti
mov dl, 0x33
jbe 0x188016d
bound eax, qword [ecx - 1]
enter 0x47e8, 0x4a
sti
add byte [ecx - 0x2c], cl
sbb dword [ebp + 0x7633b2fb], 0x48
push edx
retf
fisttp dword [ebx + 0x28b4d47]
dec eax
pop ds
das
iretd
xchg esp, eax
out 0xfe, eax
cmpsd dword [esi], dword es:[edi]
xlatb
mov ch, 0x7a
cmp edx, esp
adc byte [ebx], ah
cmp ebx, ebp
loop 0x1880182
out dx, eax
in al, dx
loope 0x18801a5
xor dword [ebp - 0x71], 0xe981be7f
xchg esp, eax
fdiv qword [ebx - 0x2efd87d8]
invalid
jne 0x1880113
jg 0x1880144
sub ecx, 0x23b4dc94
sub byte [eax + 2], bh
sal eax, 1
rcl dword [edi + edi*8], 0xf4
jmp 0x9fbb2f66
js 0x1880204
and eax, 0x87772576
inc ebp
invalid
fldenv [esi + 0x2955479f]
lcall 0xf7f5, 0xe9eeb9d1
adc al, 0x49
push ebp
dec ebp
and eax, dword [eax - 0x40]
push 0x8d8b78fe
int1
dec ebp
push edi
push esi
cmp dl, byte [edi - 0x28]
sbb byte [ebp + 0x12bd1750], bl
pop ecx
sub byte [edi], bh
invalid
push 0x363c30be
dec eax
mov dword [esp + 8], 0x4b30cda6
xor edi, ebp
shr byte [esp + 3], 0xc1
dec eax
neg dword [esp + 8]
dec eax
mov dword [esp + 0x10], 0x16a57c27
and edi, 0xff
mov edi, dword [ebx + edi*4]
push 0x3a167c3b
shr ebp, 8
push 0x72808d1a
dec eax
xor dword [esp + 3], 0x491a60af
xor ebp, edi
dec eax
add dword [esp + 0x11], 0xef8f8da8
dec eax
inc eax
xor ebp, 0x8521a52d
dec eax
dec ecx
push 0xe1b35fb2
dec eax
lea esp, [esp + 0x30]
jne 0x27dd479
mov ebx, 0x1f889d01
call fcn.0256911d
mov esi, 0xb5a7af1c
inc esp
mov ebp, esi
not ebp
jmp 0x18800bf
bswap ecx
xor ecx, 0xdba5b382
btc eax, eax
xor al, ah
xor ebx, ecx
bts dx, 0x36
adc esi, ecx
lea ecx, [eax + edx*2 + 0x2d08891d]
push eax
mov dx, word [ebp + eax*4 - 4]
jmp 0x279d47a
imul eax, eax
not cl
sar al, 0x41
adc cl, 0x8b
pop eax
rol cl, 1
not eax
bt eax, eax
not cl
jb 0x27abc6f
inc esp
xor dword [esp + edx*2 - 0xf520], ecx
inc esp
movzx esi, dx
dec ecx
and esi, 0x1686b58a
inc ecx
movsx eax, dh
inc ecx
pop edx
inc ecx
idiv ebp
dec ebp
arpl cx, cx
call fcn.025139de
inc cl
shl al, 0x41
adc ebp, eax
not ecx
ror ecx, 0x74
sbb eax, dword [esp + eax - 2]
lea edi, [edi + eax*2 - 1]
movzx ecx, byte [edi + eax*4]
ror eax, 0x49
xor cl, bl
jmp 0x25e5224
and ax, ax
push eax
xor bl, cl
shr ax, 0x21
or dword [esp], 0x640216a0
lea ecx, [esp + ecx + 4]
call fcn.01774497
mov eax, 0xda8ef4a7
or edx, dword [edx - 0x23ba1e17]
dec byte [ecx - 0x7f]
ror dword [ebx], cl
add byte [eax], al
add byte [ebx], dh
in eax, dx
not byte [esp]
dec eax
test ecx, ecx
dec eax
lea esp, [esp + 8]
je 0x256912a
fimul dword [ebx]
xchg edx, eax
jmp 0x15a1a23
mov edi, 0x62b77f2a
dec eax
and edi, edi
push ebx
inc eax
sub bh, 0xb1
sub di, 0x651f
inc eax
dec bh
dec eax
lea ebx, [0xfefe1e67]
call fcn.027c9a30
neg ecx
dec ax
jge 0x17e9ea6
and edi, dword ds:[ebx - 0x42f5099b]
out 0xaf, eax
out dx, al
aad 0x5b
test eax, 0x7d22f071
inc edi
sbb esp, edi
add eax, 0x1e2d84b0
outsd dx, dword [esi]
jecxz 0x27dd43a
je 0x27dd436
push ebp
outsb dx, byte [esi]
add byte fs:[ecx + ecx*4], ah
enter 0x12cf, 0x3e
adc dh, 0x56
sti
ret