Function at 0x10014f4e
Capabilities:
Authenticate hmac

Disassembly:
sub esp, 0x50
mov dword [esp + 0x40], 0x14d035
xor edx, edx
mov dword [esp + 0x44], 0x6b8268
mov ecx, 0xb19f7ca
push ebx
push ebp
push esi
push edi
xor edi, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x40], 0x3622
shr dword [esp + 0x40], 3
xor dword [esp + 0x40], 0x106c4
mov dword [esp + 0x38], 0x4e9a
shr dword [esp + 0x38], 0xc
xor dword [esp + 0x38], 0x1e1
mov dword [esp + 0x10], 0xc10
shr dword [esp + 0x10], 9
mov eax, dword [esp + 0x10]
push 0x7c
pop esi
div esi
xor edx, edx
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 0xf
xor dword [esp + 0x10], 0x249f
mov dword [esp + 0x20], 0x9f18
shr dword [esp + 0x20], 0xb
add dword [esp + 0x20], 0xffff1ff5
or dword [esp + 0x20], 0xb80b4b6
xor dword [esp + 0x20], 0xffff9b0d
mov dword [esp + 0x3c], 0x945d
add dword [esp + 0x3c], 0xffff610d
xor dword [esp + 0x3c], 0xffffd8f7
mov dword [esp + 0x30], 0x2aad
mov eax, dword [esp + 0x30]
push 0x7f
pop esi
div esi
xor edx, edx
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x3e6e
mov dword [esp + 0x28], 0xddc4
imul eax, dword [esp + 0x28], 0x14
push 0x5e
pop esi
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0xffff71f7
xor dword [esp + 0x28], 0x1091c0
mov dword [esp + 0x1c], 0xa802
xor dword [esp + 0x1c], 0x67e8667b
shr dword [esp + 0x1c], 0xc
imul eax, dword [esp + 0x1c], 0x47
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x1cd2f8d
mov dword [esp + 0x2c], 0xc142
imul eax, dword [esp + 0x2c], 0x44
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x822744f1
xor dword [esp + 0x2c], 0x82146dfa
mov dword [esp + 0x18], 0xbd15
mov eax, dword [esp + 0x18]
div esi
xor edx, edx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x12aa425e
or dword [esp + 0x18], 0x2ffcb14d
xor dword [esp + 0x18], 0x3ffeb451
mov dword [esp + 0x14], 0x6e7b
shr dword [esp + 0x14], 0xb
shr dword [esp + 0x14], 3
mov eax, dword [esp + 0x14]
div esi
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x6fef
mov dword [esp + 0x4c], 0x31f
or dword [esp + 0x4c], 0xb0d9e19e
xor dword [esp + 0x4c], 0xb0d9bf73
mov dword [esp + 0x24], 0x7aa7
mov eax, dword [esp + 0x24]
push 0x41
xor edx, edx
mov ebx, dword [esp + 0x50]
pop esi
div esi
push 0x59
mov dword [esp + 0x28], eax
xor edx, edx
imul eax, dword [esp + 0x28], 0x36
pop esi
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
div esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x613c
mov dword [esp + 0x48], 0x73cc
shr dword [esp + 0x48], 0xc
xor dword [esp + 0x48], 0x3ffa
mov dword [esp + 0x44], 0xa6c1
shr dword [esp + 0x44], 3
xor dword [esp + 0x44], 0x757c
mov dword [esp + 0x34], 0x6c53
or dword [esp + 0x34], 0xc78368a0
xor dword [esp + 0x34], 0xc78c6ccc
push 0x5c
pop edx
cmp ecx, 0xa00144c
je 0x10015261
cmp ecx, 0xb19f7ca
je 0x10015257
cmp ecx, 0xbc9e916
je 0x1001529e
cmp ecx, 0x118767b3
je 0x10015234
cmp ecx, 0x2b2ed007
je 0x10015214
cmp ecx, 0x39878866
je 0x100151ea
cmp ecx, 0x3a731069
jne 0x10015290
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
push ebp
call fcn.10010b0d
pop ecx
xor ecx, ecx
inc ecx
test eax, eax
cmovne edi, ecx
mov ecx, 0x118767b3
jmp 0x1001517d
push dword [esp + 0x34]
mov edx, dword [esp + 0x14]
push ecx
push ecx
mov ecx, dword [esp + 0x44]
call fcn.1001400e
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x100152b7
mov ecx, 0xa00144c
jmp 0x1001517d
mov esi, dword [0x10021088]
add esi, 0x38
jmp 0x10015222
add esi, 2
cmp word [esi], dx
jne 0x1001521f
add esi, 2
mov ecx, 0x39878866
jmp 0x10015180
push ebp
push dword [esp + 0x18]
push dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
call fcn.100066b8
add esp, 0xc
mov ecx, 0xbc9e916
jmp 0x1001517d
mov ecx, 0x2b2ed007
jmp 0x10015180
push esi
push dword [esp + 0x40]
mov ecx, ebx
push dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
call fcn.10010f21
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x10015288
mov ecx, 0x3a731069
jmp 0x1001517d
push 0x5c
mov ecx, 0xbc9e916
pop edx
cmp ecx, 0x1689c33b
jne 0x10015180
jmp 0x100152b7
push ebx
push dword [esp + 0x48]
push dword [esp + 0x50]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
call fcn.100066b8
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret