Function at 0x44de88
Capabilities:
Authenticate hmac

Disassembly:
adc edi, 2
imul ecx, ecx
xor cx, cx
ror byte [esp + ecx + 2], 0xa6
add cl, byte [esi + ecx*8]
add esi, 1
xor cl, bl
not dl
push edx
or dx, dx
not cl
dec cl
neg cl
inc cl
xadd dword [esp + 4], edx
sbb word [esp + edx - 0x6f7c6885], 0xc081
shl dl, 0x61
rol cl, 1
mov byte [esp + edx - 0x6f7c6810], dh
bswap edx
xor bl, cl
xor word [esp + edx - 0x12687c6c], dx
lea ecx, [esp + ecx + 8]
or dl, byte [esp + edx - 0x12687c6d]
mov word [ecx + edx - 0x12687c6f], ax
inc dl
mov dword [esp + edx*2 - 0x24d0f8e0], ebp
ret 4
mov byte [esp + 3], 0xbb
add esi, ecx
pop ecx
jmp esi
lea eax, [edx*4 + 0x3b926339]
bswap ecx
dec dl
sbb ecx, 0xdf0e30af
sub dl, al
sal edx, 0x92
neg al
rol ecx, 2
cdq
add dx, 0x4e06
not ecx
rol ecx, 1
imul ax
cwde
shl edx, 0xc1
lea ecx, [ecx + edx - 0x751587bc]
xor ebx, ecx
not ax
add esi, ecx
movsx ecx, dx
lea ebp, [ebp + edx*4 - 0x128a9]
push edx
div al
mul dword [esp + edx - 0x4a2a]
movzx eax, byte [edx + ebp]
bswap ecx
setae cl
ror edx, 0xea
xor al, bl
shr edx, cl
xor al, 0xa2
shl dword [esp + edx], cl
btr cx, 0x23
adc al, cl
xor al, 0x87
add al, 0x33
not al
pop ecx
inc cx
bt cx, cx
xor bl, al
not cx
add eax, esp
lea ecx, [edx*8 + 0x4dbb3f08]
add edx, 0x7f03fb2d
movzx cx, byte [eax + ecx - 0x4dbb3f08]
call fcn.00481c9e
xor eax, edx
xor ebx, ecx
ror dword [esp + eax - 0x4bc034fc], 0xd1
adc ebp, ecx
mov dword [esp + eax - 0x4bc034fc], ebp
ret
ror al, 0x41
rol dl, 1
rol eax, 0xb9
xor dl, 3
or eax, 0xdb888228
push eax
xadd al, ah
xor bl, dl
btc eax, eax
pop eax
shr eax, 0x13
lea edx, [esp + edx + 8]
xor word [esp + eax*2 - 0x36de], ax
not dword [esp + eax*2 - 0x36de]
mov dword [edx + eax*2 - 0x36e2], ecx
movzx edx, ax
mov edx, dword [esi + eax - 0x1b71]
shr eax, 0xdd
jae 0x4a925c
mov eax, 0xa582d4b8
lea ecx, [eax*4 - 0x3dca5d7]
mov cx, word [ebp]
lea eax, [eax + eax*4 - 0xdd48f5c]
mov ax, word [ebp + eax*2 - 0x5b733076]
mov edx, 0xb598a2a6
rol dx, 9
adc dl, dl
adc ebp, 2
add cx, ax
inc dl
mov eax, edx
mov word [ebp], cx
bt edx, 0x29
sbb edi, 4
bts eax, eax
setb dl
mov ecx, dword [edi]
cwde
xor ecx, ebx
lea eax, [eax + eax*8 + 0x4083f05]
not ecx
add al, dl
js 0x4d11f1
neg eax
not edx
sbb edx, 0xd6159db2
dec ecx
sal cx, cl
xor ebx, edx
sub ecx, ecx
dec ax
adc esi, edx
mov dword [esp + ecx], esi
ret
or cx, 0xf805
or dl, dh
adc dx, word [edi + edx*4 - 0x1c0000]
movsx eax, cl
mov ax, word [eax + edi - 0x6b]
inc dword [esp]
imul cx, cx
mov cl, byte [edi + 4]
sub byte [esp + 3], 0x94
sar dword [esp], 0x21
inc dword [esp]
adc edi, 3
call fcn.00417628
movzx ecx, word [edi + eax*2 - 0x6426d0e0]
mov dword [esp + edx - 0x32133588], edx
xor cx, bx
mov dword [esp + eax - 0x32136870], edx
ror eax, 0x5c
not cx
xor dword [esp + edx - 0x3213358b], eax
imul edx
xor cx, 0x3b88
neg cx
btr eax, 0x8a
sbb cx, 0x12a1
ror eax, 0x73
mov dword [esp + edx*2 - 0xcfe48b2], eax
shr word [esp + edx - 0x67f2453], 0x49
neg cx
rol dl, 0xe5
imul eax, edx
sub eax, dword [esp + edx*2 - 0xcfe494e]
xor bx, cx
and ax, ax
cbw
lea ebp, [ebp + edx*2 - 0xcfe4958]
pop edx
imul ax
mov word [ebp + eax*2 - 0x625e03c8], cx
mul dword [esp + eax*2 - 0x625e03c4]
rol byte [esp + eax - 0x4aa28996], 3
lea edi, [edi + eax - 0x4aa289a0]
mov eax, dword [edi + eax - 0x4aa2899c]
xor eax, ebx
inc dx
bswap eax
add dword [esp], edx
lea ecx, [edx + edx + 0x41317095]
lea edx, [edx + edx*4 + 0x4b24ff28]
dec eax
add word [esp + ecx - 0x4159364b], cx
xor eax, 0x31e789e
btc ecx, 0x39
neg dx
rol eax, 1
xor ebx, eax
call fcn.0045e4aa
xor ecx, ebx
inc word [esp + edx - 0x6f1eb8bd]
rol ecx, 2
and byte [esp + edx - 0x6f1eb8be], 0x20
lea ecx, [ecx + eax*2 + 0x1518eaa1]
ror ecx, 2
xor ecx, 0xd535aa2a
xadd word [esp + edx - 0x6f1eb8bf], ax
xor ebx, ecx
sub word [esp + eax*4 - 0x82fc], dx
add ebp, ecx
xor al, byte [esp + edx - 0x6f1eb8bf]
movsx ecx, dl
inc edx
mov ax, word [eax + edi - 0x2036]
xor edx, 0xce154d8a
ja 0x42c709
mov ecx, 0xe4a3d102
movsx eax, cx
xor eax, ecx
mov ecx, dword [edi + eax*2 - 0x36b80000]
ror eax, 0xe9
btr eax, eax
mov eax, dword [eax + edi - 0xdadfc]
mov edx, 0xae2b132b
adc edi, 4
push edx
not ecx
not eax
shl byte [esp + 3], 0x63
and ecx, eax
movzx eax, dx
btr dx, ax
dec eax
mov dword [eax + edi - 0x132a], ecx
jns 0x4c0ece
ror dl, 1
not dl
shr al, 0xa4
xor dl, 0xac
neg dl
xor dl, 0x16
inc byte [esp + eax*2 - 0xb80b]
jg 0x43d916
call fcn.00498660
mov eax, dword [esp]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 4]
add ecx, 0xfff4f03e
jmp ecx
not ecx
ror ecx, 3
dec eax
btr edx, eax
dec ecx
lea edx, [eax*4 - 0x2ecd735e]
neg ecx
or dl, dl
cdq
inc ecx
xor ebx, ecx
cbw
btr eax, 4
add ebp, ecx
mov eax, dword [eax + edi - 0x5acffef]
or edx, dword [edi + edx + 4]
mov ecx, 0x19e5a26
mov cl, byte [edi + ecx - 0x19e5a1e]
jmp 0x49258a
jmp 0x454b2e
setnp byte [esp + eax*8 + 2]
lea esi, [esi + eax*2 + 4]
sbb ax, 0x822a
jb 0x4d03f8
sub ebp, 4
mov edx, 0x3a109f25
call fcn.0044572e
pop eax
setb al
pop eax
jmp esi
mov ecx, edi
cbw
btr eax, edx
xchg dl, al
lea edi, [edi + eax - 0x2a27ffb9]
mov word [edi + eax*2 - 0x544fff6e], cx
cbw
or dl, 0x94
call fcn.004ae316
mov ecx, dword [esi]
mov eax, 0x5ad0993
movzx edx, ax
lea esi, [esi + eax - 0x5ad098f]
neg edx
jg 0x47abb2
sub ax, ax
xor ecx, ebx
cwd
rol ecx, 3
cwd
bt edx, edx
jae 0x491581
mov edx, dword [edi]
mov ecx, eax
neg eax
mov cl, byte [edi + eax - 0x13568ef8]
bts eax, 0x81
setae al
lea edi, [edi + eax*4 - 0x4d5a3802]
ror al, 4
lea eax, [eax - 0x35e4ebc5]
shl edx, cl
call fcn.004bbf81
sbb dl, 0x81
mov ecx, dword [esi + eax - 0x132a]
ror word [esp + eax - 0x132a], 0xc1
lea esi, [esi + eax*8 - 0x994c]
and word [esp + eax*4 - 0x4ca7], 0xe80c
xor ecx, ebx
inc dword [esp + eax - 0x132a]
lea ecx, [ecx + edx + 0x297a42d6]
call fcn.0042df24
mov eax, 0x65aa9a19
sar ax, 0xce
lea ebp, [eax + ebp - 0x65aaffff]
shl eax, 0x5c
movzx edx, al
add dl, byte [edx + ebp]
xor dl, bl
mov ecx, eax
cwde
ror dl, 1
and ax, ax
neg al
call fcn.004782fc
bswap ecx
xor dx, dx
shr dx, 0x2a
not eax
neg ecx
and dx, 0x6991
cmovns edx, eax
cbw
xor ebx, ecx
xadd edx, eax
bts eax, 0x90
call fcn.004c3f5f
mov ecx, 0xef8bc035
movzx edx, cl
lea ebp, [ebp + edx*2 - 0x6e]
rol dl, 0xe1
neg edx
mov ecx, dword [ebp]
xor ecx, ebx
bt edx, edx
jb 0x438ed7
ror byte [esp + 4], 0x87
mov dword [edi], edx
jae 0x4aee70
mov eax, 0xb29738bc
lea edx, [eax + eax - 0x35f0264d]
lea edx, [edx + edx + 0x5138ba94]
mov eax, dword [edi]
lea edx, [edx + edx*4 + 0x5b3d70a4]
movsx ecx, dx
bt ecx, edx
mov dl, byte [ecx + edi - 0x532]
jb 0x43a7dd
lea ecx, [ecx + ecx*2 + 0x4a051a22]
or ecx, 0xec23300b
adc edi, 6
push ecx
mov byte ss:[eax], dl
sub ebp, 4
shl word [esp + 1], 0xa6
jnp 0x4e2ce7
xor edx, ebx
sub dword [esp + eax - 0x7dd2], eax
lea ecx, [eax + eax - 0x54676bcb]
call fcn.0041ff10
lea ecx, [ecx + eax*2 - 0x563c2397]
js 0x4e4dfb
mov eax, 0x2a273ab7
movsx edx, al
jmp 0x4ba3d9
xor ecx, ecx
adc ecx, dword [ebp + ecx]
xor ecx, ebx
mov eax, dword [esp]
bswap ecx
xadd byte [esp + 3], al
sal eax, 0x78
or al, ah
xor ecx, 0xf114e406
and al, ah
dec ecx
sub al, 0xa0
rol ecx, 3
cdq
sar dword [esp], 0x43
setnp dl
xor ebx, ecx
jmp 0x431d18
sal eax, 0xf8
not ecx
jne 0x4c3e36
mov edx, 0x2c938d98
movzx eax, dx
mov eax, dword [esi + eax*8 - 0x46cc0]
movzx ecx, dl
sar ecx, cl
push edx
lea esi, [edx + esi - 0x2c938d94]
xor eax, ebx
rol dword [esp + ecx], 0x75
shl cl, 0xc4
dec eax
bt dx, dx
sar cl, 0xe2
neg edx
neg eax
rol dword [esp + ecx], 0xd0
xor eax, 0x971d1d35
or cx, 0x700
sal ecx, 0xa8
rol eax, 3
btc edx, 0xe
xadd ecx, edx
xor ebx, eax
inc ecx
and word [esp + edx*4 - 0x1c0000], 0x38a0
adc ebp, eax
jmp 0x445869