Function at 0x8fb095
Capabilities:
Authenticate hmac
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4d4
mov dword [esp + 0x48], 0xe9ab1b
xor eax, eax
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xcc], eax
xor edx, edx
mov eax, dword [esp + 0x58]
mov edi, 0xb911dbe
push 0x71
pop ecx
div ecx
push 0x3e
mov dword [esp + 0x5c], eax
xor edx, edx
mov eax, dword [esp + 0x5c]
pop ecx
div ecx
push 0x1d
mov dword [esp + 0x5c], eax
xor edx, edx
xor dword [esp + 0x5c], 0x8a0
mov dword [esp + 0xc8], 0xa0e2ae
add dword [esp + 0xc8], 0xa7a5
xor dword [esp + 0xc8], 0x80a18a52
mov dword [esp + 0xb0], 0x5a728d
shl dword [esp + 0xb0], 0xe
xor dword [esp + 0xb0], 0x9ca34002
mov dword [esp + 0x34], 0xe90228
shr dword [esp + 0x34], 2
xor dword [esp + 0x34], 0xf3127282
or dword [esp + 0x34], 0x85cda084
xor dword [esp + 0x34], 0xf7edb28d
mov dword [esp + 0x98], 0xb2ee17
add dword [esp + 0x98], 0xb21b
xor dword [esp + 0x98], 0xb3a032
mov dword [esp + 0xb8], 0xad30f5
mov eax, dword [esp + 0xb8]
pop ecx
div ecx
push 0xe
mov dword [esp + 0xb8], eax
xor edx, edx
xor dword [esp + 0xb8], 0x5f8dc
mov dword [esp + 0x28], 0x260aef
add dword [esp + 0x28], 0xffffb050
mov eax, dword [esp + 0x28]
pop ecx
div ecx
mov dword [esp + 0x24], eax
imul eax, dword [esp + 0x24], 0x32
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x86c144
mov dword [esp + 0x40], 0x88a096
shr dword [esp + 0x40], 6
xor dword [esp + 0x40], 0x35eed20e
add dword [esp + 0x40], 0x6feb
xor dword [esp + 0x40], 0x35ed6077
mov dword [esp + 0xbc], 0x6dd50a
or dword [esp + 0xbc], 0x4c8d22d5
xor dword [esp + 0xbc], 0x4cefc208
mov dword [esp + 0x14], 0xfd14dd
imul eax, dword [esp + 0x14], 9
mov dword [esp + 0x14], eax
or dword [esp + 0x14], 0x6f5f7bed
xor dword [esp + 0x14], 0x6ffd973c
mov dword [esp + 0x9c], 0x4f96e
shl dword [esp + 0x9c], 7
xor dword [esp + 0x9c], 0x27a3e65
mov dword [esp + 0x54], 0xa560f9
xor dword [esp + 0x54], 0x324423de
add dword [esp + 0x54], 0xffff82c5
xor dword [esp + 0x54], 0x32ebd411
mov dword [esp + 0x8c], 0xf9925b
add dword [esp + 0x8c], 0xffff3916
shr dword [esp + 0x8c], 0xc
xor dword [esp + 0x8c], 0xb08c3
mov dword [esp + 0xa8], 0x5217f5
add dword [esp + 0xa8], 0xffff949d
xor dword [esp + 0xa8], 0x525f8c
mov dword [esp + 0x6c], 0xc19a5c
xor edx, edx
xor dword [esp + 0x6c], 0x75645f0c
add dword [esp + 0x6c], 0x6cd4
xor dword [esp + 0x6c], 0x75a23f16
mov dword [esp + 0x18], 0xf15512
shl dword [esp + 0x18], 8
shr dword [esp + 0x18], 2
shr dword [esp + 0x18], 1
xor dword [esp + 0x18], 0x1e27f873
mov dword [esp + 0x10], 0xb191a1
or dword [esp + 0x10], 0x88b209e4
add dword [esp + 0x10], 0x6a9e
add dword [esp + 0x10], 0xffff0f0f
xor dword [esp + 0x10], 0x88b829f4
mov dword [esp + 0x2c], 0xf2641
add dword [esp + 0x2c], 0xffff59ec
shl dword [esp + 0x2c], 4
xor dword [esp + 0x2c], 0x7a5ec0ae
xor dword [esp + 0x2c], 0x7abab873
mov dword [esp + 0xb0], 0x9b6a0d
shl dword [esp + 0xb0], 1
xor dword [esp + 0xb0], 0x132bd3c
mov dword [esp + 0x60], 0x92e850
xor dword [esp + 0x60], 0x8e87b930
xor dword [esp + 0x60], 0x96c8c2c3
xor dword [esp + 0x60], 0x18d1c7b1
mov dword [esp + 0x20], 0x2c0152
add dword [esp + 0x20], 0xffffb9dc
shl dword [esp + 0x20], 4
mov eax, dword [esp + 0x20]
div ecx
push 0x45
mov dword [esp + 0x24], eax
xor edx, edx
xor dword [esp + 0x24], 0x3c3a95
mov dword [esp + 0x50], 0x222300
mov eax, dword [esp + 0x50]
pop esi
div esi
push 0x32
mov dword [esp + 0x50], eax
xor edx, edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x3c87b
mov dword [esp + 0x54], 0x8e3fda
add dword [esp + 0x54], 0xffff545e
or dword [esp + 0x54], 0xcec061aa
xor dword [esp + 0x54], 0xcec7f7b1
mov dword [esp + 0xa8], 0x69f71d
mov eax, dword [esp + 0xa8]
pop ecx
div ecx
mov dword [esp + 0xa4], eax
xor dword [esp + 0xa4], 0x2509a
mov dword [esp + 0x3c], 0x5e77c8
shr dword [esp + 0x3c], 0xe
shl dword [esp + 0x3c], 6
add dword [esp + 0x3c], 0xf039
xor dword [esp + 0x3c], 0x194a3
mov dword [esp + 0x74], 0xf4e7a9
imul eax, dword [esp + 0x74], 0x72
mov dword [esp + 0x74], eax
imul eax, dword [esp + 0x74], 0x36
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x1327b08
mov dword [esp + 0xc0], 0xcd12df
xor dword [esp + 0xc0], 0x2c0e12b0
xor dword [esp + 0xc0], 0x2ccf58d7
mov dword [esp + 0x64], 0x3e3f95
add dword [esp + 0x64], 0xffffd5d8
shr dword [esp + 0x64], 2
xor dword [esp + 0x64], 0x515a4
mov dword [esp + 0xc8], 0xfd3c6b
add dword [esp + 0xc8], 0xffffdc2d
xor dword [esp + 0xc8], 0xf50999
mov dword [esp + 0x34], 0xfd5cbe
xor dword [esp + 0x34], 0xb736078
add dword [esp + 0x34], 0xa83e
or dword [esp + 0x34], 0x7155da7
xor dword [esp + 0x34], 0xf988626
xor edx, edx
mov dword [esp + 0x84], 0xb40741
shl dword [esp + 0x84], 7
mov eax, dword [esp + 0x84]
push 0x1a
pop ecx
div ecx
push 0x31
mov dword [esp + 0x88], eax
xor edx, edx
xor dword [esp + 0x88], 0x37cdada
mov dword [esp + 0x20], 0xd96d52
add dword [esp + 0x20], 0xffff78b1
add dword [esp + 0x20], 0xffff6188
imul eax, dword [esp + 0x20], 0x15
pop ecx
push 0x24
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x11b0b55c
mov dword [esp + 0x60], 0x187647
shr dword [esp + 0x60], 7
add dword [esp + 0x60], 0xffff3b77
xor dword [esp + 0x60], 0xfff8e6d6
mov dword [esp + 0x48], 0x411d61
shr dword [esp + 0x48], 1
shr dword [esp + 0x48], 9
shl dword [esp + 0x48], 0xd
xor dword [esp + 0x48], 0x2022194
mov dword [esp + 0x80], 0xb929d2
imul eax, dword [esp + 0x80], 0x67
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
div ecx
xor edx, edx
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x18079ac
mov dword [esp + 0xa4], 0x5d356d
shl dword [esp + 0xa4], 8
xor dword [esp + 0xa4], 0x5d33eb2b
mov dword [esp + 0x9c], 0x2bcac8
add dword [esp + 0x9c], 0x9366
xor dword [esp + 0x9c], 0x23d520
mov dword [esp + 0x84], 0x758f5e
or dword [esp + 0x84], 0x40245579
shr dword [esp + 0x84], 5
xor dword [esp + 0x84], 0x200bb16
mov dword [esp + 0x7c], 0x6a1d3b
add dword [esp + 0x7c], 0xffff5a40
shl dword [esp + 0x7c], 1
xor dword [esp + 0x7c], 0xd3bc28
mov dword [esp + 0x74], 0xfc2a1f
mov eax, dword [esp + 0x74]
pop ecx
div ecx
mov dword [esp + 0x70], eax
shl dword [esp + 0x70], 8
xor dword [esp + 0x70], 0x7053917
mov dword [esp + 0x68], 0xa92f4c
xor dword [esp + 0x68], 0xc872690c
add dword [esp + 0x68], 0xffff3953
xor dword [esp + 0x68], 0xc8d411a9
mov dword [esp + 0x48], 0xa04be6
shr dword [esp + 0x48], 0xa
shl dword [esp + 0x48], 3
add dword [esp + 0x48], 0xdbba
xor dword [esp + 0x48], 0x242a
mov dword [esp + 0x88], 0x82d15
shr dword [esp + 0x88], 0xa
shr dword [esp + 0x88], 6
xor dword [esp + 0x88], 0x4dd1b
mov dword [esp + 0x38], 0x7a6aff
imul eax, dword [esp + 0x38], 0x65
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x71cf935f
add dword [esp + 0x38], 0x51cb
xor dword [esp + 0x38], 0x41862d86
mov dword [esp + 0x28], 0x38042a
shl dword [esp + 0x28], 5
imul eax, dword [esp + 0x28], 0x2b
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0xd58098df
xor edx, edx
xor dword [esp + 0x28], 0xf89d0b2a
mov ebp, 0x4b9bb83
mov dword [esp + 0x90], 0xcb892
or dword [esp + 0x90], 0x913c850
mov eax, dword [esp + 0x90]
div esi
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x90], eax
xor dword [esp + 0x90], 0x2d6711
mov dword [esp + 0xb8], 0x495243
add dword [esp + 0xb8], 0xffff4cbd
xor dword [esp + 0xb8], 0x4facc6
push 0x5c
pop ecx
mov eax, 0x6d0e3b4
cmp edi, 0x48d3719
je 0x8fb9a7
cmp edi, eax
je 0x8fb931
cmp edi, 0x8c56b5a
je 0x8fb8ae
cmp edi, 0xa7c6b87
je 0x8fb809
cmp edi, 0xb911dbe
je 0x8fb7cc
cmp edi, 0xf1058c1
jne 0x8fb9cc
mov ebx, dword [0x906210]
add ebx, 0x224
jmp 0x8fb7bd
add ebx, 2
cmp word [ebx], cx
jne 0x8fb7ba
add ebx, 2
mov edi, 0xa7c6b87
jmp 0x8fb76b
push ecx
push dword [esp + 0x5c]
lea eax, [esp + 0x2e4]
push dword [esp + 0x9c]
push ecx
push dword [esp + 0x64]
push dword [esp + 0xb0]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xd4]
push eax
call fcn.008e2b18
add esp, 0x1c
mov edi, 0x8c56b5a
jmp 0x8fb768
push dword [esp + 0x74]
mov ecx, 0x8e1420
push dword [esp + 0x40]
mov edx, dword [esp + 0xac]
call fcn.008eadf2
pop ecx
pop ecx
push dword [esp + 0x5c]
mov esi, eax
lea eax, [esp + 0xd4]
push dword [esp + 0xc8]
push dword [esp + 0x24]
push esi
push eax
push dword [esp + 0x98]
push dword [esp + 0x4c]
push ecx
push dword [esp + 0xcc]
push dword [esp + 0xec]
push dword [esp + 0x4c]
push dword [esp + 0xe0]
push dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0xf8]
call fcn.008ea0f6
push dword [esp + 0xd0]
test eax, eax
mov edi, ebp
push dword [esp + 0xdc]
mov eax, 0x6d0e3b4
mov ecx, esi
push dword [esp + 0xbc]
mov edx, dword [esp + 0x88]
cmove edi, eax
call fcn.008f88a3
add esp, 0x44
jmp 0x8fb9c4
push dword [esp + 0x6c]
mov ecx, 0x8e13f0
push dword [esp + 0xac]
mov edx, dword [esp + 0x94]
call fcn.008eadf2
push dword [esp + 0xb8]
mov esi, eax
lea eax, [esp + 0x2e8]
push eax
push esi
push dword [esp + 0x40]
mov eax, dword [0x906210]
add eax, 0x18
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0xf4]
push eax
push dword [esp + 0x3c]
mov ecx, dword [0x906210]
lea ecx, [ecx + 0x224]
call fcn.008f8047
push dword [esp + 0x78]
mov ecx, esi
push dword [esp + 0x78]
push dword [esp + 0x50]
mov edx, dword [esp + 0x94]
call fcn.008f88a3
add esp, 0x34
mov edi, 0xf1058c1
jmp 0x8fb768
lea eax, [esp + 0xd4]
push eax
push dword [esp + 0x6c]
push dword [esp + 0x78]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
call fcn.008f8a0e
push dword [esp + 0x34]
mov edx, ebx
push dword [esp + 0x40]
lea ecx, [eax*2 + 2]
push dword [esp + 0x4c]
lea eax, [esp + 0xec]
push dword [esp + 0xa0]
push eax
push dword [esp + 0xf0]
push dword [esp + 0x64]
push dword [esp + 0x70]
call fcn.008f0ddb
xor ecx, ecx
add esp, 0x2c
test eax, eax
mov edi, 0x48d3719
sete cl
mov dword [esp + 0xcc], ecx
jmp 0x8fb768
push dword [esp + 0xb8]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0xd4]
call fcn.008f2047
pop ecx
mov edi, ebp
push 0x5c
mov eax, 0x6d0e3b4
pop ecx
cmp edi, ebp
jne 0x8fb770
mov eax, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4d4
ret