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

Disassembly:
sub esp, 0x110
push ebx
push ebp
push esi
push edi
push dword [esp + 0x134]
mov esi, edx
push dword [esp + 0x134]
mov dword [esp + 0x110], esi
push 0x20
push dword [esp + 0x134]
push dword [esp + 0x134]
push esi
push ecx
call fcn.100120b9
mov dword [esp + 0x134], 0x673696
xor ebp, ebp
mov dword [esp + 0x138], ebp
add esp, 0x1c
mov dword [esp + 0x90], 0xf00d33
xor edx, edx
or dword [esp + 0x90], 0x228e8b2e
mov ebx, 0x1d3710
shr dword [esp + 0x90], 8
xor dword [esp + 0x90], 0x22fe8f
mov dword [esp + 0x2c], 0xde08aa
mov eax, dword [esp + 0x2c]
push 0x17
pop ecx
div ecx
push 0x62
mov dword [esp + 0x30], eax
xor edx, edx
add dword [esp + 0x30], 0xffff54ea
shl dword [esp + 0x30], 0xa
xor dword [esp + 0x30], 0x23f0fc00
mov dword [esp + 0x44], 0x36cb35
or dword [esp + 0x44], 0xc39aec51
add dword [esp + 0x44], 0x9146
imul eax, dword [esp + 0x44], 0x70
pop ecx
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0xa3c851d0
mov dword [esp + 0xac], 0xf2e64b
shl dword [esp + 0xac], 5
xor dword [esp + 0xac], 0x1e5cc960
mov dword [esp + 0x28], 0x2b7d5f
imul eax, dword [esp + 0x28], 0x53
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x8561
or dword [esp + 0x28], 0xae4dc352
xor dword [esp + 0x28], 0xae5feb7e
mov dword [esp + 0xd0], 0xe6036b
imul eax, dword [esp + 0xd0], 0xb
mov dword [esp + 0xd0], eax
xor dword [esp + 0xd0], 0x9e22599
mov dword [esp + 0x30], 0x5b8b4f
add dword [esp + 0x30], 0xffffe1e0
xor dword [esp + 0x30], 0xb7b7812a
add dword [esp + 0x30], 0xffff41e0
xor dword [esp + 0x30], 0xb7ec2de5
mov dword [esp + 0x38], 0xf81ab6
xor dword [esp + 0x38], 0xa56b9217
or dword [esp + 0x38], 0x431a55e8
shl dword [esp + 0x38], 7
xor dword [esp + 0x38], 0xcdeef480
mov dword [esp + 0x68], 0xddfe73
imul eax, dword [esp + 0x68], 0x26
mov dword [esp + 0x68], eax
shl dword [esp + 0x68], 8
xor dword [esp + 0x68], 0xf3c51200
mov dword [esp + 0xa8], 0x644fb5
shr dword [esp + 0xa8], 6
mov eax, dword [esp + 0xa8]
div ecx
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x418
mov dword [esp + 0xe4], 0xc6ff9f
xor dword [esp + 0xe4], 0xd96ce7d
xor dword [esp + 0xe4], 0xd5031e2
mov dword [esp + 0x54], 0xeedb74
shr dword [esp + 0x54], 0xb
shr dword [esp + 0x54], 0xa
xor edx, edx
or dword [esp + 0x54], 0xba569879
xor dword [esp + 0x54], 0xba56987f
mov dword [esp + 0x14], 0x9a0618
xor dword [esp + 0x14], 0x10270239
xor dword [esp + 0x14], 0x733075d3
mov eax, dword [esp + 0x14]
push 0x16
pop ecx
div ecx
push 0x41
mov dword [esp + 0x18], eax
xor edx, edx
xor dword [esp + 0x18], 0x4865c22
mov dword [esp + 0x84], 0x655fad
shr dword [esp + 0x84], 3
shr dword [esp + 0x84], 4
xor dword [esp + 0x84], 0x9a8dc
mov dword [esp + 0x14], 0x9202
or dword [esp + 0x14], 0xfb135803
imul eax, dword [esp + 0x14], 0x2c
pop ecx
mov dword [esp + 0x10], eax
shl dword [esp + 0x10], 1
xor dword [esp + 0x10], 0x4ed07035
mov dword [esp + 0xbc], 0x536289
shl dword [esp + 0xbc], 9
xor dword [esp + 0xbc], 0xa6cd28cf
mov dword [esp + 0xb4], 0xf021d8
xor dword [esp + 0xb4], 0x8f8b6ed2
xor dword [esp + 0xb4], 0x8f701d8c
mov dword [esp + 0x88], 0xcba027
xor dword [esp + 0x88], 0xce0cd109
or dword [esp + 0x88], 0x7dfb06f6
xor dword [esp + 0x88], 0xfff88f5e
mov dword [esp + 0x24], 0xf09c41
add dword [esp + 0x24], 0x8e2a
shl dword [esp + 0x24], 3
or dword [esp + 0x24], 0xdb831f2c
xor dword [esp + 0x24], 0xdf846234
mov dword [esp + 0x1c], 0x3d692f
shl dword [esp + 0x1c], 2
or dword [esp + 0x1c], 0xbfb4a027
add dword [esp + 0x1c], 0x643
xor dword [esp + 0x1c], 0xbffb0fde
mov dword [esp + 0xc4], 0x80bca7
shr dword [esp + 0xc4], 0xa
xor dword [esp + 0xc4], 0x38c1c
mov dword [esp + 0x3c], 0xbbbc43
or dword [esp + 0x3c], 0x61282476
add dword [esp + 0x3c], 0xffff6ee2
imul eax, dword [esp + 0x3c], 0x69
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x15ccd750
mov dword [esp + 0x34], 0xc2062f
or dword [esp + 0x34], 0xf7f3ef67
imul eax, dword [esp + 0x34], 0x5c
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x1ba01eed
mov dword [esp + 0xa0], 0xa773bc
shl dword [esp + 0xa0], 0x10
or dword [esp + 0xa0], 0xe162daa5
xor dword [esp + 0xa0], 0xf3f36b57
mov dword [esp + 0x98], 0x3287f3
mov eax, dword [esp + 0x98]
div ecx
mov dword [esp + 0x98], eax
shr dword [esp + 0x98], 9
xor dword [esp + 0x98], 0xc37d1
mov dword [esp + 0xb8], 0x8d5fef
add dword [esp + 0xb8], 0xffff56ea
xor dword [esp + 0xb8], 0x8f942b
mov dword [esp + 0xf4], 0xd6bac6
imul eax, dword [esp + 0xf4], 0x7f
mov dword [esp + 0xf4], eax
xor dword [esp + 0xf4], 0x6a80c639
mov dword [esp + 0x8c], 0xa4165e
imul eax, dword [esp + 0x8c], 0x13
mov dword [esp + 0x8c], eax
or dword [esp + 0x8c], 0x84e82f79
xor dword [esp + 0x8c], 0x8cef9599
mov dword [esp + 0xc0], 0xfc4916
add dword [esp + 0xc0], 0xffff0795
xor dword [esp + 0xc0], 0xf5cebb
mov dword [esp + 0x9c], 0xd5d7c2
shr dword [esp + 0x9c], 0x10
shl dword [esp + 0x9c], 0xd
xor dword [esp + 0x9c], 0x10cc3c
mov dword [esp + 0x18], 0xf6e8cb
add dword [esp + 0x18], 0x6576
add dword [esp + 0x18], 0x7b15
add dword [esp + 0x18], 0x6b9c
xor dword [esp + 0x18], 0xfe3ec7
mov dword [esp + 0x50], 0x3a8541
or dword [esp + 0x50], 0x57459f57
xor dword [esp + 0x50], 0x66631a8c
or dword [esp + 0x50], 0x178bfabb
xor dword [esp + 0x50], 0x379a2cb6
mov dword [esp + 0xe8], 0x33c5e6
add dword [esp + 0xe8], 0x441
xor dword [esp + 0xe8], 0x35e6a0
mov dword [esp + 0x74], 0x2bd4df
add dword [esp + 0x74], 0xda1f
add dword [esp + 0x74], 0x8171
xor dword [esp + 0x74], 0x2cd084
mov dword [esp + 0xf0], 0x796d26
add dword [esp + 0xf0], 0xffff3152
xor dword [esp + 0xf0], 0x766b67
mov dword [esp + 0xc8], 0xfc738c
shl dword [esp + 0xc8], 0xe
xor dword [esp + 0xc8], 0x1ce8da45
mov dword [esp + 0x94], 0x79fdd0
shr dword [esp + 0x94], 0xe
imul eax, dword [esp + 0x94], 0x78
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0xf2c53
mov dword [esp + 0xe0], 0xd0b1f6
shr dword [esp + 0xe0], 9
xor dword [esp + 0xe0], 0x411a2
mov dword [esp + 0x58], 0xaa2240
or dword [esp + 0x58], 0x35f3f2d4
add dword [esp + 0x58], 0x4147
add dword [esp + 0x58], 0xffff1702
xor dword [esp + 0x58], 0x35f16a60
mov dword [esp + 0xec], 0x980f89
xor dword [esp + 0xec], 0xc15a5b47
xor dword [esp + 0xec], 0xc1c323e9
mov dword [esp + 0x48], 0xb7a8b5
shr dword [esp + 0x48], 3
xor dword [esp + 0x48], 0xa2f7ad91
add dword [esp + 0x48], 0xfffff0a8
xor dword [esp + 0x48], 0xa2ec62b8
mov dword [esp + 0xd8], 0x73581d
add dword [esp + 0xd8], 0xffffc838
xor dword [esp + 0xd8], 0x777119
mov dword [esp + 0x7c], 0x873053
xor dword [esp + 0x7c], 0xefe323e3
or dword [esp + 0x7c], 0xd91bba05
xor dword [esp + 0x7c], 0xff705bac
mov dword [esp + 0xf8], 0xf8d5df
xor dword [esp + 0xf8], 0x79f853d7
xor dword [esp + 0xf8], 0x79053437
mov dword [esp + 0x60], 0x180af0
add dword [esp + 0x60], 0xffff4c14
shl dword [esp + 0x60], 8
add dword [esp + 0x60], 0x2aad
xor dword [esp + 0x60], 0x175759c3
mov dword [esp + 0x20], 0x23b549
add dword [esp + 0x20], 0x5eb6
or dword [esp + 0x20], 0xffb7bbff
xor dword [esp + 0x20], 0xffb807e9
mov dword [esp + 0x70], 0xc1fdd5
shr dword [esp + 0x70], 0xc
or dword [esp + 0x70], 0x5151af8d
xor dword [esp + 0x70], 0x515c7a4b
mov dword [esp + 0xb0], 0xec5780
xor dword [esp + 0xb0], 0x97b4c021
xor dword [esp + 0xb0], 0x9750bd7e
mov dword [esp + 0x6c], 0x591b41
add dword [esp + 0x6c], 0x207e
add dword [esp + 0x6c], 0xffffc81d
xor dword [esp + 0x6c], 0x5ca8dc
xor edx, edx
mov dword [esp + 0xdc], 0x76fd1d
mov edi, 0x5c52c4a
or dword [esp + 0xdc], 0x9e2d4356
xor dword [esp + 0xdc], 0x9e728261
mov dword [esp + 0xd4], 0xf22a3
or dword [esp + 0xd4], 0x9c703035
xor dword [esp + 0xd4], 0x9c7b5f20
mov dword [esp + 0x44], 0x3decab
shl dword [esp + 0x44], 8
xor dword [esp + 0x44], 0x53082a5e
shr dword [esp + 0x44], 0xd
xor dword [esp + 0x44], 0x4d715
mov dword [esp + 0xcc], 0x6eb476
shl dword [esp + 0xcc], 0xd
xor dword [esp + 0xcc], 0xd68135de
mov dword [esp + 0xa4], 0x458e11
or dword [esp + 0xa4], 0x336f5b57
mov eax, dword [esp + 0xa4]
push 0x43
pop ecx
div ecx
push 0x4b
mov dword [esp + 0xa8], eax
xor edx, edx
xor dword [esp + 0xa8], 0xc97d17
mov dword [esp + 0x88], 0x7cba2c
mov eax, dword [esp + 0x88]
pop ecx
div ecx
push 0x22
mov dword [esp + 0x88], eax
xor edx, edx
or dword [esp + 0x88], 0xb494d21
xor dword [esp + 0x88], 0xb48f5d9
mov dword [esp + 0x100], 0x519404
shl dword [esp + 0x100], 8
xor dword [esp + 0x100], 0x5195ba3f
mov dword [esp + 0x7c], 0xf13e55
or dword [esp + 0x7c], 0x95edbe5f
xor dword [esp + 0x7c], 0xd6548190
xor dword [esp + 0x7c], 0x43a3dbfd
mov dword [esp + 0x68], 0xdd4a71
add dword [esp + 0x68], 0xffff5bb0
shr dword [esp + 0x68], 0xb
shr dword [esp + 0x68], 6
xor dword [esp + 0x68], 0xa03ec
mov dword [esp + 0x60], 0x58b29f
mov eax, dword [esp + 0x60]
pop ecx
div ecx
push 0x45
mov dword [esp + 0x60], eax
xor edx, edx
add dword [esp + 0x60], 0xffff713e
add dword [esp + 0x60], 0xffff146a
xor dword [esp + 0x60], 0xc9f67
mov dword [esp + 0x50], 0xc056c
imul eax, dword [esp + 0x50], 0x51
pop ecx
mov dword [esp + 0x4c], eax
shr dword [esp + 0x4c], 0xc
mov eax, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x7774b
mov eax, 0x6c6f684
mov ecx, 0x92c3a26
mov edx, 0x19c2787
cmp ebx, edi
jg 0x1001b979
je 0x1001b954
cmp ebx, 0x1d3710
je 0x1001b94a
cmp ebx, 0x19992af
je 0x1001b903
cmp ebx, edx
je 0x1001b88b
cmp ebx, 0x489cb15
je 0x1001b7e9
cmp ebx, 0x4bc1ff4
jne 0x1001bae9
mov edx, dword [esp + 0x78]
push dword [esp + 0x10c]
mov ecx, dword [esp + 0x100]
call fcn.10018519
pop ecx
mov ebx, 0x87f6c1b
jmp 0x1001b779
push dword [esp + 0x8c]
mov edx, 0x100018b4
push dword [esp + 0xf8]
mov ecx, dword [esp + 0xc0]
call fcn.1001dcf7
pop ecx
pop ecx
push dword [esp + 0x74]
mov esi, eax
lea edx, [esp + 0x118]
push dword [esp + 0x108]
lea eax, [esp + 0x118]
push dword [esp + 0xf0]
push dword [esp + 0x5c]
push dword [esp + 0x28]
push dword [esp + 0xb0]
push eax
push ecx
push dword [esp + 0xe0]
mov ecx, esi
push dword [esp + 0x64]
call fcn.10020b68
mov ecx, eax
mov ebx, 0x87f6c1b
mov eax, dword [esp + 0xd4]
mov edx, esi
push dword [esp + 0xf0]
cmp ecx, eax
mov ecx, dword [esp + 0x11c]
mov eax, 0x19992af
cmove ebx, eax
call fcn.1000a8b0
mov esi, dword [esp + 0x134]
add esp, 0x2c
jmp 0x1001bada
push dword [esp + 0x10c]
lea eax, [esp + 0x104]
push dword [esp + 0x24]
push dword [esp + 0x68]
push ecx
push dword [esp + 0xe0]
push dword [esp + 0x10c]
push dword [esp + 0x40]
push dword [esp + 0x98]
push dword [esp + 0xf8]
push dword [esp + 0x6c]
mov edx, dword [esp + 0x114]
push dword [esp + 0x12c]
mov ecx, dword [esp + 0x13c]
push eax
call fcn.10017b05
mov ecx, eax
add esp, 0x30
mov eax, dword [esp + 0x30]
mov ebx, 0x4bc1ff4
cmp ecx, eax
mov ecx, 0x92c3a26
mov eax, 0x6c6f684
cmove ebx, ecx
jmp 0x1001b783
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x110]
push ecx
push ecx
call fcn.10007ff2
pop ecx
test eax, eax
mov dword [esp + 0x110], eax
pop ecx
mov ebx, 0x87f6c1b
mov edx, 0x19c2787
cmovne ebx, edx
mov eax, 0x6c6f684
mov ecx, 0x92c3a26
jmp 0x1001b788
mov ebx, 0x6d0da1a
jmp 0x1001b788
push dword [esp + 0x84]
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0xa8]
call fcn.10016bc6
pop ecx
mov ebx, 0x4bc1ff4
jmp 0x1001b779
cmp ebx, eax
je 0x1001ba95
cmp ebx, 0x6d0da1a
je 0x1001b9e7
cmp ebx, 0x87f6c1b
je 0x1001baf7
cmp ebx, ecx
jne 0x1001bae9
push dword [esp + 0x6c]
mov edx, dword [esp + 0x128]
push dword [esp + 0x138]
push dword [esp + 0x40]
push dword [esp + 0xbc]
push dword [esp + 0x80]
mov ecx, dword [esp + 0x114]
call fcn.1000a81d
mov ecx, eax
add esp, 0x14
mov eax, dword [esp + 0x68]
mov ebx, edi
cmp ecx, eax
mov eax, 0x6c6f684
cmove ebx, eax
jmp 0x1001b77e
push dword [esp + 0x10]
mov edx, 0x10001884
push dword [esp + 0x84]
mov ecx, dword [esp + 0x1c]
call fcn.1001dcf7
push dword [esp + 0x90]
mov edx, 0x10001814
mov edi, eax
push dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
call fcn.1001dcf7
push dword [esp + 0xa0]
mov esi, eax
mov ecx, edi
push dword [esp + 0xd8]
lea eax, [esp + 0x11c]
push esi
push eax
push dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
call fcn.10009462
mov ecx, eax
add esp, 0x24
mov eax, dword [esp + 0x2c]
mov ebx, 0x822e036
cmp ecx, eax
mov edx, edi
mov eax, 0x489cb15
push dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
cmove ebx, eax
call fcn.1000a8b0
pop ecx
push dword [esp + 0x98]
mov ecx, dword [esp + 0xa4]
mov edx, esi
call fcn.1000a8b0
mov esi, dword [esp + 0x10c]
mov edi, 0x5c52c4a
pop ecx
jmp 0x1001bada
push dword [esp + 0x100]
push dword [esp + 0xd0]
push 0x20
push dword [esp + 0xb4]
push esi
push dword [esp + 0x58]
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xf4]
call fcn.1001828a
xor edx, edx
mov ecx, eax
mov eax, dword [esp + 0xfc]
inc edx
add esp, 0x18
mov ebx, edi
cmp ecx, eax
cmove ebp, edx
mov eax, 0x6c6f684
mov ecx, 0x92c3a26
mov edx, 0x19c2787
cmp ebx, 0x822e036
jne 0x1001b788
jmp 0x1001bb16
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x64]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x110]
call fcn.1000957d
add esp, 0xc
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x110
ret