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

Disassembly:
sub esp, 0x134
mov dword [esp + 0x1c], 0xe042
or dword [esp + 0x1c], 0xec20861
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xbc], edx
mov esi, 0x5d69592
push 0x6c
xor edx, edx
mov dword [esp + 0xc4], ecx
pop edi
div edi
push 0x3f
mov dword [esp + 0x30], eax
xor edx, edx
shl dword [esp + 0x30], 7
xor dword [esp + 0x30], 0x117e88b6
mov dword [esp + 0x8c], 0xd71f
add dword [esp + 0x8c], 0xffff6339
xor dword [esp + 0x8c], 0x23bb
mov dword [esp + 0x50], 0x740c
add dword [esp + 0x50], 0xfe46
mov eax, dword [esp + 0x50]
pop edi
div edi
push 0xe
mov dword [esp + 0x50], eax
xor edx, edx
xor dword [esp + 0x50], 0x5da
mov dword [esp + 0x90], 0x4ed6
add dword [esp + 0x90], 0x5b02
xor dword [esp + 0x90], 0xf074
mov dword [esp + 0x1c], 0xf97a
shl dword [esp + 0x1c], 4
shl dword [esp + 0x1c], 3
xor dword [esp + 0x1c], 0x9d413d0a
xor dword [esp + 0x1c], 0x9d3d87d2
mov dword [esp + 0x3c], 0xbb96
add dword [esp + 0x3c], 0xc3df
imul eax, dword [esp + 0x3c], 0x6b
pop edi
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0xfcfcf132
xor dword [esp + 0x38], 0xfc5ca93b
mov dword [esp + 0xb0], 0x3102
or dword [esp + 0xb0], 0x433dd23a
xor dword [esp + 0xb0], 0x433ded08
mov dword [esp + 0x20], 0x3cfe
xor dword [esp + 0x20], 0xed588c46
or dword [esp + 0x20], 0x70b3ee70
shl dword [esp + 0x20], 9
xor dword [esp + 0x20], 0xf7fdde06
mov dword [esp + 0x94], 0x3244
mov eax, dword [esp + 0x94]
div edi
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x786f
mov dword [esp + 0x74], 0x15c9
xor dword [esp + 0x74], 0x25298c81
shr dword [esp + 0x74], 0xe
xor dword [esp + 0x74], 0xd700
mov dword [esp + 0xa8], 0xd5e3
or dword [esp + 0xa8], 0xaa0ae751
xor dword [esp + 0xa8], 0xaa0aa3fc
mov dword [esp + 0x54], 0x1b03
shr dword [esp + 0x54], 0x10
xor dword [esp + 0x54], 0xe121eae7
xor dword [esp + 0x54], 0xe121ca0f
mov dword [esp + 0x10], 0xd7e6
shl dword [esp + 0x10], 5
shr dword [esp + 0x10], 5
imul eax, dword [esp + 0x10], 0xe
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0xbbb3f
mov dword [esp + 0x30], 0xbbd9
add dword [esp + 0x30], 0x980a
shr dword [esp + 0x30], 1
xor dword [esp + 0x30], 0x6de93599
xor dword [esp + 0x30], 0x6de9e41c
mov dword [esp + 0x6c], 0x616c
xor edx, edx
add dword [esp + 0x6c], 0xffff15a8
mov eax, dword [esp + 0x6c]
push 0x66
pop edi
div edi
mov dword [esp + 0x6c], eax
xor dword [esp + 0x6c], 0x282f497
mov dword [esp + 0xac], 0xfd95
xor dword [esp + 0xac], 0x38ba7d91
xor dword [esp + 0xac], 0x38badf8a
mov dword [esp + 0x9c], 0xa121
xor dword [esp + 0x9c], 0x7ffefded
xor dword [esp + 0x9c], 0x7ffe3087
mov dword [esp + 0x1c], 0x3bef
add dword [esp + 0x1c], 0xffff714a
shl dword [esp + 0x1c], 1
xor dword [esp + 0x1c], 0x8722ef02
xor dword [esp + 0x1c], 0x78dd80c4
mov dword [esp + 0x14], 0x44fe
or dword [esp + 0x14], 0x95525bf9
shr dword [esp + 0x14], 5
or dword [esp + 0x14], 0xd919e093
xor dword [esp + 0x14], 0xddbba89f
mov dword [esp + 0xb4], 0x133c
add dword [esp + 0xb4], 0x99f4
xor dword [esp + 0xb4], 0xa3f7
mov dword [esp + 0x7c], 0x21d1
xor dword [esp + 0x7c], 0x62bc4b82
xor dword [esp + 0x7c], 0x67c65
xor dword [esp + 0x7c], 0x62ba6d3e
mov dword [esp + 0x5c], 0xc2fa
shl dword [esp + 0x5c], 0xf
imul eax, dword [esp + 0x5c], 0x77
mov dword [esp + 0x5c], eax
xor dword [esp + 0x5c], 0x511b6094
mov dword [esp + 0x24], 0x9e8d
or dword [esp + 0x24], 0xf9f5bb73
xor dword [esp + 0x24], 0x7d9ac615
xor dword [esp + 0x24], 0x846f1665
mov dword [esp + 0xa4], 0x5b5e
imul eax, dword [esp + 0xa4], 0x34
mov dword [esp + 0xa4], eax
xor dword [esp + 0xa4], 0x12f197
mov dword [esp + 0x50], 0xbfb2
xor dword [esp + 0x50], 0x7cc4e930
imul eax, dword [esp + 0x50], 0x60
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0xc9a06c82
mov dword [esp + 0x48], 0xd41f
imul eax, dword [esp + 0x48], 0x7c
mov dword [esp + 0x48], eax
shl dword [esp + 0x48], 7
xor dword [esp + 0x48], 0x335f91fb
mov dword [esp + 0x44], 0xda7e
shl dword [esp + 0x44], 0xd
add dword [esp + 0x44], 0xa718
xor dword [esp + 0x44], 0x1b5031c9
mov dword [esp + 0x64], 0x3acd
add dword [esp + 0x64], 0xffffa3a3
xor dword [esp + 0x64], 0xcef6dc8c
xor dword [esp + 0x64], 0x310956fb
mov dword [esp + 0x84], 0x1c87
xor dword [esp + 0x84], 0xe2c9505b
xor dword [esp + 0x84], 0xe2c967e2
mov dword [esp + 0x58], 0x9cbb
or dword [esp + 0x58], 0x3390026e
shr dword [esp + 0x58], 4
xor dword [esp + 0x58], 0x33946d3
mov dword [esp + 0x28], 0x80fe
shl dword [esp + 0x28], 0xa
add dword [esp + 0x28], 0xfffff590
or dword [esp + 0x28], 0x999a3eb5
xor dword [esp + 0x28], 0x9b9bdaf1
mov dword [esp + 0x70], 0xdcd9
add dword [esp + 0x70], 0x2b2d
shr dword [esp + 0x70], 7
xor dword [esp + 0x70], 0xe43
mov dword [esp + 0x68], 0x244d
shr dword [esp + 0x68], 7
shl dword [esp + 0x68], 8
xor edx, edx
xor dword [esp + 0x68], 0x12bf
mov dword [esp + 0x60], 0x542
mov eax, dword [esp + 0x60]
push 0x5e
pop edi
div edi
push 0x19
mov dword [esp + 0x64], eax
xor edx, edx
shl dword [esp + 0x64], 0xd
xor dword [esp + 0x64], 0x1fd91
mov dword [esp + 0x44], 0xca5c
shr dword [esp + 0x44], 3
xor dword [esp + 0x44], 0x4f396f74
xor dword [esp + 0x44], 0x4f397097
mov dword [esp + 0x9c], 0x1018
or dword [esp + 0x9c], 0xd3e69550
xor dword [esp + 0x9c], 0xd3e69d50
mov dword [esp + 0x38], 0xfcb8
add dword [esp + 0x38], 0x9673
or dword [esp + 0x38], 0x8860f44b
shr dword [esp + 0x38], 0xd
xor dword [esp + 0x38], 0x43c71
mov dword [esp + 0x7c], 0x988e
xor dword [esp + 0x7c], 0xfe2107f9
or dword [esp + 0x7c], 0xb5ec4750
xor dword [esp + 0x7c], 0xffedb8d4
mov dword [esp + 0x94], 0xa6a1
mov eax, dword [esp + 0x94]
pop edi
div edi
push 0x54
mov dword [esp + 0x94], eax
xor edx, edx
xor dword [esp + 0x94], 0x6bba
mov dword [esp + 0x40], 0x8140
shr dword [esp + 0x40], 0xc
add dword [esp + 0x40], 0x2bd9
shr dword [esp + 0x40], 0xa
xor dword [esp + 0x40], 0x6511
mov dword [esp + 0xa4], 0xd34
or dword [esp + 0xa4], 0xae58483d
xor dword [esp + 0xa4], 0xae581174
mov dword [esp + 0x84], 0xe8d3
shr dword [esp + 0x84], 0xb
mov eax, dword [esp + 0x84]
pop edi
div edi
mov ebp, dword [esp + 0x148]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x77c3
cmp esi, 0x51b8f00
je 0x292204
cmp esi, 0x5d69592
je 0x2921e3
cmp esi, 0x136529e5
je 0x2920c5
cmp esi, 0x1aa2d1ff
je 0x292087
cmp esi, 0x1d3636c3
je 0x292052
cmp esi, 0x22b6c8c8
jne 0x292214
push dword [esp + 0x40]
push 0x29d4a0
push dword [esp + 0x68]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
call fcn.0028f6e3
push dword [esp + 0x9c]
mov edx, dword [esp + 0xcc]
sub ebx, edi
push dword [esp + 0x88]
mov esi, eax
push ebx
push dword [esp + 0x4c]
mov ecx, dword [esp + 0xb4]
push edi
push esi
call fcn.0028e883
push dword [esp + 0xa4]
mov ecx, esi
push dword [esp + 0xc8]
mov edx, dword [esp + 0x68]
call fcn.00289116
xor eax, eax
add esp, 0x2c
inc eax
jmp 0x292222
push dword [esp + 0x28]
push dword [esp + 0x5c]
push dword [esp + 0x8c]
mov edx, dword [ecx + 4]
push dword [ecx]
mov ecx, dword [esp + 0x74]
push edi
call fcn.0028ba12
mov ecx, dword [esp + 0xd4]
add esp, 0x14
mov esi, 0x22b6c8c8
add edi, dword [ecx + 4]
jmp 0x291fa4
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x4c]
mov edx, dword [ebp + 4]
push ecx
push ecx
call fcn.00287d07
mov edi, eax
mov dword [ebp], edi
pop ecx
pop ecx
test edi, edi
je 0x292220
mov ebx, dword [ebp + 4]
mov esi, 0x136529e5
add ebx, edi
mov ecx, dword [esp + 0xc0]
jmp 0x291fa4
push dword [esp + 0xb0]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xbc]
call fcn.0028684c
push dword [esp + 0x78]
mov esi, eax
lea ecx, [esp + 0xc0]
lea eax, [esp + 0xcc]
and esi, 0xf
push eax
push dword [esp + 0xa0]
add esi, 4
push esi
push dword [esp + 0x34]
call fcn.0029503a
push dword [esp + 0x6c]
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0xd4]
mov byte [esp + esi + 0xe0], 0
call fcn.0028684c
push dword [esp + 0x88]
mov esi, eax
lea ecx, [esp + 0xd8]
lea eax, [esp + 0x124]
and esi, 0xf
push eax
push dword [esp + 0x54]
add esi, 4
push esi
push dword [esp + 0x3c]
call fcn.0029503a
push dword [esp + 0x44]
mov byte [esp + esi + 0x138], 0
push str.G_f_s_f_sJ
push dword [esp + 0x54]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe8]
call fcn.0028f6e3
push dword [esp + 0xe0]
mov esi, eax
mov ecx, ebx
push edi
push esi
push dword [esp + 0x6c]
lea eax, [esp + 0x110]
sub ecx, edi
push dword [esp + 0xa8]
push dword [esp + 0x10c]
push eax
push dword [esp + 0xd4]
mov edx, dword [esp + 0x110]
lea eax, [esp + 0x160]
push eax
call fcn.002932ae
add esp, 0x60
mov ecx, esi
add edi, eax
push dword [esp + 0x44]
push dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
call fcn.00289116
pop ecx
pop ecx
mov esi, 0x1d3636c3
jmp 0x2920b9
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x2c]
call fcn.00296fac
mov dword [esp + 0xb8], eax
mov esi, 0x51b8f00
jmp 0x2920b9
mov eax, dword [ecx + 4]
mov esi, 0x1aa2d1ff
add eax, 0x1000
mov dword [ebp + 4], eax
cmp esi, 0x28678268
jne 0x291fa4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret