Function at 0xcd3d65
Capabilities:
Authenticate hmac

Disassembly:
mov eax, 0xc6371694
sub al, ah
movsx edx, al
movzx eax, byte [ebp + edx*4 - 0x1f8]
shl edx, 0xf0
mov ecx, 0x971af682
lea ebp, [ebp + edx - 0x7dffff]
jne 0xd1e3ad
neg dx
mov ecx, dword [ebp + edx*8]
xor al, dh
lea ebp, [ebp + edx + 4]
call fcn.00dbea24
mov ecx, dword [ecx + edi - 0xdc54b]
cwde
adc edi, 3
mul eax
lea edx, [edx + eax + 0x1a1dc294]
shr ax, 0x66
xor ecx, ebx
neg ecx
xadd eax, edx
neg ax
inc eax
sbb ecx, 0xa09157b0
call fcn.00d38ef5
add byte [eax], al
push eax
outsd dx, dword [esi]
jae 0xc7de54
push ecx
jne 0xc7de4c
je 0xc7de32
jae 0xc7de5b
popal
add byte gs:[bp + di], dh
fcom dword [edx + 3]
clc
mov eax, edx
sal edx, 0x5a
or dl, byte [esi + edx + 2]
pop eax
not cx
mov cl, byte [esi + ecx*2 - 0x3cda]
add al, al
neg byte [esp + 2]
add dl, cl
inc byte [esp + 1]
and byte [esp + 3], al
mov word [esi + 4], dx
jns 0x98b44c
lea ecx, [eax*2 - 0x31de657e]
adc esi, 4
imul dword [esp]
add word [esp + eax - 0x768b5fff], cx
div cl
add dword [eax - 0xe09768c], esp
mov dword [esp + edx*4 - 0x175ca418], edi
ret
sar ecx, 0x97
xor cl, dl
bts dx, 0xbf
bswap eax
xor eax, 0x622c5d9c
ljmp 0x5d9c:0x35c80fbf
sub al, 0x62
sar cx, cl
shl ecx, 4
not eax
xor ebx, eax
call fcn.00d3adea
mov word [esi + ecx], ax
movsx eax, dx
adc ecx, dword [ebp + edx*2 - 0x8fb7286]
neg al
lea ebp, [edx + ebp - 0x47db93f]
xor ecx, ebx
sar eax, 0x5e
sub ecx, eax
neg ecx
xchg al, dl
sub al, 9
inc al
rol ecx, 2
mul edx
lea ecx, [edx + ecx + 0x5daeeead]
ror ecx, 1
ror eax, 0x57
bt dx, ax
and dl, dl
bswap ecx
cwde
jl 0xde6320
sbb ecx, 0x233ff895
bswap ecx
cwde
inc ecx
add al, dl
rol edx, 0xb8
bswap ecx
lea edx, [eax*2 - 0x7e503a42]
neg edx
ror ecx, 3
bts eax, edx
xor ax, dx
sar al, 0x86
xor ebx, ecx
dec eax
add edi, ecx
neg dl
adc edx, eax
movzx ecx, byte [ebp + eax - 0x400082f7]
sal edx, 0xb1
adc eax, edx
bt eax, eax
adc ebp, 8
lea eax, [eax*4 - 0x72f9f3ce]
xor cl, bl
or dx, dx
rol cl, 1
not eax
idiv ax
neg cl
xadd eax, edx
not edx
cwde
inc cl
imul ax, ax
sub edx, 0x9e1d5ca8
ror eax, 0xbd
ror cl, 1
btr edx, edx
xor eax, edx
not cl
lea eax, [eax + 0x799e68b1]
or eax, edx
rol edx, 0x23
xor bl, cl
add ecx, esp
shr eax, 0x5c
inc edx
mov eax, dword [ecx + eax*4 - 0x3c]
mov ecx, edx
rol cx, cl
mov dword [esi - 8], eax
adc esi, 0xfffffff7
imul cx, dx
jo fcn.0096f6cc
jmp 0xcf47b8
xor ebx, edx
call fcn.0099c42c
mov ecx, 0x913dda3f
movzx eax, cl
ror eax, cl
mov ecx, dword [ebp + eax - 0x7e]
btr eax, 0x38
xor ecx, ebx
lea eax, [eax*8 + 0x783628aa]
bt eax, eax
movzx edx, al
neg ecx
push edx
bswap ecx
sar edx, 0x7a
not word [esp + eax - 0x78362c98]
neg ecx
sub ax, word [esp + eax - 0x78362c9a]
sal edx, 0x33
not dword [esp + eax - 0x78362c00]
ror ecx, 2
ror dword [esp + eax - 0x78362c00], 0x2b
shl edx, 0x6a
dec edx
xor ecx, 0xf489ebab
or word [esp + eax - 0x78362bff], ax
adc ecx, edx
or al, 0x8f
ror ecx, 1
cwd
shl ax, 0xa7
bswap ecx
sub dl, dh
jl 0xc7dd97
and dword [esp + eax - 0x78364780], 0xc5965d9d
ror ecx, 2
not ecx
ror dx, 1
mov dword [esp + eax - 0x78364780], 0xa5b9c18d
cwde
xor ebx, ecx
ror dl, 0x42
pop eax
mov dword [esi - 4], ecx
dec edx
mov ecx, dword [ebp + 4]
xor ecx, ebx
add edx, edx
dec dl
not ax
not ecx
cwd
jne 0xcbbdb5
inc ecx
mov esi, 0xbf351c8c
inc ecx
movsx eax, dh
inc ebp
mov edi, esi
dec ecx
mov eax, dword [edx]
dec ebp
imul esi, esi
inc ecx
movsx ecx, di
inc si
mov edi, dword [ecx + edx - 0x1c84]
inc ebp
movzx eax, dh
xor al, bl
xor cl, dl
and cl, cl
xor al, 0x81
sub cx, dx
sbb ecx, ecx
sbb cl, dh
ror al, 1
btc ecx, ecx
and edx, ecx
sbb edx, 0xfb8246bd
sub al, cl
ror al, cl
xor bl, al
sar ecx, 0x3e
sets cl
lea esi, [edx + esi - 0x47db945]
ror cx, 0x8c
adc dl, cl
jg 0xc8a192
or dword [esp + ecx - 0x682b03f8], 0x7a254da9
lea eax, [esp + ecx - 0x682b03d8]
or ecx, 0xd4260610
inc ecx
and dword [esp], ecx
mov word [eax], dx
sets cl
movsx edx, cx
lea edx, [esp + edx - 0x6dc]
sets cl
movzx cx, byte [edx]
mov eax, 0x48b3fc09
lea eax, [eax + eax - 0x1a7fad57]
mov word [esi + eax - 0x76e84abb], cx
push eax
mov edx, eax
not eax
mov dword [esp + edx - 0x76e84abb], edi
ret 4
xor ebx, ecx
btc edx, edx
xchg ah, dl
adc edi, ecx
dec eax
lea eax, [eax*2 + 0x7fab4283]
sar edx, 0xc1
jb fcn.0096f6cc
mov edx, 0x502bca17
mov ecx, dword [edx + esi - 0x502bca17]
mov al, byte [esi + edx - 0x502bca13]
imul edx, edx
and edx, edx
adc esi, 6
imul edx, edx
btc edx, edx
lea edx, [edx + edx*4 - 0x6a7db8e1]
mov byte ss:[ecx + edx*2 - 0x1cbc319c], al
movsx eax, dl
dec edx
lea ecx, [edx*2 - 0x73d26c6a]
mov edx, dword [ebp + edx*2 - 0x1cbc319a]
adc ebp, 4
xor edx, ebx
bswap edx
and eax, eax
lea edx, [ecx + edx - 0x7957de08]
xor edx, 0x22021e39
sub eax, 0x530e338c
call fcn.00d9156f
mov dx, word [esi + ecx - 0x682b007f]
ror cx, 0x6d
jae 0xd97d5e