Function at 0x10c49814
Capabilities:
Authenticate hmac

Disassembly:
mov eax, 0x4317de85
mov eax, dword [ebp + eax - 0x4317de85]
push 0x7a2fac2a
call fcn.10e03f91
mov edx, 0xde09af30
jmp 0x10d933ec
cbw
pop edx
jbe fcn.10c088fe
sal ecx, 0x19
add edx, esp
rol cl, 0x63
setae cl
inc al
mov eax, dword [eax + edx - 0x7ec96c40]
movsx edx, cl
lea edi, [edi + edx - 5]
bswap edx
mov dword [ecx + edi - 0x52000001], eax
lea esi, [esi + ecx - 0x52000005]
inc edx
mov ecx, dword [esi + ecx - 0x52000001]
lea eax, [edx + edx*8 - 0x5f6e227c]
xor ecx, ebx
ror dx, 0xce
sar eax, 0xe4
rol ecx, 2
sar al, 0x87
not dl
sal ax, 0x23
dec ecx
rol al, 0xe4
div eax
inc eax
rol ecx, 1
and ax, 0xdb85
adc al, 0x3e
dec ecx
ror dx, 0xe1
bts edx, 0x85
not edx
xor ecx, 0xd885781d
xor ebx, ecx
add ebp, ecx
jmp fcn.10cf0654
inc al
mov edx, eax
mov ecx, dword [edx + esi - 0x51b2fe9f]
sar al, 0xe5
xor ecx, ebx
sar dx, 0xa8
ror eax, 0x39
not ecx
not dl
shr dx, 0xac
add ax, 0xe90
rol ecx, 1
and eax, eax
sar edx, 2
and edx, 0x8497eb87
xor ecx, 0xe192900f
add edx, eax
cbw
btc ax, ax
neg ecx
mul edx
sal al, 0x42
dec edx
xor ebx, ecx
and edx, eax
not dx
setae dl
adc ebp, ecx
lea edx, [edx + edx*2 + 0x6fae721f]
lea esi, [esi + eax - 0xf4fb0a2]
movzx ecx, al
shl edx, 0x4a
mov cx, word [esi + eax - 0xf4fb0a0]
sar dl, 7
or ax, dx
xor cx, bx
not cx
add cx, 0x6b17
ror al, 1
push edx
adc dx, 0x226
not cx
neg al
inc cx
or word [esp + eax*4 - 0x3d3ee2c0], 0xc9f
xor dl, 0x11
adc dword [esp + eax - 0xf4fb8b0], eax
xor bx, cx
inc dl
inc dword [esp + eax - 0xf4fb8b0]
setle byte [esp + eax*2 - 0x1e9f7160]
lea edi, [edi + eax - 0xf4fb8b2]
bt eax, edx
mov word [edi + eax - 0xf4fb8b0], cx
jb 0x10d3ef94
mov esi, 0x65a46003
inc eax
movzx ecx, dh
inc cx
mov ebx, dword [esi + esi - 0x65a46003]
push ecx
xadd dword [esp + esi - 0x65a46002], ecx
movsx ebp, cl
inc cx
mov edx, dword [esi + ebp*4 + 2]
inc eax
xadd ch, dh
inc ecx
xor cl, byte [esi + esi - 0x65a45ffc]
dec ebp
lea esi, [esi + ebp*2 - 2]
inc esp
mov ebx, esi
shrd bx, dx, cl
inc ebp
movzx edi, bl
inc dx
mov dword [ebp + esi - 3], ebx
movzx edi, bp
jmp 0x10c700be
movzx ecx, byte [edi + ecx*2 - 0x7516814a]
xor cl, bl
ror cl, 1
inc eax
cdq
xchg edx, eax
not cl
dec cl
rol ax, 0xa2
rol cl, 1
sar eax, 0x77
dec cl
btc ax, ax
ror cl, 1
not dl
neg eax
adc cl, 0xb2
push eax
dec word [esp + edx*2 - 0x626a]
or dword [esp + edx*8 - 0x189a8], eax
xor bl, cl
lea ecx, [esp + ecx + 4]
movzx dx, byte [edx + ecx - 0x3135]
and al, ah
mov ecx, dword [esp]
sbb ebp, 2
mov word [ebp], dx
dec dword [esp]
pop ecx
jne fcn.10b4c515
sub ebp, 4
mov edx, dword [ebp]
mov eax, 0x75bfd42b
xor edx, ebx
add al, 0x26
lea ecx, [eax + eax + 0x3792e1b2]
shr eax, cl
neg edx
add ecx, eax
bt cx, 0x9c
shr ax, 0xc6
bswap edx
not edx
sub ecx, ecx
and eax, 0xe93d6f8c
dec edx
not cl
not edx
sub ecx, eax
idiv al
xor ebx, edx
rol cl, 0x83
call fcn.10ac8da0
pop edx
sub al, 0x36
neg al
add edx, ecx
ror al, 1
jmp 0x10de1bdd
dec esi
lea ecx, [esi + ecx - 0x65a46004]
inc ecx
movzx ecx, bh
jmp 0x10df4c7a
ror word [esp + 8], 0xa6
sbb eax, 0xea0cb5b3
inc dx
jns 0x10c97d34
mov edx, 0x2f0db2be
mov edx, dword [edx + esi - 0x2f0db2be]
mov ecx, 0xab86ec35
bts cx, 0x86
mov eax, ecx
mov eax, dword [esi + 4]
imul ecx, ecx
push ecx
dec dword [esp]
mov ecx, dword [esi + 8]
inc dword [esp]
inc word [esp + 2]
adc esi, 3
call fcn.10e29b1c
mov ecx, 0x59877439
or ecx, ecx
mov edx, dword [esi + ecx - 0x59877439]
call fcn.10c3953a
mov dword [esp], 0xf2a0ab12
xor eax, ebx
push 0x2583c7b8
inc edx
jmp 0x10df45a5
jae 0x10b70bdb
lea ebp, [ebp + ecx*8 - 0x7ca]
rol eax, 0x27
sub byte [esp + ecx - 0xf8], ch
adc eax, eax
mov word [eax + ebp - 0x370000d6], dx
xor eax, dword [esp + eax*2 - 0x6e0001ac]
add word [esp + ecx - 0xf9], ax
call fcn.10bd8c9c
mov eax, 0x51b2fe9e
lea esi, [eax + esi - 0x51b2fea2]
jmp 0x10b58472
lea esp, [esp + 0x18]
je 0x10adbe9c
mov eax, dword [ebp + ebx*4]
jmp 0x10d7c169
jmp 0x10bf40a1
movsx ecx, dx
xor ebx, eax
shr cx, 0x83
xchg word [esp + ecx - 0x428], cx
add edi, eax
add dword [esp + ecx*2 + 4], edx
mov eax, dword [esp + ecx + 8]
mov dword [esp + ecx*2], 0xe281cb33
add cl, byte [eax + ebp - 0x4320000]
add dword [esp + eax*2 - 0x8640000], 0x94b90a3c
or dx, 0x8f9c
lea ebp, [eax + ebp - 0x431ffff]
pop edx
xor cl, bl
inc dword [esp + eax - 0x431fffc]
xchg word [esp + eax - 0x431fffc], ax
add cl, 0x26
bswap edx
push edx
neg cl
bswap edx
sub cl, al
push eax
imul dword [esp + edx - 0x773ad56e]
rol cl, 1
xchg word [esp + edx - 0x1f34f9a], dx
lea edx, [eax - 0x7150f873]
xor bl, cl
shl dx, 0xed
mul dl
or eax, dword [esp + eax*2 - 0x7607fff8]
mov dword [esp + 0xc], ebp
shr al, 0x41
push eax
cwde
mov dword [esp + eax*8 - 0x21894], edi
xadd dword [esp + eax*4 - 0x10c50], edx
lea eax, [eax + eax*8 - 0x256f36e5]
mov dword [esp + 8], ebx
add ax, 0xc2b8
add eax, dword [esp + 4]
shr edx, 0xd6
mov ebp, esi
mov ebx, dword [esp + edx*2 - 0x7f5]
mov ebx, ecx
sub dl, byte [esp + edx*4 - 0xfec]
mov edx, ebx
neg ax
adc ax, ax
seta al
shl edx, 2
rol eax, 0x8b
bswap eax
mov eax, ebp
push 0x8310c111
push 0x310e61a2
adc eax, edx
mov dword [ebp - 4], eax
dec byte [esp]
push 0xe0b4c22f
test ebx, ebx
jmp 0x10dd5d67
jl 0x10b47c45
cbw
call fcn.10be66a8
xor ebx, edx
add esi, edx
cdq
xor edx, ecx
bt edx, 0xb4
lea edi, [edi + eax*8 - 0x18e49]
lea ecx, [edx*2 + 0x603a5513]
jae 0x10c540c2
mov ecx, 0x9f151517
mov edx, ecx
mov edx, dword [esi]
ror ecx, 0xf1
btc ecx, ecx
mov eax, dword [esi + 4]
ror cl, 0x64
neg cx
adc esi, 7
bt ecx, 0
mov dword ss:[edx], eax
sbb ebp, 4
mov edx, dword [ebp]
lea eax, [ecx - 0x5c69e47]
xor edx, ebx
neg eax
adc ecx, eax
dec edx
add ecx, 0x31a60325
shr ax, 0x43
ror edx, 2
neg ecx
sbb edx, 0x4eaaa415
not cx
bswap edx
shl eax, cl
or eax, 0xd903e70e
xor ebx, edx
ror eax, 0x97
push ecx
jae 0x10c04653
add edi, edx
cdq
sar byte [esp + 3], 0xa5
pop eax
jmp edi
shr ax, 0x6d
adc byte [esp + eax*8 - 0x7a780027], al
pop ecx
jae fcn.10a522e2
mov ecx, 0x4e1acf90
call fcn.10e0a625
xor ebx, eax
ror byte [esp + 3], 0xc4
and ebx, 0xff
neg byte [esp + 3]
sub byte [esp + 2], 0x80
mov ebx, dword [ebx*4 + 0x10d120b4]
shr eax, 8
call 0x10c49877
dec ebp
lea ebp, [ebx + ebp*4 - 0x7d4a70de]
dec edi
lea esi, [esi + 0x3b2a7ba3]
inc cx
sal ebp, 0x84
inc ecx
mov dword [esp + eax + 0x3b2a7b97], edi
dec ecx
or ecx, eax
jmp ecx
call fcn.10cb0323
mov eax, 0x3c1dc690
mov ecx, eax
imul eax, ecx
mov eax, dword [eax + edi - 0x16a31100]
lea edi, [edi + ecx - 0x3c1dc68c]
not cl
rol ecx, 0x41
xor eax, ebx
xor ecx, ecx
neg ecx
adc ecx, ecx
neg eax
movsx edx, cx
sal ecx, 0xab
js 0x10cdb61f
rol eax, 1
neg eax
sal cl, 0x86
lea eax, [eax + ecx - 0x3016611f]
and dx, 0x860b
shr dl, 0x61
sbb edx, ecx
bswap eax
bts ecx, 0x24
xor ebx, eax
xor edx, 0x4220291
shr cl, 0xc2
adc ebp, eax
call fcn.1177198c
mov ecx, 0xadb05311
mov eax, ecx
lea edx, [ecx*4 + 0x74263f27]
lea edi, [edi + edx*2 - 0x55cf16da]
xor dx, 0x448f
xchg edx, eax
sar dl, 3
mov eax, dword [edi + eax*2 - 0x55cf9fc8]
sal cl, 0xa6
xadd dl, ch
not dx
xor eax, ebx
neg dx
sbb eax, 0x17bd73ab
btc ecx, 0x3b
not eax
cmovb ecx, edx
neg eax
add cl, dl
ror eax, 2
push edx
xor ebx, eax
pop ecx
add ebp, eax
mov eax, edx
bts dx, ax
sbb edi, 3
mov ecx, dword [edi]
bts eax, edx
xor ecx, ebx
xor ecx, 0x7b350717
push edx
add ax, ax
lea ecx, [edx + ecx + 0x800b438]
not ecx
neg dl
btr ax, 0x9a
shl word [esp + 2], 0xef
inc ecx
shl dword [esp], 0xbb
adc eax, edx
sal byte [esp + eax - 0x5ba0f653], 0xa6
xor ebx, ecx
add dword [esp + eax - 0x5ba0f656], 0x6c950585
imul al
lea esi, [eax + esi - 0x5ba01ce8]
mov dword [esi + eax - 0x5ba01ce4], ecx
cdq
pop edx
jo fcn.10c6c737
add al, 0xe6
or eax, 0xa78e6d7f
cmp byte [ebp + edx*8 - 0x26], cl
ljmp 0xe4cc
sub edi, 4
call fcn.10b58723
mov eax, 0xea1b1491
and ax, ax
sbb eax, 0xe6b24208
mov edx, dword [edi + eax - 0x368d289]
sal ax, 0xca
push eax
lea edi, [edi + eax - 0x36823fc]
xor edx, ebx
sal eax, 0x5d
shr eax, 0x81
movzx ecx, ax
neg edx
dec cx
not edx
sete cl
rol edx, 2
mov word [esp + eax*4 + 2], cx
push eax
xor edx, 0x611c8783
ror al, 0x81
rol ecx, 0x6e
and al, byte [esp + eax + 6]
xor ebx, edx
and dword [esp + eax*2], 0x14a7eb86
adc ebp, edx
xor al, byte [edi + eax*4]
sub ecx, dword [esp + ecx*2 - 0x7f7ffffc]
bswap ecx
inc cl
lea edi, [ecx + edi - 0xdcbf40]
neg ecx
xor cx, cx
xor al, bl
add cl, 0x30
movzx edx, cx
inc al
neg al
jmp 0x10b8b8ff
push 0x96066ea3
jmp 0x10c567c8
and ecx, 0xbc1424a7
not al
sub dx, 0x38bf
add edx, dword [esp]
xor bl, al
btc dx, dx
lea eax, [esp + eax + 4]
not ecx
add ecx, dword [esp + ecx - 0x43ffffdf]
sar byte [esp + ecx - 0x430023df], 0x27
mov cx, word [eax + ecx - 0x430023df]
lea eax, [edx*8 - 0x69f4dcfa]
lea edx, [edx*8 + 0x6503d79d]
call fcn.10af6cf7
call fcn.10ca7d8d
mov eax, 0x292683b6
mov ecx, dword [edi + eax - 0x292683b6]
xor ecx, ebx
sub ecx, 0xdb175036
rol eax, 0xb
dec al
setno al
not ecx
neg ecx
lea ecx, [ecx + eax*2 - 0x71e9deba]
push eax
push eax
rol ecx, 3
sub ecx, 0x9c9803bf
xor ebx, ecx
shr word [esp + eax - 0x341db101], 0xa8
shl eax, 0x1a
je 0x10cf6877
adc ebp, ecx
btr eax, eax
movzx ecx, al
and eax, ecx
or ecx, dword [ecx + esi]
jmp 0x10cfefcf
xor eax, 0x272fd0a0
xor dword [esp + 8], 0xb807cb94
dec ecx
not byte [esp + 3]
not dword [esp + 8]
lea esp, [esp + 0xc]
jne 0x1179a78d
mov ebx, 0x6130c31e
movzx ecx, bx
movsx edx, bl
pop ebx
not eax
mov edx, 0x648c49a3
mov ecx, edx
mov dword [esi + ecx - 0x648c49a3], eax
lea eax, [ecx + ecx*8 + 0x1782258c]
sar eax, 0xbc
jmp edi
inc ecx
mov edx, dword [ecx + esi - 0x65a46000]
inc esp
movsx esp, ch
call fcn.10c0725f
push 0x9221cfbc
jmp 0x10d72bb7
mov ebx, 0xaca6bf05
movzx ebx, byte [edx]
jmp 0x11773bc3