Function at 0x6c5121
Capabilities:
Authenticate hmac

Disassembly:
cmp al, byte [edi]
pushfd
lea eax, [esi + 0x584fd2d0]
mov eax, 0xc5599f89
lea edi, [edi + 1]
lahf
pop eax
mov eax, dword [esp + 0x40]
pushfd
mov word [esp], 0x16ce
call fcn.0075b27f
add byte [eax], al
push ebx
je 0x6c519a
imul edi, dword [eax + 0x65], 0x6873006c
insb byte es:[edi], dx
insb byte es:[edi], dx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax], al
add byte [ecx + 0x6d], cl
popal
dec esp
imul esi, dword [ebx + 0x74], 0x6172445f
ja 0x6c51b1
js 0x6c516e
add byte [eax], al
inc edi
je 0x6c51cb
imul ebp, dword [esi + 0x64], 0x6554776f
js 0x6c51f1
dec esp
outsb dx, byte gs:[esi]
je 0x6c51eb
inc ecx
add byte [eax], al
add byte [edi + 0x53], dl
inc ecx
inc ecx
jae 0x6c5206
outsb dx, byte [esi]
arpl word [edi + 0x65], ax
je 0x6c51db
outsd dx, dword [esi]
jae 0x6c520a
inc edx
jns 0x6c51e7
popal
insd dword es:[edi], dx
add byte gs:[esi + 0xf], ah
mov dh, 0xdb
and bl, 0x7a
mov ebx, eax
bt ax, 0xe
cmp byte [edi], 0x23
jmp 0x840f4a
pop ss
add byte [eax], al
add byte [ebx + 0x48], dl
inc edi
je 0x6c520b
popal
je 0x6c5226
inc esi
jb 0x6c5230
insd dword es:[edi], dx
dec ecx
inc esp
dec esp
imul esi, dword [ebx + 0x74], 0x41
inc edi
je 0x6c5213
add byte [edi + 0x65], al
je 0x6c5213
insb byte es:[edi], dx
popal
jae 0x6c5247
dec esi
popal
insd dword es:[edi], dx
inc ecx
add byte [edx + esi*8 - 0x41041752], bl
pop ss
add cl, bh
repne scasb al, byte es:[edi]
call 0x8410dd
add ch, byte [ecx]
ror byte [edi], 0x95
xchg ebp, eax
ret
invalid
mov esi, ebx
jb 0x6c5291
jbe 0x6c5293
insb byte es:[edi], dx
jae 0x6c5230
jb 0x6c52aa
inc ebp
outsb dx, byte [esi]
je 0x6c52b3
jb 0x6c5250
add byte [eax], al
inc edi
imul esi, dword fs:[eax + 0x43], 0x74616572
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x6f724670
insd dword es:[edi], dx
push ebx
je 0x6c52db
popal
insd dword es:[edi], dx
add bh, al
add al, 0x24
cmp dword [edx], esi
imul esi, dword [eax + 0x17b295e8], 0x53000000
je 0x6c52d3
je 0x6c52f4
je 0x6c52e8
push 0x4d746c42
outsd dx, dword [esi]
add cl, ch
invalid
jg 0x6c52fc
or dword [eax], eax
add byte [eax], al
push ebx
outsb dx, byte gs:[esi]
dec ebp
jae 0x6c5310
popal
inc ecx
add byte [eax], al
add byte [edi + 0x65], al
je 0x6c52ed
js 0x6c5313
je 0x6c52ef
outsd dx, dword [esi]
push esp
push 0x64616572
add byte [eax], al
popal
add byte fs:[eax], al
add byte [ebx + 0x6c], al
outsd dx, dword [esi]
jae 0x6c5322
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [eax], al
add byte [edi + 0x65], al
je 0x6c5324
imul ebp, dword [esi + 0x64], 0x6c50776f
insb byte es:[edi], dx
popal
arpl word [ebp + 0x6d], sp
outsb dx, byte gs:[esi]
je 0x6c52dc
add byte [eax], al
add byte [ebx + 0x48], dl
add byte [eax], al
push ebx
dec eax
inc edi
je 0x6c5337
jo 0x6c534b
arpl word [ecx + 0x61], bp
popal
insb byte es:[edi], dx
inc esi
outsd dx, dword [esi]
insb byte es:[edi], dx
jb 0x6c533d
jb 0x6c533d
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x380a8800
je 0x6c535f
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [eax + 0x58fa380a], cl
cli
pop eax
retf
mov cl, 0xd1
jl 0x6c52ed
fnstcw word [edx]
outsb dx, byte [esi]
fld dword ss:[esi + 0x2d]
cmp ch, byte [esi + 0x36]
fld dword [esi + 0x2d]
fstp xword [edi - 0x5b]
inc eax
adc bh, dh
das
pop esp
push eax
add byte [esp + ebp*4 - 0x39c334e6], bh
pop esi
push ds
pop esp
stosd dword es:[edi], eax
pushal
invalid
mov esp, 0x3ccb1aac
invalid
aas
loopne 0x6c53b9
or byte [edi], bl
and dword [eax], 0x751025f
and byte [edi + 2], bl
push ecx
pop es
mov ecx, 0xa29173b4
invalid
rcr cl, 1
xlatb
push esp
adc dword [edx], ecx
xchg edx, eax
sbb al, 0x54
invalid
push esp
out 0x96, al
xor eax, 0x55ccaf9
dec ebp
jge 0x6c53af
out 0x1a, eax
sal byte [ecx], 1
invalid
sbb dl, al
xor edi, eax
push ss
mov dl, 0xde
mov cl, dh
cli
into
mov byte [0xc22592ee], al
mov dword [ecx + 0x2dd221fe], ebx
add al, 0x10
cmpxchg edi, ebx
mov ch, 0x2a
pop ecx
not dword [eax]
jge 0x6c534c
fnstcw word [esi]
mov word [esi], dx
dec ebp
int3
sbb eax, 0xeb3dc832
jmp 0x6c538f
xchg esp, eax
stosd dword es:[edi], eax
invalid
aaa
jo 0x6c53c1
mov cl, 0xdf
scasd eax, dword es:[edi]
mov esi, 0xa87a7bc5
loope 0x6c5438
test al, 0xe1
jl 0x6c5388
retf
fldenv [eax - 0x3a]
sbb byte [ebx], bh
movsb byte es:[edi], byte [esi]
jecxz 0x6c5353
cmp esp, dword [ebx - 0x407b2272]
push esp
fsubp st(7)
call 0xe3c61659
mov gs, ecx
mov bh, cl
cdq
cmp byte [edi - 0x53], bh
add byte [edi + 0x6a], 0x74
pop ss
pop eax
adc ecx, esp
out 0xfa, al
retf
fld qword [edi + edi*4 - 0x171021ac]
mov edx, eax
pop ecx
jecxz 0x6c535f
jmp 0x9a5f235e
mov ch, 0x4b
mov dl, 0x48
popfd
push ebx
xchg esi, eax
lodsb al, byte [esi]
pop ecx
jno 0x6c545c
mov cl, 5
sbb eax, 0x689cbc8e
test eax, 0x7b52f6e4
insd dword es:[edi], dx
inc edx
xchg byte ds:[edx], ah
jp 0x6c5495
xchg ecx, eax
salc
stosd dword es:[edi], eax
jmp 0x6c54b1
invalid
cmp dword [edi], ebp
std
adc al, byte [esp + edi*2 + 0x3bdeecdc]
test byte [esp + ebx*8 - 0x14], bh
fidivr word [ebx]
clc
or byte [bx - 5], 0xb8
dec esi
push ebp
or eax, 0xc74fbd92
inc esp
dec eax
xor bh, byte [ecx]
das
pop esp
add al, 0xb3
in eax, 0x6e
mov dword [eax + ecx*2 + 0x32], 0x45c2f39
mov bl, 0xe5
outsb dx, byte [esi]
xchg esp, eax
add al, 0x53
jle 0x6c54c4
and eax, esi
xor al, 0xfa
js 0x6c54d6
xor ch, byte [edx + edi*2 + 0x43]
inc edx
dec edx
jb 0x6c5521
pop esp
jecxz 0x6c54a7
adc byte [edx + 0x76], ah
inc esi
bound edi, qword [edx]
retf 0xa259
mov byte [0x571c7532], al
jmp 0x6c549c
loopne 0x6c554a
fadd dword [ebp - 0x2c]
jb 0x6c5491
scasb al, byte es:[edi]
imul esi, ecx, 0xffffff90
invalid
test al, 0xb3
in al, dx
and esp, dword [ecx - 0x1b944840]
mov word [ebx - 0x3bb248e7], es
outsd dx, dword [esi]
invalid
daa
je 0x6c54c5
sbb byte [ebp + esi*4 + 0xe335b2f], bl
movsd dword es:[edi], dword [esi]
loop 0x6c54e9
adc ch, byte [esi]
loope 0x6c54cf
push edi
xchg cl, ah
mov ah, 0x8c
or byte [eax + 0x13776ad4], ah
xor ebp, edi
push esp
je 0x6c553a
rol byte [ebx - 0x21], cl
lcall 0x4028, 0xb75b3793
loopne 0x6c54fc
xchg ebx, eax
test eax, 0x840eaee4
mov edx, 0x23430367
add byte [eax], al
dec edi
jo 0x6c55a1
outsb dx, byte [esi]
push eax
jb 0x6c55af
arpl word [ebp + 0x73], sp
jae 0x6c5545
add byte [eax], al
inc edi
je 0x6c558e
inc ebx
jne 0x6c55bf
jae 0x6c55be
jb 0x6c55a1
outsd dx, dword [esi]
jae 0x6c5554
pushal
pushfd
lea esp, [esp + 0x28]
jmp 0x77a0eb
popal
je 0x6c560a
push edx
arpl word gs:[eax + eax], si
add byte [edi + 0x65], al
je 0x6c55fb
dec ebx
jns 0x6c5615
outsd dx, dword [esi]
popal
jb 0x6c561b
push esp
jns 0x6c562a
add byte gs:[eax], al
add byte [edi + 0x65], al
je 0x6c5615
inc edi
je 0x6c5615
jns 0x6c5637
je 0x6c562b
insd dword es:[edi], dx
push eax
popal
insb byte es:[edi], dx
je 0x6c5641
inc ebp
outsb dx, byte [esi]
je 0x6c5644
imul esp, dword [ebp + 0x73], 0x4c000000
outsd dx, dword [esi]
popal
dec ecx
arpl word [edi + 0x6e], bp
inc ecx
add byte [ebp + 0xf082464], cl
test dword [eax + edi*2 + 0x17], esp
add cl, bh
aaa
btr ax, 0xc
call fcn.00764440
add al, 0xf
adc byte [edx], dl
or esp, eax
aaa
lodsd eax, dword [esi]
aam 0x9b
invalid
adc al, 0xe8
call 0xbc23b684
push esp
pushal
mov bh, 0xbb
sbb ebx, dword [edi + 0x73aff0bd]
add eax, 0xc95542d6
salc
inc edx
push ebp
leave
xor dword [eax - 0x39], 0x7908f0e4
jmp 0x950736ed
jns 0x6c562c
cmpsb byte [esi], byte es:[edi]
loopne 0x6c55e0
xchg esp, eax
pop esp
call 0x9a37540c
or byte [ecx + 0x7b], dl
out dx, al
int 0x7c
rcr byte [eax - 0x29], 0xa2
pop ebx
ret 0x55eb