Function at 0x16dad68
Capabilities:
Authenticate hmac

Disassembly:
inc edx
xor al, al
xor word [esp + eax - 0x48a65fff], ax
add byte [esp + eax - 0x48a65ffd], al
not edx
lea ecx, [eax + eax*4 - 0x4b6ca8c6]
sar byte [esp + eax - 0x48a65ffd], 0x23
inc edx
bts ecx, 5
sbb al, 0x38
ror edx, 2
not edx
shl cl, 0xa1
shr dword [esp + ecx*2 - 0x3fa66ee8], cl
mov dword [esp + ecx*2 - 0x3fa66ee8], eax
xor ebx, edx
or ecx, eax
cwde
seta byte [esp + eax - 0x60c7]
adc esi, edx
movsx edx, byte [esp + eax - 0x60c7]
ror dword [esp + eax - 0x60c7], cl
xchg word [esp + eax - 0x60c5], cx
sbb ebp, edx
mov dl, byte [ebp + eax*2 - 0xc18e]
xor dl, bl
ror al, 0xc1
xadd ecx, eax
pop ecx
inc dl
xor dl, 0x2c
ror dl, 1
bts cx, cx
adc dl, 0xb9
or ecx, ecx
neg dl
push ecx
add dl, 0x99
xor bl, dl
lea edi, [eax + edi - 0x5ff74cc2]
or dword [esp + ecx - 0x77f70293], 0x69bd50b3
bt ax, ax
mov word [edi + ecx - 0x77f70293], dx
push eax
cbw
btc ecx, eax
pop eax
pop eax
jb fcn.016d87fd
sub edi, 1
mov ecx, 0x5326253f
movzx eax, cx
movzx edx, byte [eax + edi - 0x253f]
add al, ch
xor dl, bl
xchg ecx, eax
add cx, cx
btr ecx, eax
xor dl, 0x82
call fcn.00d497a9
imul edx, edx
sbb ecx, 0xed91753b
not eax
call fcn.0194e936
adc ebp, 4
lea eax, [edx*2 - 0x70735041]
sal edx, 1
call fcn.0188bf38
btr eax, 0xb9
not dl
jae 0x18eb543
inc ecx
mov eax, 0xed25bb1d
inc ebp
movsx esi, ax
inc ecx
bts eax, 0x84
inc ebp
mov esi, dword [edi]
dec ecx
sal eax, 0x18
inc ecx
mov cl, byte [edi + 4]
inc ecx
mov ebp, 0x5502a8b7
inc ecx
movsx esi, al
jns 0x18c07a0
mov edx, 0xa8220486
sub ebp, 4
btc edx, edx
push edx
mov edx, dword [ebp]
mov eax, 0x99814922
xor edx, ebx
ror eax, 0xaa
jb 0x1938e60
jae 0x151f90a
inc ecx
mov ecx, 0xa2215598
inc ecx
dec ecx
inc ecx
movzx edi, cx
inc ebp
mov esp, dword [edx + edi*4 - 0x1565c]
inc eax
movzx esi, bh
inc eax
movzx ecx, dh
dec ebp
lea edx, [edx + edi*2 - 0xab2a]
inc esp
movsx ebx, dh
inc esp
movzx ebp, si
inc esp
xor esp, ebx
inc ebp
movsx esi, cx
inc ecx
shl dh, 0x81
inc ecx
ror esp, 1
sar esi, cl
dec eax
lea edx, [esi + esi*8 + 0x37a27fba]
inc ecx
not esp
inc ebp
sbb bl, bl
dec esp
lea eax, [esi*2 - 0x1b65f94f]
inc edi
lea esp, [esp + ebx - 0x654d5156]
inc ecx
neg esp
inc eax
inc dh
push ebx
dec eax
bswap edi
inc esp
xor dword [esp + ecx*2 - 0x12e], esp
pop ebx
inc esp
xchg edx, ebx
btr edx, 0xa1
dec ebp
arpl sp, sp
dec edx
lea eax, [esi + esi + 0x499a2922]
dec ecx
adc ebp, esp
inc bp
mov esi, dword [edi + esi*8 - 8]
inc cx
neg eax
inc cx
mov esi, dword [edi + esi + 1]
dec edi
lea eax, [ecx + ecx*2 + 0x4fa77919]
inc ebp
xchg eax, ecx
inc cx
xor ecx, 0x8d4dd98a
mov esp, 0xfffed44f
inc dword [ecx - 1]
lds ecx, [edi]
and byte [edi + 0x20], 0x29
add byte [esi + 0x44], ah
adc esi, esi
inc cx
dec eax
inc di
mov dword [ecx + edi - 0x360ba054], esi
push eax
jne 0x176c7da
mov ecx, 0xd0bb1cb1
mov eax, dword [ebp]
sub cl, 0xbb
adc ebp, 3
ror cx, 0x6d
movzx edx, cl
lea ecx, [ecx - 0x4bced571]
movzx ecx, byte [edx + esi - 0xb0]
jb 0x19ab3e1
sub edi, 4
mov edx, 0xa10c33ae
mov edx, dword [edi]
mov eax, 0xc29eaa05
movsx ecx, ax
bts cx, ax
xor edx, ebx
sub edx, 0x90fc34
not edx
dec cl
bswap eax
and cx, 0x60bc
lea edx, [ecx + edx - 0x14729d7c]
ror edx, 3
shr cx, cl
btc cx, ax
xor ebx, edx
add esi, edx
cwde
movzx edx, cx
call fcn.019eda46
dec edi
lea edi, [edi + ebp - 0x5502a8b5]
inc ebp
movzx ebx, ax
inc ebp
and ebp, eax
call fcn.018a05da
mov ecx, dword [ebp]
mov eax, 0x6c389cad
ror eax, 0x2c
mov edx, eax
adc ebp, 3
mul edx
xor ecx, ebx
pop eax
sub al, al
sar dl, 0xe7
not ecx
jp 0x15a56ca
sbb dl, 0x38
xadd al, ah
btc eax, eax
ror eax, 0xaf
rol dl, 1
not dl
xor bl, dl
and eax, 0x3004f713
xor al, ah
push ebp
inc al
movsx ebp, ax
btc eax, eax
push esi
jae 0xd65a81
lea esi, [esi + edx*2 - 0x15f]
add dx, dx
neg edx
add dx, dx
xor cl, bl
and edx, edx
sbb cl, 2
and edx, edx
shr edx, 0x5a
rol cl, 1
shr dx, 0x6d
xor cl, 0xa7
bts edx, 0x28
setae dl
sbb cl, dl
xor bl, cl
sal edx, 1
and dl, 0xab
adc ecx, esp
sal edx, 0x81
xor dx, dx
mov dword [edx + ecx], eax
lea edx, [edx + edx*8 - 0x78e282e5]
mov edx, dword [esi]
mov ecx, 0xed0652a7
push ecx
adc esi, 4
lea eax, [ecx + ecx*4 + 0x64090899]
push ecx
xor edx, ebx
cwde
sub edx, 0x49aed1b5
add eax, eax
or al, ch
bswap edx
and dword [esp], 0x413cc394
xor edx, 0x50b37515
imul ecx, ecx
call fcn.0154832e
inc ebp
mov ebx, dword [edi]
inc ecx
mov ebp, 0xb010808d
inc ecx
shr ch, 0xc3
inc ebp
mov esi, dword [edi + 4]
inc ecx
mov cl, byte [edi + 8]
jb 0x16e529f
mov ecx, 0x1c90d41b
lea edi, [edi + ecx - 0x1c90d41f]
mov edx, dword [ecx + edi - 0x1c90d41b]
btr ecx, 0xa
lea eax, [ecx + ecx*2 - 0x66f475c8]
xor edx, ebx
inc edx
rol edx, 1
int1
or cl, byte [ebp - 0x75c7b67c]
or ebx, dword [ecx - 0x2ebd2ccd]
ret 0xca0f
bswap edx
sar ax, 0x2b
xor edx, 0x4f1bd793
lea ecx, [eax*4 + 0x572d8e22]
dec ax
xor ebx, edx
btr ecx, ecx
mov bl, 0xc9
add ecx, 0xac0c0ea8
adc esi, edx
add eax, ecx
setns al
call fcn.0155f551
cli
ja 0x19ab4e7
dec ecx
sbb bh, byte [ebx - 0x7d]
adc eax, 0xec529eac
sahf
push edx
in al, dx
jbe 0x19ab495
aaa
mov bh, 0x70
stosb byte es:[edi], al
push 0x1f2b19d9
and eax, 0xedc93597
xchg esp, eax
dec ebp
dec edx
salc
jnp 0x19ab4a3
push esp
cli
adc dword [eax - 0xc], 0xfffffff4
loop 0x19ab4bc
sbb byte [ebx - 0xbcc74e], dh
scasd eax, dword es:[edi]
aaa
mov edx, ebx
cmp bh, byte [edx]
cmp ebx, dword [esi + 0x5c2ac20f]
add edx, ebp
inc ebp
div byte [ebp + 0x6e]
mov dword [edi + 0x285727a7], edi
xchg edi, eax
dec ecx
test eax, 0x124774e0
dec ebx
adc bl, byte [ebp - 0x1529aa2b]
loope 0x19ab52f
sbb byte [0x4f08e962], dl
dec edi
inc ebp
dec esp
jb 0x19ab4d9
aas
cmp edi, edx
and eax, 0x82dc6d90
or ebp, dword [0x815e79f9]
invalid