Function at 0x403d1a
Capabilities:
Authenticate hmac

Disassembly:
lds eax, [eax]
cmp dword [edx], esi
xor byte [ebp + 0x164843b3], cl
int3
jae 0x403cb9
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], cl
add eax, 0x4547030a
push esp
adc bh, dl
push es
or al, cl
add dword [edx], edx
add byte [eax], bl
add byte [edx], ah
push ss
or cl, byte [0x65636361]
jo 0x403db2
sub eax, 0x676e6172
jae 0x403d58
add eax, 0x65747962
jae 0x403d6f
sub dword [edx], ecx
and byte [ecx + 0x63], ah
arpl word [ebp + 0x73], sp
jae 0x403d84
arpl word [edi + 0x6e], bp
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x403dce
outsd dx, dword [esi]
insb byte es:[edi], dx
sub eax, 0x6f6c6c61
ja 0x403d92
arpl word [edx + 0x65], si
outsb dx, byte gs:[esi]
je 0x403dd6
popal
insb byte es:[edi], dx
jae 0x403d83
add eax, 0x736c6166
and ah, byte gs:[ecx]
or bl, byte [ecx]
arpl word [ebx + 0x65], sp
jae 0x403df4
sub eax, 0x746e6f63
jb 0x403df7
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x403df9
outsd dx, dword [esi]
insb byte es:[edi], dx
sub eax, 0x6f6c6c61
ja 0x403dbd
push 0x65646165
jb 0x403e0a
popal
jb 0x403e0a
adc al, byte [ecx]
sub ah, byte [edx]
xor byte [edx], cl
sbb al, 0x61
arpl word [ebx + 0x65], sp
jae 0x403e17
sub eax, 0x746e6f63
jb 0x403e1a
insb byte es:[edi], dx
sub eax, 0x6f6c6c61
ja 0x403de0
sub eax, 0x6874656d
insd dword es:[edi], dx
je 0x403e1f
outsd dx, dword [esi]
jae 0x403dcd
adc byte [edi + 0x45], al
inc ebp
push esp
sub al, 0x48
inc ebp
inc ecx
inc esp
sub al, 0x4f
push eax
push esp
dec ecx
dec edi
dec esi
push ebx
and ah, byte [eax]
and byte [edx], cl
sbb esp, dword [ecx + 0x63]
arpl word [ebp + 0x73], sp
jae 0x403e04
or bl, byte [ebx]
popal
arpl word [ebx + 0x65], sp
jae 0x403e49
sub eax, 0x746e6f63
jb 0x403e4c
arpl word [edi + 0x6e], bp
je 0x403e4e
outsd dx, dword [esi]
insb byte es:[edi], dx
sub eax, 0x6f6c6c61
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x403e12
outsd dx, dword [esi]
jb 0x403e51
imul ebp, dword [bp + 0x12], 0x1f222a01
or dl, byte [esi]
popal
arpl word [ebx + 0x65], sp
jae 0x403e6b
arpl word [ebp + 0x73], sp
jae 0x403e26
sub eax, 0x746e6f63
jb fcn.00403e6e
arpl word [edi + 0x6e], bp
je 0x403e70
outsd dx, dword [esi]
insb byte es:[edi], dx
sub eax, 0x2d78616d
popal
adc al, byte gs:[di]
sub eax, 0x12656761
add eax, 0x30343638
cmp byte [esi], dh
xor al, 0x30
xor byte [edx], ah
sub al, 0xa
or ah, byte [ecx + 0x6b]
popal
insd dword es:[edi], dx
popal
imul ebp, dword [0x126e7267], 0x352e301e
xor esi, dword ss:[esi]
aaa
jb 0x403e8b
adc bl, byte [esi]
xor byte [esi], ch
xor eax, 0x37363336
arpl word [esi], si
cmp byte [esi], ch
xor dword [edi], esi
xor byte [edi], dh
aaa
xor al, 0x35
xor al, 0x37
xor eax, 0x6138342e
xor eax, 0x37333563
and dh, byte [ecx]
or cl, byte [0x68636163]
sub eax, 0x746e6f63
jb 0x403ebc
outsb dx, byte [esi]
je 0x403ebe
outsd dx, dword [esi]
insb byte es:[edi], dx
adc ah, byte [eax]
insd dword es:[edi], dx
popal
js 0x403e81
popal
cmp eax, 0x39313432
xor dh, byte [eax]
xor byte [eax], ch
insd dword es:[edi], dx
jne 0x403ed7
je 0x403e93
jb 0x403ecd
jbe 0x403ecb
insb byte es:[edi], dx
imul esp, dword [ecx + 0x74], 0xa152265
push cs
arpl word [edi + 0x6e], bp
push 0x35310312
aaa
and ah, byte [esi]
or cl, byte [ebx]
arpl word [edi + 0x6e], bp
sub al, 0x20
xor dword [edx], esi
xor edi, dword [edx]
xor al, 0x34
sub cl, byte [edx]
add al, 0x65
je 0x403f3e
adc ah, byte [bp + si]
imul ebp, dword [ebp + 0x69], 0x4712676e
popal
imul ebx, dword [edi + 0x70], 0x3b