Function at 0xa1f1cf
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6d4
mov dword [esp + 0x38], 0x7ada59
xor eax, eax
shr dword [esp + 0x38], 0xe
xor edx, edx
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xc4], eax
mov edi, 0xe8a7cc
mov eax, dword [esp + 0x48]
push 0x2d
pop ecx
div ecx
push 0x1b
mov dword [esp + 0x4c], eax
xor edx, edx
shr dword [esp + 0x4c], 0xe
xor dword [esp + 0x4c], 0x29
mov dword [esp + 0x58], 0xb72fd0
imul eax, dword [esp + 0x58], 0x4f
pop ecx
push 0x5c
pop ebp
push 0x3d
mov dword [esp + 0x58], eax
imul eax, dword [esp + 0x58], 0x77
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0xc71acd51
mov dword [esp + 0x74], 0x3f780e
add dword [esp + 0x74], 0xffff29a1
mov eax, dword [esp + 0x74]
div ecx
xor edx, edx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x251d5
mov dword [esp + 0x8c], 0x8f550
xor dword [esp + 0x8c], 0xc74a3288
shl dword [esp + 0x8c], 0xd
xor dword [esp + 0x8c], 0x58fb0001
mov dword [esp + 0x90], 0x738737
add dword [esp + 0x90], 0x7a11
add dword [esp + 0x90], 0xffff6bdb
xor dword [esp + 0x90], 0x72fad2
mov dword [esp + 0x88], 0xeb72c8
add dword [esp + 0x88], 0xffff1490
shl dword [esp + 0x88], 0xa
xor dword [esp + 0x88], 0xaa1cf249
mov dword [esp + 0xa0], 0x2e937
imul eax, dword [esp + 0xa0], 0x21
pop ecx
mov dword [esp + 0x9c], eax
xor dword [esp + 0x9c], 0x681dc8
mov dword [esp + 0x40], 0x40c23a
shl dword [esp + 0x40], 0x10
xor dword [esp + 0x40], 0xc00a3578
add dword [esp + 0x40], 0xa168
xor dword [esp + 0x40], 0x23b021e
mov dword [esp + 0xb0], 0x44ecd7
or dword [esp + 0xb0], 0x122e803d
xor dword [esp + 0xb0], 0x126e5273
mov dword [esp + 0xb4], 0x2c0e8a
xor dword [esp + 0xb4], 0xcc913e5a
xor dword [esp + 0xb4], 0xccb9605d
mov dword [esp + 0x28], 0xe34576
mov eax, dword [esp + 0x28]
div ebp
xor edx, edx
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x1ecb
shl dword [esp + 0x28], 0xa
xor dword [esp + 0x28], 0xa525857
mov dword [esp + 0x74], 0xe9ae31
or dword [esp + 0x74], 0x9c3f870
mov eax, dword [esp + 0x74]
div ecx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x24e7f8
mov dword [esp + 0x20], 0x536948
add dword [esp + 0x20], 0xceef
shl dword [esp + 0x20], 8
add dword [esp + 0x20], 0x51c6
xor edx, edx
xor dword [esp + 0x20], 0x543ef6bb
mov dword [esp + 0x18], 0x76603c
xor dword [esp + 0x18], 0xbd9ac87c
or dword [esp + 0x18], 0x9f14c027
xor dword [esp + 0x18], 0xcba9f59a
xor dword [esp + 0x18], 0x745d2c84
mov dword [esp + 0x10], 0x723f81
shl dword [esp + 0x10], 0xb
add dword [esp + 0x10], 0x3907
shr dword [esp + 0x10], 0xf
xor dword [esp + 0x10], 0x58f2
mov dword [esp + 0xc0], 0xfee93
shl dword [esp + 0xc0], 0xc
xor dword [esp + 0xc0], 0xfee8dd60
mov dword [esp + 0x7c], 0xee2c3c
shl dword [esp + 0x7c], 2
mov eax, dword [esp + 0x7c]
push 0x62
pop esi
div esi
push 0x1a
mov dword [esp + 0x80], eax
xor edx, edx
xor dword [esp + 0x80], 0x95970
mov dword [esp + 0x3c], 0xa25ade
imul eax, dword [esp + 0x3c], 0x5a
pop ecx
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 0xb
mov eax, dword [esp + 0x38]
div ecx
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x62f39aa
mov dword [esp + 0xbc], 0x166c00
add dword [esp + 0xbc], 0xffff1e77
xor dword [esp + 0xbc], 0x14d69f
mov dword [esp + 0x30], 0x7da4d6
imul eax, dword [esp + 0x30], 0xf
mov dword [esp + 0x30], eax
imul eax, dword [esp + 0x30], 0x49
mov dword [esp + 0x30], eax
imul eax, dword [esp + 0x30], 0xf
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x7d5353b2
mov dword [esp + 0x80], 0x95195a
add dword [esp + 0x80], 0xc6d9
or dword [esp + 0x80], 0x40786b82
xor dword [esp + 0x80], 0x40f8fea0
mov dword [esp + 0xb8], 0x57b9ad
add dword [esp + 0xb8], 0xffff65a0
xor dword [esp + 0xb8], 0x54f765
mov dword [esp + 0x3c], 0x8fb800
add dword [esp + 0x3c], 0xf046
add dword [esp + 0x3c], 0x8803
shl dword [esp + 0x3c], 0xe
xor dword [esp + 0x3c], 0x4c13b9b9
mov dword [esp + 0x5c], 0x8280c9
shr dword [esp + 0x5c], 0xa
xor dword [esp + 0x5c], 0xeb1ff213
xor dword [esp + 0x5c], 0xeb12674a
mov dword [esp + 0xa8], 0x34977
shl dword [esp + 0xa8], 9
xor dword [esp + 0xa8], 0x6941916
mov dword [esp + 0x78], 0x2c6a2f
xor dword [esp + 0x78], 0xecc11bab
add dword [esp + 0x78], 0xffff14e4
xor dword [esp + 0x78], 0xece5d3b2
mov dword [esp + 0x24], 0xde7032
add dword [esp + 0x24], 0xcbcb
shl dword [esp + 0x24], 5
or dword [esp + 0x24], 0x574a6d1d
xor dword [esp + 0x24], 0x5fe14da6
mov dword [esp + 0x44], 0xd5cb03
shl dword [esp + 0x44], 0xa
add dword [esp + 0x44], 0x58db
imul eax, dword [esp + 0x44], 0xd
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0x6d45a9a7
mov dword [esp + 0x1c], 0xd2a0b3
or dword [esp + 0x1c], 0x6fafa11f
xor edx, edx
mov eax, dword [esp + 0x1c]
push 0x7e
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0x7873
xor dword [esp + 0x1c], 0xeb3668
mov dword [esp + 0x34], 0x9c68fb
or dword [esp + 0x34], 0x6a1e667d
shr dword [esp + 0x34], 1
shr dword [esp + 0x34], 0xa
xor dword [esp + 0x34], 0x54cfe
mov dword [esp + 0x4c], 0x546a6b
imul eax, dword [esp + 0x4c], 0x60
mov dword [esp + 0x4c], eax
imul eax, dword [esp + 0x4c], 0x49
mov dword [esp + 0x4c], eax
shl dword [esp + 0x4c], 7
xor dword [esp + 0x4c], 0x709fbef5
mov dword [esp + 0x2c], 0x7daa97
xor dword [esp + 0x2c], 0x3d07bb3f
add dword [esp + 0x2c], 0x870f
or dword [esp + 0x2c], 0x987d610a
xor dword [esp + 0x2c], 0xbd70944c
mov dword [esp + 0x6c], 0xc5ffd5
imul eax, dword [esp + 0x6c], 0x3a
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xffffc3c7
xor dword [esp + 0x6c], 0x2cd9b95e
mov dword [esp + 0x64], 0xe609f5
add dword [esp + 0x64], 0xffff15a3
shl dword [esp + 0x64], 0xd
xor dword [esp + 0x64], 0xa3f4263d
mov dword [esp + 0x98], 0xf7cfb8
shl dword [esp + 0x98], 7
xor dword [esp + 0x98], 0x7be58026
mov dword [esp + 0x90], 0x5da254
add dword [esp + 0x90], 0xffff52b5
or dword [esp + 0x90], 0x48dcb300
xor dword [esp + 0x90], 0x48d43785
mov dword [esp + 0x68], 0x423e2e
add dword [esp + 0x68], 0xffff8079
shl dword [esp + 0x68], 0xd
xor dword [esp + 0x68], 0x37d74be3
mov dword [esp + 0xa0], 0x6ce5c3
add dword [esp + 0xa0], 0xffffb52c
xor dword [esp + 0xa0], 0x6c5832
mov dword [esp + 0x60], 0xac3635
add dword [esp + 0x60], 0xffff2e13
shl dword [esp + 0x60], 0xe
xor dword [esp + 0x60], 0xd918ed45
mov dword [esp + 0x94], 0x10c39
shl dword [esp + 0x94], 2
xor dword [esp + 0x94], 0x9b16119e
xor dword [esp + 0x94], 0x9b1422b7
mov dword [esp + 0x14], 0xe3a05c
add dword [esp + 0x14], 0xffff0110
imul eax, dword [esp + 0x14], 0x1c
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0x731a
xor dword [esp + 0x14], 0x18c293f4
mov dword [esp + 0x58], 0x2cc17e
xor dword [esp + 0x58], 0xe38f22da
imul eax, dword [esp + 0x58], 0x1a
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0x1eae3559
mov dword [esp + 0xac], 0x4777ca
mov eax, dword [esp + 0xac]
div esi
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0xb144a
mov dword [esp + 0xa4], 0x46c0ba
imul eax, dword [esp + 0xa4], 0x14
mov dword [esp + 0xa4], eax
xor dword [esp + 0xa4], 0x58b2640
mov dword [esp + 0x50], 0x836733
shr dword [esp + 0x50], 0xa
shl dword [esp + 0x50], 2
shr dword [esp + 0x50], 0x10
xor dword [esp + 0x50], 0x4963
mov ebx, dword [esp + 0xc4]
mov eax, 0x7b7d1b5
cmp edi, 0xe8a7cc
je 0xa1fab0
cmp edi, 0x2a39add
je 0xa1fa0a
cmp edi, 0x7528245
je 0xa1f9ea
cmp edi, 0x79d13ec
je 0xa1f956
cmp edi, eax
je 0xa1f8df
cmp edi, 0xd67256f
jne 0xa1fae9
push dword [esp + 0x50]
push dword [esp + 0xa8]
push dword [esp + 0xb4]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xd4]
call fcn.00a0461a
add esp, 0xc
mov eax, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6d4
ret
push dword [esp + 0x90]
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xd0]
call fcn.00a04e23
push dword [esp + 0x18]
mov ecx, ebx
lea eax, [eax*2 + 2]
push eax
push dword [esp + 0xa0]
lea eax, [esp + 0xdc]
push dword [esp + 0x70]
push eax
push dword [esp + 0xa0]
push dword [esp + 0xe4]
push dword [esp + 0xc0]
push dword [esp + 0x8c]
call fcn.00a095f5
xor ecx, ecx
add esp, 0x28
test eax, eax
mov edi, 0xd67256f
sete cl
mov dword [esp + 0xc4], ecx
jmp 0xa1f863
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x80]
push 0xa013b4
call fcn.00a114e2
pop ecx
push dword [esp + 0x34]
mov esi, eax
lea eax, [esp + 0xcc]
push dword [esp + 0x74]
push dword [esp + 0x24]
push esi
sub esp, 0x10
push dword [esp + 0x64]
push dword [esp + 0x78]
push dword [esp + 0x4c]
push dword [esp + 0xa4]
push dword [esp + 0xd8]
push eax
push dword [esp + 0x94]
mov edx, dword [esp + 0x78]
call fcn.00a1dd7c
push dword [esp + 0xa0]
test eax, eax
mov edi, 0x917313c
push dword [esp + 0xac]
mov eax, 0x7b7d1b5
mov ecx, esi
push dword [esp + 0x70]
mov edx, dword [esp + 0x94]
cmove edi, eax
call fcn.00a12c7a
add esp, 0x48
jmp 0xa1fae4
mov ebx, dword [0xa2320c]
add ebx, 0x20
jmp 0xa1f9f8
add ebx, 2
cmp word [ebx], bp
jne 0xa1f9f5
add ebx, 2
mov edi, 0x79d13ec
jmp 0xa1f863
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
push 0xa01364
call fcn.00a114e2
lea ecx, [esp + 0x2d8]
mov esi, eax
call fcn.00a0f7bc
push dword [esp + 0xc4]
mov eax, dword [0xa2320c]
mov edx, esi
add eax, 0x20
push eax
push dword [esp + 0x1c]
mov eax, dword [0xa2320c]
add eax, 0x23c
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x2ec]
push eax
lea eax, [esp + 0x4f8]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0xf0]
push eax
push 0x104
push dword [esp + 0xa0]
mov ecx, dword [esp + 0x58]
call fcn.00a1d05f
push dword [esp + 0x60]
mov ecx, esi
push dword [esp + 0xf0]
push dword [esp + 0x70]
mov edx, dword [esp + 0xb8]
call fcn.00a12c7a
add esp, 0x3c
mov edi, 0x7528245
jmp 0xa1f863
push ecx
push dword [esp + 0x44]
lea eax, [esp + 0x4e4]
push ecx
push dword [esp + 0xa8]
push eax
push dword [esp + 0x98]
push dword [esp + 0x60]
mov ecx, dword [esp + 0xa8]
call fcn.00a06876
add esp, 0x1c
mov edi, 0x2a39add
mov eax, 0x7b7d1b5
cmp edi, 0x917313c
jne 0xa1f868
jmp 0xa1f8cd