Function at 0x310c97
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
push dword [esp + 0x74]
mov edi, dword [esp + 0x74]
push edi
push edx
push ecx
call fcn.0030aa7d
mov dword [esp + 0x70], 0x78ea5a
xor esi, esi
and dword [esp + 0x78], esi
add esp, 0x10
mov dword [esp + 0x64], 0xc89636
xor edx, edx
mov dword [esp + 0x30], 0xadf19d
mov ecx, 0x8e40361
or dword [esp + 0x30], 0xdfaff76f
xor dword [esp + 0x30], 0xdfaff7fe
mov dword [esp + 0x28], 0x36b780
shr dword [esp + 0x28], 7
shr dword [esp + 0x28], 0x10
add dword [esp + 0x28], 0xffff4259
xor dword [esp + 0x28], 0xffff4258
mov dword [esp + 0x18], 0xdf941
shl dword [esp + 0x18], 0x10
add dword [esp + 0x18], 0xffff6e4a
shl dword [esp + 0x18], 9
xor dword [esp + 0x18], 0x80dc9400
mov dword [esp + 0x54], 0x106503
or dword [esp + 0x54], 0x116cff73
xor dword [esp + 0x54], 0x11740cec
mov dword [esp + 0x50], 0xd89f08
shl dword [esp + 0x50], 0xf
xor dword [esp + 0x50], 0x4f8e45a3
mov dword [esp + 0x1c], 0xaffda0
add dword [esp + 0x1c], 0xd725
imul eax, dword [esp + 0x1c], 0x16
push 0x36
pop ebx
push 0x34
mov dword [esp + 0x20], eax
shl dword [esp + 0x20], 4
xor dword [esp + 0x20], 0xf32183e6
mov dword [esp + 0x50], 0x2abc8
mov eax, dword [esp + 0x50]
div ebx
pop ebx
mov dword [esp + 0x4c], eax
xor edx, edx
xor dword [esp + 0x4c], 0x8464d
mov dword [esp + 0x14], 0x92c4c9
shr dword [esp + 0x14], 8
shl dword [esp + 0x14], 1
xor dword [esp + 0x14], 0x39b63787
xor dword [esp + 0x14], 0x39b01006
mov dword [esp + 0x2c], 0xcad2b6
or dword [esp + 0x2c], 0x151e37d0
mov eax, dword [esp + 0x2c]
div ebx
push 0x14
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x6243e6
mov dword [esp + 0x14], 0x832617
shl dword [esp + 0x14], 0x10
shl dword [esp + 0x14], 0x10
shl dword [esp + 0x14], 9
xor dword [esp + 0x14], 0x348cf
mov dword [esp + 0x5c], 0xc14ace
shl dword [esp + 0x5c], 0xd
xor dword [esp + 0x5c], 0x295af6ce
mov dword [esp + 0x24], 0xa7c36c
shl dword [esp + 0x24], 0xb
shr dword [esp + 0x24], 9
or dword [esp + 0x24], 0xa50d6a6a
xor dword [esp + 0x24], 0xa51082cb
xor edx, edx
mov dword [esp + 0x4c], 0x9e3a50
mov eax, dword [esp + 0x4c]
pop ebx
div ebx
mov ebx, 0x2912229
mov ebp, 0x9e3f403
mov dword [esp + 0x48], eax
add dword [esp + 0x48], 0xffffb603
xor dword [esp + 0x48], 0x4e0ac
mov dword [esp + 0x44], 0x84829a
imul eax, dword [esp + 0x44], 0x59
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xef46a063
xor dword [esp + 0x44], 0xc1572bea
mov dword [esp + 0x40], 0xadb718
xor dword [esp + 0x40], 0xd4c4abb4
shr dword [esp + 0x40], 0xf
xor dword [esp + 0x40], 0x6db22
mov dword [esp + 0x24], 0x2f771e
imul eax, dword [esp + 0x24], 0x2d
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0xf497
add dword [esp + 0x24], 0x6fa7
xor dword [esp + 0x24], 0x85fdbaf
mov dword [esp + 0x3c], 0x635184
imul eax, dword [esp + 0x3c], 0x71
mov dword [esp + 0x3c], eax
shl dword [esp + 0x3c], 2
xor dword [esp + 0x3c], 0xaf5a5952
mov dword [esp + 0x38], 0x5c8d38
shl dword [esp + 0x38], 8
shr dword [esp + 0x38], 0x10
xor dword [esp + 0x38], 0xdc32a
mov dword [esp + 0x34], 0x7daffe
shl dword [esp + 0x34], 1
imul eax, dword [esp + 0x34], 0x14
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x13aea16d
cmp ecx, ebx
je 0x310fba
cmp ecx, 0x8e40361
je 0x310fb0
cmp ecx, ebp
je 0x310f90
cmp ecx, 0xbe65c26
jne 0x311002
push dword [esp + 0x10]
lea eax, [esp + 0x60]
push ecx
push dword [esp + 0x34]
push dword [esp + 0x20]
push dword [esp + 0x28]
push eax
push dword [esp + 0x64]
push dword [esp + 0x4c]
push dword [esp + 0x94]
push ecx
push dword [esp + 0x44]
xor ecx, ecx
push dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
call fcn.00317f94
add esp, 0x30
test eax, eax
je 0x31100e
mov ecx, ebp
jmp 0x310f25
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x60]
call fcn.0031f6a3
mov esi, eax
pop ecx
test esi, esi
je 0x31100e
mov ecx, ebx
jmp 0x310f25
mov ecx, 0xbe65c26
jmp 0x310f25
push dword [esp + 0x34]
lea eax, [esp + 0x60]
push ecx
push dword [esp + 0x40]
push dword [esp + 0x48]
push 0
push eax
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [esp + 0x94]
push ecx
push dword [esp + 0x68]
mov ecx, esi
push dword [esp + 0x70]
mov edx, dword [esp + 0x78]
call fcn.00317f94
mov eax, dword [esp + 0x8c]
add esp, 0x30
mov dword [edi], eax
mov ecx, 0x6a4891e
cmp ecx, 0x6a4891e
jne 0x310f25
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret