Function at 0x872a55
Capabilities:
Authenticate hmac

Disassembly:
jge 0x872a73
in al, dx
stosb byte es:[edi], al
popfd
pop edx
imul edx, dword [ebx + esi*8], 0x7b
cmp byte [edi + 0x5b3a4930], dh
pop edi
xchg esp, eax
lahf
in al, dx
adc eax, dword [esp + ecx*4 + reloc.MSVFW32.dll_DrawDibDraw]
cli
rol byte [esi + 0x25bc8c4c], 0x3e
or ebp, dword [edi + reloc.MSVFW32.dll_DrawDibDraw]
insd dword es:[edi], dx
pop ebx
pop ecx
movsb byte es:[edi], byte [esi]
scasb al, byte es:[edi]
push edx
lodsb al, byte [esi]
xchg edi, eax
rcl ebx, cl
pop esi
sar dword [eax + reloc.MSVFW32.dll_DrawDibDraw], 0xae
loope 0x872a04
cld
jb 0x872a6f
mov dl, 0x5c
pop es
xchg edi, eax
outsd dx, dword [esi]
xor ecx, edx
mov dh, bh
push esi
xor byte [eax + 0x30], al
fild dword [edx - 0x50]
cmp ebx, dword [ecx - reloc.MSVFW32.dll_DrawDibDraw]
rol byte [edx - 0x6b], 0x91
enter 0xffffffffffffb5ef, 0x10
xchg edx, eax
and eax, 0xaee5e506
adc byte [edx - 0x1a1af9db], dl
scasb al, byte es:[edi]
lodsb al, byte [esi]
das
das
add dword [ecx - 0x10], eax
inc edi
xchg esi, eax
mov ch, 0xf2
je 0x872aac
xchg byte [edx + ebp*2 + 0x24], ch
push ecx
frstor dword [eax + 4]
and dh, byte [ebx + ebx*4]
fild qword [ebx - 0x38]
je 0x872a16
dec eax
mov al, byte [0x525d8a1a]
xor al, 0x89
fimul word [ecx + edx*8 - 0x21dd9d2f]
out 0x36, eax
rcl ebp, 0xc
pop esp
adc al, 0x68
int 0x5f
dec eax
push cx
cmp dh, byte [eax + eax*2]
sbb ebx, edx
mov ebx, 0x5ad7f203
lodsd eax, dword [esi]
lodsb al, byte [esi]
mov esp, 0x8a2e63c8
je 0x872a62
push 0x9e8639df
pop ss
ja 0x872ae6
dec esi
int3
dec esi
invalid
fld xword [ebx]
add dword [edi + 1], edx
arpl word [ecx], bx
mov al, 0xb5
jb 0x872ad7
lodsb al, byte [esi]
sub eax, edx
movsd dword es:[edi], dword [esi]
aad 0xda
adc cl, byte [edi]
push 0x2c
mov byte [edx], cl
mov bh, byte [ecx + 0x7c5a3c17]
or byte [ebp + 0x2f859377], bl
xchg ecx, eax
loopne 0x872b79
fiadd word [esp + ebp - 0x136baa20]
sbb eax, 0x613b02e9
dec edi
push ebx
inc ecx
int1
shl byte [ecx], 0xed
in al, dx
invalid
test byte [esi - 0x32], dl
pop ebx
and byte [edx + 0x3f], ch
into
push ecx
das
push 0xffffffffffffffa0
add al, 4
inc ebx
cmp eax, 0xb1561233
wait
aam 0xd2
sub dword [edi - reloc.MSVFW32.dll_DrawDibDraw], esp
mov al, byte [0x4fb01d13]
dec edi
scasb al, byte es:[edi]
pop es
dec edi
hlt
jge 0x872b38
mov al, byte [0x3652c024]
push eax
rcr byte [eax], cl
xlatb
hlt
add dword [edx], edi
in eax, 0x83
xor byte [edi + ebp*4], bh
insb byte es:[edi], dx
and dh, byte [edi + 0x68d544e4]
push ebp
ficom dword [0xe135ebea]
jo 0x872b48
stosb byte es:[edi], al
loope 0x872b6b
mov ah, 0x70
out 0x88, al
push es
sal esi, cl
add esi, dword [eax + 2]
mov dl, 0xd1
xchg ecx, eax
pushfd
insb byte es:[edi], dx
pop ss
add ah, dl
or byte [esi - 0x46], ch
stc
mov bl, 0xa6
sbb byte [edx - 0x48d76fb9], ah
mov ebp, 0x4bed90d1
mov cl, 0x21
mov ch, 0x97
or dword [edx], eax
mov ecx, 0x2e982264
int 0x3d
push ebx
in al, dx
pop ds
dec eax
insd dword es:[edi], dx
add eax, 0xe2dca4b5
pop eax
lds edx, [edi + 0x3d]
fld qword [0x3e8376e2]
push es
test byte [edi - 0x4f], ah
jle 0x872be7
sub esi, dword [edi - reloc.MSVFW32.dll_DrawDibDraw]
cmpsd dword [esi], dword es:[edi]
inc eax
sbb al, 0x6e
nop
sub ebx, 0xffffffbd
mov bl, 0x92
mov bl, 0xf2
or ah, dl
cmpsd dword [esi], dword es:[edi]
pop ecx
pop esi
fimul word [ebx + 0x1b]
jmp 0xa5effb81