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

Disassembly:
sub esp, 0x734
mov dword [esp + 0x108], 0x812dcc
xor eax, eax
mov dword [esp + 0xf4], eax
xor edx, edx
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x10c], 0x4b1be1
mov dword [esp + 0xf0], 0xb0e9fc
shr dword [esp + 0xf0], 0xe
xor dword [esp + 0xf0], 0x20002c3
mov dword [esp + 0x1c], 0x316963
xor dword [esp + 0x1c], 0x5c37e76
imul eax, dword [esp + 0x1c], 0x44
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x2c], eax
mov ebx, ecx
shl dword [esp + 0x2c], 6
mov esi, 0xb42e112
xor dword [esp + 0x2c], 0x13878f70
mov dword [esp + 0xd4], 0xe65aa1
add dword [esp + 0xd4], 0xffffb7c7
xor dword [esp + 0xd4], 0xe866e0
mov dword [esp + 0xfc], 0x4e6d43
shl dword [esp + 0xfc], 3
xor dword [esp + 0xfc], 0x27e4d7c
mov dword [esp + 0x44], 0x62c447
add dword [esp + 0x44], 0xfffff9b0
add dword [esp + 0x44], 0xffff1ab6
xor dword [esp + 0x44], 0x5826ec20
xor dword [esp + 0x44], 0x58465e47
mov dword [esp + 0xf4], 0xd881ce
mov eax, dword [esp + 0xf4]
push 0x1c
pop ecx
div ecx
push 0x47
mov dword [esp + 0xf8], eax
xor edx, edx
xor dword [esp + 0xf8], 0x49a8c
mov dword [esp + 0x50], 0x225701
xor dword [esp + 0x50], 0x455f73cc
add dword [esp + 0x50], 0x2d0b
add dword [esp + 0x50], 0xffff7069
xor dword [esp + 0x50], 0x457ed570
mov dword [esp + 0xd0], 0xa0746c
shl dword [esp + 0xd0], 5
xor dword [esp + 0xd0], 0x1405cb88
mov dword [esp + 0x6c], 0x86f3a
shl dword [esp + 0x6c], 0xf
add dword [esp + 0x6c], 0xffff9aa0
xor dword [esp + 0x6c], 0x379e88f8
mov dword [esp + 0x18], 0x372205
shl dword [esp + 0x18], 0xb
shr dword [esp + 0x18], 1
imul eax, dword [esp + 0x18], 0x27
pop ecx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x18b0e4c5
mov dword [esp + 0x8c], 0x55473e
shr dword [esp + 0x8c], 0xe
add dword [esp + 0x8c], 0xffff4222
xor dword [esp + 0x8c], 0xfff7d1f7
mov dword [esp + 0x64], 0x8a22d4
xor dword [esp + 0x64], 0x5338d916
mov eax, dword [esp + 0x64]
div ecx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x1221ec9
mov dword [esp + 0x90], 0x7ad7ec
xor dword [esp + 0x90], 0xb2734e10
xor dword [esp + 0x90], 0xf628ba0e
xor dword [esp + 0x90], 0x44287105
mov dword [esp + 0xec], 0x6426f4
imul eax, dword [esp + 0xec], 0x29
mov dword [esp + 0xec], eax
xor dword [esp + 0xec], 0x100ef306
mov dword [esp + 0x84], 0x3e505e
shr dword [esp + 0x84], 8
mov eax, dword [esp + 0x84]
xor edx, edx
push 0x3a
pop ecx
div ecx
push 0x7a
mov dword [esp + 0x88], eax
xor edx, edx
xor dword [esp + 0x88], 0x50efb
mov dword [esp + 0x70], 0x3958e2
xor dword [esp + 0x70], 0x62ae6d50
xor dword [esp + 0x70], 0x97f7befb
xor dword [esp + 0x70], 0xf561088c
mov dword [esp + 0xb0], 0xb21a91
xor dword [esp + 0xb0], 0x7ffc0397
xor dword [esp + 0xb0], 0x7f439e8f
mov dword [esp + 0xf4], 0xd8d2d1
add dword [esp + 0xf4], 0x194e
xor dword [esp + 0xf4], 0xd523c5
mov dword [esp + 0xa8], 0xa820cb
add dword [esp + 0xa8], 0x8b3c
xor dword [esp + 0xa8], 0xa28581
mov dword [esp + 0xb8], 0x121bc4
mov eax, dword [esp + 0xb8]
pop edi
div edi
push 0x11
mov dword [esp + 0xb8], eax
xor edx, edx
xor dword [esp + 0xb8], 0x6e996
mov dword [esp + 0x78], 0x9924c6
shl dword [esp + 0x78], 4
imul eax, dword [esp + 0x78], 0x36
pop ecx
push 3
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x4d385a1
mov dword [esp + 0xe8], 0x653a8
imul eax, dword [esp + 0xe8], 0x63
mov dword [esp + 0xe8], eax
xor dword [esp + 0xe8], 0x27c9a7f
mov dword [esp + 0xc0], 0x158278
add dword [esp + 0xc0], 0xffff088d
xor dword [esp + 0xc0], 0x1491ab
mov dword [esp + 0x20], 0x486b88
add dword [esp + 0x20], 0xffff9f3d
shr dword [esp + 0x20], 3
or dword [esp + 0x20], 0x23d4c2b
xor dword [esp + 0x20], 0x230cd37
mov dword [esp + 0xfc], 0xd2c4ef
imul eax, dword [esp + 0xfc], 0x5a
mov dword [esp + 0xfc], eax
xor dword [esp + 0xfc], 0x4a177333
mov dword [esp + 0x58], 0x829598
shl dword [esp + 0x58], 0xe
shr dword [esp + 0x58], 2
or dword [esp + 0x58], 0x8c8c5501
xor dword [esp + 0x58], 0xaddb19b6
mov dword [esp + 0x98], 0x169d18
mov eax, dword [esp + 0x98]
div ecx
xor edx, edx
mov dword [esp + 0x98], eax
shr dword [esp + 0x98], 0xa
xor dword [esp + 0x98], 0xc26db
mov dword [esp + 0xa0], 0xb2b50
xor dword [esp + 0xa0], 0x2de07b8f
xor dword [esp + 0xa0], 0x2de0ad86
mov dword [esp + 0x40], 0x9652d5
imul eax, dword [esp + 0x40], 0x68
pop ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
div ecx
mov dword [esp + 0x3c], eax
shl dword [esp + 0x3c], 0xa
xor dword [esp + 0x3c], 0x6cd74e85
mov dword [esp + 0xc4], 0x74acab
or dword [esp + 0xc4], 0xe18c4dd2
xor dword [esp + 0xc4], 0xe1f0b032
mov dword [esp + 0x24], 0x58e83b
imul eax, dword [esp + 0x24], 0x2b
xor edx, edx
push 0x2c
pop ecx
push 0x39
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0xffff56af
xor dword [esp + 0x28], 0xc61ca29
xor dword [esp + 0x28], 0x2809c1e
mov dword [esp + 0x64], 0x974237
shl dword [esp + 0x64], 0xb
imul eax, dword [esp + 0x64], 0x31
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x9d674e65
mov dword [esp + 0x80], 0xc3f98b
imul eax, dword [esp + 0x80], 0x5e
mov dword [esp + 0x80], eax
or dword [esp + 0x80], 0x641bd8e3
xor dword [esp + 0x80], 0x67f85735
mov dword [esp + 0xa4], 0xe4f15c
or dword [esp + 0xa4], 0xddaa88b0
xor dword [esp + 0xa4], 0xdde3c6d3
mov dword [esp + 0x14], 0x9b3502
xor dword [esp + 0x14], 0x47d60286
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x193d551
mov dword [esp + 0xe0], 0xffe1b1
imul eax, dword [esp + 0xe0], 0x7b
pop ecx
push 0x22
mov dword [esp + 0xe0], eax
xor dword [esp + 0xe0], 0x7af2e2c5
mov dword [esp + 0x38], 0x2876e6
or dword [esp + 0x38], 0x109585e0
shl dword [esp + 0x38], 0xd
add dword [esp + 0x38], 0x9cd3
xor dword [esp + 0x38], 0xbefbba98
mov dword [esp + 0xbc], 0xd3b2e1
shl dword [esp + 0xbc], 0xf
xor dword [esp + 0xbc], 0xd9748eec
mov dword [esp + 0x1c], 0x3e007f
add dword [esp + 0x1c], 0xffffe462
shr dword [esp + 0x1c], 9
shr dword [esp + 0x1c], 6
xor dword [esp + 0x1c], 0xafa23
mov dword [esp + 0xb4], 0x2c402
shr dword [esp + 0xb4], 0xa
xor dword [esp + 0xb4], 0x130c
mov dword [esp + 0xac], 0x94252b
mov eax, dword [esp + 0xac]
div ecx
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0xdcb04
mov dword [esp + 0x24], 0xd5c7f6
imul eax, dword [esp + 0x24], 0x41
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0x5616
shr dword [esp + 0x24], 9
xor dword [esp + 0x24], 0x1e39c7
mov dword [esp + 0x7c], 0xceff06
shl dword [esp + 0x7c], 0xe
shl dword [esp + 0x7c], 8
xor dword [esp + 0x7c], 0xc18fb5bb
mov dword [esp + 0x74], 0x414330
imul eax, dword [esp + 0x74], 0x1d
mov dword [esp + 0x74], eax
or dword [esp + 0x74], 0x5a6f0d55
xor dword [esp + 0x74], 0x5f6ea92a
mov dword [esp + 0xc4], 0xd2b255
xor dword [esp + 0xc4], 0xc5d7949e
xor dword [esp + 0xc4], 0xc50ba027
mov dword [esp + 0x44], 0xab825d
shl dword [esp + 0x44], 0xc
add dword [esp + 0x44], 0xd01b
xor edx, edx
mov eax, dword [esp + 0x44]
pop ecx
div ecx
xor edx, edx
mov ebp, 0x19ebf08
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x56bf222
mov dword [esp + 0x88], 0x6f3f31
add dword [esp + 0x88], 0x5a62
mov eax, dword [esp + 0x88]
div edi
push 0x26
mov dword [esp + 0x8c], eax
xor edx, edx
xor dword [esp + 0x8c], 0x2d040
mov dword [esp + 0xd4], 0x230f16
xor dword [esp + 0xd4], 0x902061d9
xor dword [esp + 0xd4], 0x9007a9ef
mov dword [esp + 0x3c], 0xb250d0
shl dword [esp + 0x3c], 7
shl dword [esp + 0x3c], 0xe
shr dword [esp + 0x3c], 0x10
xor dword [esp + 0x3c], 0xe0b76
mov dword [esp + 0xdc], 0x39b2ec
shr dword [esp + 0xdc], 5
xor dword [esp + 0xdc], 0x4ae9a
mov dword [esp + 0x9c], 0x41b5f8
shl dword [esp + 0x9c], 9
add dword [esp + 0x9c], 0xfffffd74
xor dword [esp + 0x9c], 0x836650ae
mov dword [esp + 0x60], 0xd924a5
imul eax, dword [esp + 0x60], 0x57
pop ecx
mov dword [esp + 0x5c], eax
shr dword [esp + 0x5c], 4
xor dword [esp + 0x5c], 0x4932b37
mov dword [esp + 0x48], 0x72a9d
shr dword [esp + 0x48], 0xb
imul eax, dword [esp + 0x48], 0x3f
mov dword [esp + 0x48], eax
add dword [esp + 0x48], 0xffffc8d5
xor dword [esp + 0x48], 0xeb520
mov dword [esp + 0xe8], 0x50edf9
imul eax, dword [esp + 0xe8], 0x73
mov dword [esp + 0xe8], eax
xor dword [esp + 0xe8], 0x245d5801
mov dword [esp + 0x58], 0x77fe3c
add dword [esp + 0x58], 0x89a9
or dword [esp + 0x58], 0x772eb6e7
add dword [esp + 0x58], 0xffffc435
xor dword [esp + 0x58], 0x777a10e8
mov dword [esp + 0x50], 0x481950
shr dword [esp + 0x50], 0xb
or dword [esp + 0x50], 0x104efd63
add dword [esp + 0x50], 0xffffd02c
xor dword [esp + 0x50], 0x1043876c
mov dword [esp + 0xe0], 0x899427
shl dword [esp + 0xe0], 0x10
xor dword [esp + 0xe0], 0x942ef0bd
mov dword [esp + 0x30], 0xafb495
or dword [esp + 0x30], 0xf73eef3e
add dword [esp + 0x30], 0xffffb280
xor dword [esp + 0x30], 0xf7b4985a
mov dword [esp + 0x80], 0xe6dab0
add dword [esp + 0x80], 0x38b
or dword [esp + 0x80], 0x5f912f35
xor dword [esp + 0x80], 0x5ff91c81
mov dword [esp + 0xc8], 0xa1ff8d
mov eax, dword [esp + 0xc8]
div ecx
mov dword [esp + 0xc8], eax
xor dword [esp + 0xc8], 0xa69c5
mov dword [esp + 0x28], 0xd15a88
xor dword [esp + 0x28], 0xcd50b9e8
shr dword [esp + 0x28], 0x10
xor dword [esp + 0x28], 0xf9319330
xor dword [esp + 0x28], 0xf933c487
mov edi, dword [esp + 0x104]
mov eax, 0x7574965
mov ecx, 0x424d9d2
cmp esi, ebp
je 0x10017a2c
cmp esi, ecx
je 0x1001799c
cmp esi, 0x5bc69f5
je 0x10017961
cmp esi, 0x8166b1d
je 0x10017913
cmp esi, 0xb42e112
je 0x10017909
cmp esi, 0xd369ee2
je 0x100177e5
cmp esi, 0xe2e667c
jne 0x10017a60
push dword [esp + 0x38]
lea eax, [esp + 0x12c]
push eax
push ecx
push 0
lea eax, [esp + 0x118]
push eax
push dword [esp + 0xe4]
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x58]
push 0
call fcn.1000ab87
add esp, 0x1c
test eax, eax
je 0x100177da
push dword [esp + 0x108]
push dword [esp + 0x4c]
push dword [esp + 0x64]
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xe4]
call fcn.10011e67
add esp, 0xc
push dword [esp + 0x10c]
push dword [esp + 0xe4]
push dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xf4]
call fcn.10011e67
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x734
ret
push dword [esp + 0x90]
lea eax, [esp + 0x334]
push ecx
push eax
push dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x24]
call fcn.1001da22
push dword [esp + 0x7c]
lea ecx, [esp + 0x344]
push dword [esp + 0x98]
mov edx, dword [esp + 0x104]
call fcn.1000b6cf
push dword [esp + 0xbc]
xor ecx, ecx
lea edx, [esp + 0x554]
push dword [esp + 0x10c]
mov word [eax], cx
mov ecx, dword [esp + 0xcc]
call fcn.10008969
push dword [esp + 0x104]
mov edx, 0x10001328
push dword [esp + 0x98]
mov ecx, dword [esp + 0xdc]
call fcn.1001dcf7
add esp, 0x28
lea edx, [esp + 0x330]
mov esi, eax
lea eax, [esp + 0x538]
push dword [esp + 0x94]
push dword [esp + 0x58]
push eax
push esi
push dword [esp + 0x108]
push dword [esp + 0x30]
push ecx
push dword [esp + 0xd8]
lea ecx, [esp + 0x148]
call fcn.100047ce
push dword [esp + 0x5c]
mov ecx, dword [esp + 0xc0]
mov edx, esi
call fcn.1000a8b0
add esp, 0x24
lea eax, [esp + 0x128]
mov edx, ebx
push dword [esp + 0x7c]
push eax
push dword [esp + 0x68]
push dword [esp + 0x30]
mov ecx, dword [esp + 0xd4]
call fcn.1000ea99
add esp, 0x10
test eax, eax
jne 0x100178f0
mov esi, ebp
jmp 0x10017703
mov eax, 0x7574965
mov esi, 0xe2e667c
cmp edi, eax
mov ecx, 0x424d9d2
cmove esi, ecx
jmp 0x1001770d
mov esi, 0x5bc69f5
jmp 0x1001770d
cmp edi, eax
jne 0x10017957
push ecx
push ecx
push dword [esp + 0x70]
lea ecx, [esp + 0x110]
push dword [esp + 0x10c]
push dword [esp + 0xdc]
push dword [esp + 0x60]
mov edx, dword [esp + 0x10c]
call fcn.1001bb23
add esp, 0x18
test eax, eax
je 0x100177da
mov esi, 0xd369ee2
jmp 0x10017703
mov esi, 0xd369ee2
jmp 0x1001770d
mov eax, dword [esp + 0xd4]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0xfc]
call fcn.1001d2ce
mov esi, eax
call fcn.10003de2
cmp esi, eax
mov edi, 0x1e8df70
mov eax, 0x7574965
mov esi, 0x8166b1d
cmovne edi, eax
jmp 0x10017708
push dword [esp + 0x104]
lea eax, [esp + 0x10c]
push dword [esp + 0x38]
lea edx, [esp + 0x130]
push ecx
push dword [esp + 0xe8]
push eax
push ecx
push dword [esp + 0x28]
mov ecx, dword [esp + 0xbc]
call fcn.1001d389
add esp, 0x1c
test eax, eax
je 0x100178e9
push dword [esp + 0x108]
push dword [esp + 0xac]
push dword [esp + 0xb8]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc4]
call fcn.10011e67
add esp, 0xc
push dword [esp + 0x10c]
push dword [esp + 0xc4]
push dword [esp + 0x78]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
call fcn.10011e67
add esp, 0xc
jmp 0x100178e9
push dword [esp + 0x104]
push dword [esp + 0x2c]
push dword [esp + 0xd0]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x3c]
call fcn.10011e67
add esp, 0xc
mov esi, 0xe6feec1
mov eax, 0x7574965
mov ecx, 0x424d9d2
cmp esi, 0xe6feec1
jne 0x1001770d
jmp 0x100177da