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

Disassembly:
sub esp, 0x140
push ebx
mov eax, dword [esp + 0x158]
mov ebx, edx
push ebp
push esi
push edi
push dword [esp + 0x178]
movzx eax, ax
push dword [esp + 0x178]
mov dword [esp + 0x144], ecx
push dword [esp + 0x178]
push dword [esp + 0x178]
push dword [esp + 0x178]
push eax
push dword [esp + 0x178]
push dword [esp + 0x178]
push dword [esp + 0x178]
push dword [esp + 0x178]
push ebx
push ecx
call fcn.0020602b
mov dword [esp + 0x174], 0x78501c
xor eax, eax
mov dword [esp + 0x168], eax
mov ecx, eax
mov dword [esp + 0x178], eax
mov ebp, eax
mov dword [esp + 0x17c], eax
add esp, 0x30
mov dword [esp + 0x68], 0x7906
mov esi, 0xcd25e5e
shl dword [esp + 0x68], 6
shr dword [esp + 0x68], 0xa
xor dword [esp + 0x68], 0x790
mov dword [esp + 0xb4], 0xf83b
shr dword [esp + 0xb4], 0xb
xor dword [esp + 0xb4], 0xc
mov dword [esp + 0x11c], 0x2ceb
or dword [esp + 0x11c], 0xa5610ac4
xor dword [esp + 0x11c], 0xa5612e27
mov dword [esp + 0x80], 0x96db
add dword [esp + 0x80], 0xffffce2c
or dword [esp + 0x80], 0x71346f29
xor dword [esp + 0x80], 0x7134ef2f
mov dword [esp + 0xdc], 0x28a4
add dword [esp + 0xdc], 0xffff342e
xor dword [esp + 0xdc], 0xffff1cd2
mov dword [esp + 0xd4], 0xa3bc
add dword [esp + 0xd4], 0xffffb3e2
xor dword [esp + 0xd4], 0x40579e
mov dword [esp + 0xcc], 0x4a92
shl dword [esp + 0xcc], 0xb
xor dword [esp + 0xcc], 0x2509000
mov dword [esp + 0xc4], 0xcc93
shr dword [esp + 0xc4], 0xd
xor dword [esp + 0xc4], 0x4000006
mov dword [esp + 0xbc], 0xadf6
shr dword [esp + 0xbc], 5
xor dword [esp + 0xbc], 0x8056f
mov dword [esp + 0x78], 0xcf16
xor dword [esp + 0x78], 0x2caffd24
shr dword [esp + 0x78], 8
xor dword [esp + 0x78], 0x2cad32
mov dword [esp + 0x28], 0xe55e
shl dword [esp + 0x28], 0x10
add dword [esp + 0x28], 0xffff79ea
shl dword [esp + 0x28], 5
xor dword [esp + 0x28], 0xabaf3c40
mov dword [esp + 0xb8], 0xf9a
mov dword [esp + 0x140], eax
imul eax, dword [esp + 0xb8], 0x3f
mov dword [esp + 0x10], ecx
mov dword [esp + 0xb8], eax
xor dword [esp + 0xb8], 0x8003d6e6
mov dword [esp + 0xd8], 0x15
shl dword [esp + 0xd8], 2
xor dword [esp + 0xd8], 0x54
mov dword [esp + 0xc0], 0x2eae
add dword [esp + 0xc0], 0x3c19
xor dword [esp + 0xc0], 0x6ac4
mov dword [esp + 0x118], 0xab01
mov eax, dword [esp + 0x118]
xor edx, edx
push 0x5e
pop edi
div edi
push 0x2c
mov dword [esp + 0x11c], eax
xor edx, edx
xor dword [esp + 0x11c], 0x4cb8
mov dword [esp + 0xec], 0x2a8e
mov eax, dword [esp + 0xec]
pop edi
div edi
push 0x50
mov dword [esp + 0xec], eax
xor edx, edx
xor dword [esp + 0xec], 0x33ed
mov dword [esp + 0x30], 0xd22b
or dword [esp + 0x30], 0xd3babaa8
imul eax, dword [esp + 0x30], 0x6c
pop edi
push 0x42
mov dword [esp + 0x30], eax
shr dword [esp + 0x30], 7
xor dword [esp + 0x30], 0xa58d92
mov dword [esp + 0xf4], 0x39fa
mov eax, dword [esp + 0xf4]
div edi
xor edx, edx
mov dword [esp + 0xf4], eax
xor dword [esp + 0xf4], 0x2d01
mov dword [esp + 0x64], 0xf5d4
xor dword [esp + 0x64], 0x5b9fa071
shr dword [esp + 0x64], 3
xor dword [esp + 0x64], 0xb73efef
mov dword [esp + 0x5c], 0x1311
mov eax, dword [esp + 0x5c]
pop edi
div edi
push 0x6e
mov dword [esp + 0x5c], eax
xor edx, edx
add dword [esp + 0x5c], 0x5e6d
xor dword [esp + 0x5c], 0x4acc
mov dword [esp + 0xfc], 0x907
imul eax, dword [esp + 0xfc], 0x48
pop edi
push 0x21
mov dword [esp + 0xfc], eax
xor dword [esp + 0xfc], 0x2ff0c
mov dword [esp + 0x130], 0x8ec2
mov eax, dword [esp + 0x130]
div edi
xor edx, edx
mov dword [esp + 0x130], eax
xor dword [esp + 0x130], 0x5772
mov dword [esp + 0x50], 0x4792
shl dword [esp + 0x50], 0xd
shr dword [esp + 0x50], 0xb
shr dword [esp + 0x50], 4
xor dword [esp + 0x50], 0x6a86
mov dword [esp + 0x74], 0x4f89
add dword [esp + 0x74], 0xffff3059
imul eax, dword [esp + 0x74], 0x6e
pop edi
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0xffc8e4d3
mov dword [esp + 0x120], 0x8858
add dword [esp + 0x120], 0x804a
xor dword [esp + 0x120], 0x17e21
mov dword [esp + 0x18], 0xd58c
or dword [esp + 0x18], 0x45747a0f
shr dword [esp + 0x18], 0xa
mov eax, dword [esp + 0x18]
div edi
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x8646
mov dword [esp + 0x24], 0xadcd
shr dword [esp + 0x24], 8
shl dword [esp + 0x24], 9
shr dword [esp + 0x24], 1
xor dword [esp + 0x24], 0x8fc4
xor edx, edx
mov dword [esp + 0x44], 0xd742
mov eax, dword [esp + 0x44]
push 0x30
pop edi
div edi
mov dword [esp + 0x44], eax
add dword [esp + 0x44], 0x61d9
shr dword [esp + 0x44], 4
xor dword [esp + 0x44], 0x191
mov dword [esp + 0x84], 0x8d76
or dword [esp + 0x84], 0x1111a955
shl dword [esp + 0x84], 5
xor dword [esp + 0x84], 0x2235a282
mov dword [esp + 0x110], 0x8939
add dword [esp + 0x110], 0xffff3fc4
xor dword [esp + 0x110], 0xffff80c7
mov dword [esp + 0x3c], 0x72
imul eax, dword [esp + 0x3c], 0x7d
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0xffff8366
shr dword [esp + 0x3c], 9
xor dword [esp + 0x3c], 0x7facee
mov dword [esp + 0x124], 0xf34a
add dword [esp + 0x124], 0xffffbf38
xor dword [esp + 0x124], 0x8263
mov dword [esp + 0xe0], 0x1dc0
xor dword [esp + 0xe0], 0x2c6551d7
xor dword [esp + 0xe0], 0x2c653ad3
mov dword [esp + 0x6c], 0xc596
xor dword [esp + 0x6c], 0x9ca21630
xor dword [esp + 0x6c], 0x8f0fd5bf
xor dword [esp + 0x6c], 0x13ad7fff
mov dword [esp + 0x8c], 0x8cfa
shr dword [esp + 0x8c], 1
xor dword [esp + 0x8c], 0xfb4b109c
xor dword [esp + 0x8c], 0xfb4b1bca
mov dword [esp + 0x64], 0x2fd6
shl dword [esp + 0x64], 7
shl dword [esp + 0x64], 2
xor dword [esp + 0x64], 0x5fedce
mov dword [esp + 0x9c], 0x51a5
xor dword [esp + 0x9c], 0x4af0041f
add dword [esp + 0x9c], 0xfffff3cf
xor dword [esp + 0x9c], 0x4af05e30
mov dword [esp + 0x5c], 0x8950
shl dword [esp + 0x5c], 0xc
or dword [esp + 0x5c], 0xbaabdb8a
xor dword [esp + 0x5c], 0xbabf869d
mov dword [esp + 0x128], 0xc836
add dword [esp + 0x128], 0xffff3474
xor dword [esp + 0x128], 0xffff8af1
mov dword [esp + 0xa0], 0x9727
add dword [esp + 0xa0], 0xffffb8fc
shr dword [esp + 0xa0], 3
xor dword [esp + 0xa0], 0x1e80
mov dword [esp + 0x20], 0x64c7
add dword [esp + 0x20], 0x56f7
xor dword [esp + 0x20], 0x2de137fe
add dword [esp + 0x20], 0xaf99
xor dword [esp + 0x20], 0x2de22ef8
mov dword [esp + 0x1c], 0x2e06
or dword [esp + 0x1c], 0x78777a1f
imul eax, dword [esp + 0x1c], 0x79
mov dword [esp + 0x1c], eax
shr dword [esp + 0x1c], 3
xor dword [esp + 0x1c], 0x1e0f1828
mov dword [esp + 0xf4], 0xc9a2
or dword [esp + 0xf4], 0xf3c29ea2
xor dword [esp + 0xf4], 0xf3c28d84
mov dword [esp + 0xec], 0xecbf
add dword [esp + 0xec], 0xffff0faf
xor dword [esp + 0xec], 0xffffc0a5
mov dword [esp + 0x90], 0x95e0
shl dword [esp + 0x90], 8
shl dword [esp + 0x90], 9
xor dword [esp + 0x90], 0x2bc00f3b
xor edx, edx
mov dword [esp + 0x88], 0x7c40
mov eax, dword [esp + 0x88]
push 0x3a
pop edi
div edi
push 0x67
mov dword [esp + 0x8c], eax
xor edx, edx
shl dword [esp + 0x8c], 8
xor dword [esp + 0x8c], 0x244df
mov dword [esp + 0x44], 0x7605
shl dword [esp + 0x44], 5
add dword [esp + 0x44], 0xffffdeaf
shr dword [esp + 0x44], 0xb
xor dword [esp + 0x44], 0x1482
mov dword [esp + 0xe8], 0x1c78
add dword [esp + 0xe8], 0x3c33
xor dword [esp + 0xe8], 0x6c40
mov dword [esp + 0x3c], 0xd61a
xor dword [esp + 0x3c], 0xfb8fe6a7
add dword [esp + 0x3c], 0x5fc
or dword [esp + 0x3c], 0xbad3e440
xor dword [esp + 0x3c], 0xfbdf8156
mov dword [esp + 0x34], 0x89a2
add dword [esp + 0x34], 0xffff4641
shr dword [esp + 0x34], 0xc
shr dword [esp + 0x34], 0xd
xor dword [esp + 0x34], 0x71e8
mov dword [esp + 0x58], 0xe21c
xor dword [esp + 0x58], 0x457ecc8f
imul eax, dword [esp + 0x58], 0x59
pop edi
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0x28de7ded
mov dword [esp + 0xfc], 0xe1
shr dword [esp + 0xfc], 3
xor dword [esp + 0xfc], 0x1e3a
mov dword [esp + 0x98], 0xbeeb
imul eax, dword [esp + 0x98], 0x12
mov dword [esp + 0x98], eax
add dword [esp + 0x98], 0x8ae1
xor dword [esp + 0x98], 0xde1ad
mov dword [esp + 0x10c], 0xfd10
shr dword [esp + 0x10c], 0xf
xor dword [esp + 0x10c], 0x36f7
mov dword [esp + 0x104], 0x1f03
imul eax, dword [esp + 0x104], 0x49
mov dword [esp + 0x104], eax
xor dword [esp + 0x104], 0x897f9
mov dword [esp + 0x48], 0xf0d9
imul eax, dword [esp + 0x48], 0x66
mov dword [esp + 0x48], eax
add dword [esp + 0x48], 0xffffb5cf
add dword [esp + 0x48], 0xea22
xor dword [esp + 0x48], 0x60dcb6
mov dword [esp + 0xa8], 0xdfa9
xor dword [esp + 0xa8], 0x7c3d7298
xor dword [esp + 0xa8], 0xd2777362
xor dword [esp + 0xa8], 0xae4ad343
mov dword [esp + 0x108], 0x8534
xor dword [esp + 0x108], 0x85524ca
xor dword [esp + 0x108], 0x85595c2
mov dword [esp + 0xc8], 0x90f3
add dword [esp + 0xc8], 0xcfad
xor dword [esp + 0xc8], 0x17ab2
mov dword [esp + 0x74], 0x7eee
shr dword [esp + 0x74], 3
add dword [esp + 0x74], 0xffffea23
xor dword [esp + 0x74], 0xffffcf89
mov dword [esp + 0xac], 0x31cc
or dword [esp + 0xac], 0x82d13576
shr dword [esp + 0xac], 3
xor dword [esp + 0xac], 0x105a14dc
mov dword [esp + 0x34], 0xab9f
mov eax, dword [esp + 0x34]
div edi
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0xffff982b
add dword [esp + 0x34], 0xcf45
xor dword [esp + 0x34], 0x72b9
mov dword [esp + 0x100], 0x4458
add dword [esp + 0x100], 0xfa7e
xor dword [esp + 0x100], 0x168e1
mov dword [esp + 0xd0], 0x89b9
xor edx, edx
add dword [esp + 0xd0], 0xe32e
xor dword [esp + 0xd0], 0x10bac
mov dword [esp + 0xa4], 0xe617
shl dword [esp + 0xa4], 4
add dword [esp + 0xa4], 0xb499
xor dword [esp + 0xa4], 0xf5cd6
mov dword [esp + 0x7c], 0x2b1d
shl dword [esp + 0x7c], 0x10
imul eax, dword [esp + 0x7c], 0x7f
push 0x21
pop edi
push 0x19
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x63636a51
mov dword [esp + 0x98], 0x87b6
or dword [esp + 0x98], 0xa87ad713
shl dword [esp + 0x98], 3
xor dword [esp + 0x98], 0x43d6c05c
mov dword [esp + 0x118], 0x1ec0
mov eax, dword [esp + 0x118]
div edi
xor edx, edx
mov dword [esp + 0x118], eax
xor dword [esp + 0x118], 0x42c8
mov dword [esp + 0x54], 0x1798
xor dword [esp + 0x54], 0x8091dd24
or dword [esp + 0x54], 0xdc47dedf
imul eax, dword [esp + 0x54], 0x5d
pop edi
push 0x73
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0x3a6c6c2e
mov dword [esp + 0xb4], 0x6f3f
mov eax, dword [esp + 0xb4]
div edi
xor edx, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
pop edi
div edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0xb0], eax
xor dword [esp + 0xb0], 0x5ad1
mov eax, dword [esp + 0x14]
mov edx, 0x1fbed331
cmp esi, edx
jg 0x20d398
je 0x20d378
cmp esi, 0xa0d70be
je 0x20d31f
cmp esi, 0xcd25e5e
je 0x20d315
mov eax, 0xdfc12f5
cmp esi, eax
je 0x20d2aa
cmp esi, 0x1b724d6a
je 0x20d27d
cmp esi, 0x1e7ff602
jne 0x20d639
push dword [esp + 0xb0]
mov edx, dword [esp + 0x134]
push dword [esp + 0x54]
mov ecx, dword [esp + 0x11c]
call fcn.00207925
pop ecx
pop ecx
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x140
ret
push dword [esp + 0xd0]
mov edx, edi
push dword [esp + 0x104]
mov ecx, dword [esp + 0x3c]
call fcn.00207925
mov esi, 0x2cd2473d
pop ecx
pop ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x20d208
push dword [esp + 0xa0]
push ecx
push dword [esp + 0x138]
push ecx
push dword [esp + 0x16c]
push dword [esp + 0xd4]
push dword [esp + 0x140]
push dword [esp + 0x78]
push ecx
push dword [esp + 0xc0]
push dword [esp + 0x8c]
push ecx
push dword [esp + 0xbc]
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x198]
call fcn.00217955
add esp, 0x34
mov dword [esp + 0x14], eax
test eax, eax
mov esi, 0x1e7ff602
mov ecx, 0x20246154
cmovne esi, ecx
jmp 0x20d2a1
mov esi, 0x25fbc0d1
jmp 0x20d20d
test ebx, ebx
je 0x20d327
mov ecx, dword [ebx]
jmp 0x20d329
xor ecx, ecx
test ebx, ebx
je 0x20d332
mov eax, dword [ebx + 4]
jmp 0x20d334
xor eax, eax
push ecx
push dword [esp + 0xb0]
push ecx
push eax
push edi
push dword [esp + 0x180]
push dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x124]
call fcn.00218422
add esp, 0x1c
neg eax
sbb esi, esi
and esi, 0x1873afa8
add esi, 0x1b724d6a
jmp 0x20d29d
mov edx, dword [esp + 0x13c]
mov ecx, edi
call fcn.00205b79
test eax, eax
mov esi, 0x1b724d6a
push 1
pop eax
cmovne ebp, eax
jmp 0x20d29d
cmp esi, 0x20246154
je 0x20d51a
cmp esi, 0x25fbc0d1
je 0x20d481
cmp esi, 0x276816a4
je 0x20d423
cmp esi, 0x2cd2473d
je 0x20d3fd
cmp esi, 0x33e5fd12
jne 0x20d639
mov edx, dword [esp + 0xb4]
mov ecx, edi
call fcn.0021687f
mov ecx, dword [esp + 0x11c]
mov esi, 0x1b724d6a
cmp eax, ecx
mov edx, 0x1fbed331
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmove esi, edx
jmp 0x20d20d
push dword [esp + 0x94]
mov edx, eax
push dword [esp + 0x80]
mov ecx, dword [esp + 0xac]
call fcn.00207925
mov esi, 0x1e7ff602
jmp 0x20d29b
push ecx
push dword [esp + 0xdc]
push dword [esp + 0x118]
push dword [esp + 0x90]
push dword [esp + 0x54]
push dword [esp + 0x38]
push ecx
call fcn.00205a52
test eax, eax
mov dword [esp + 0x14c], eax
mov eax, 0xdfc12f5
mov esi, 0x258a7eda
cmovne esi, eax
mov eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x100]
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x60]
call fcn.0020f536
add esp, 0x24
jmp 0x20d630
mov eax, dword [esp + 0x2c]
mov ecx, 0x200
mov eax, dword [esp + 0xe8]
mov eax, dword [esp + 0x118]
push ecx
push ecx
mov dword [esp + 0x140], ecx
call fcn.00208736
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x20d510
push dword [esp + 0x58]
lea eax, [esp + 0x13c]
mov edx, esi
push dword [esp + 0x64]
push dword [esp + 0xf8]
push eax
call fcn.0020f74e
add esp, 0x10
test eax, eax
jne 0x20d4f9
push dword [esp + 0x4c]
mov edx, esi
push ecx
push dword [esp + 0x70]
push dword [esp + 0x138]
push ecx
mov ecx, dword [esp + 0x10c]
call fcn.00210f0c
add esp, 0x14
mov dword [esp + 0x10], eax
push esi
push dword [esp + 0x1c]
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0x78]
call fcn.0020f536
pop ecx
pop ecx
mov esi, 0x276816a4
jmp 0x20d29d
test ebx, ebx
je 0x20d53c
push dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, 0x21c850
call fcn.0021889d
mov esi, eax
pop ecx
mov dword [esp + 0x140], esi
jmp 0x20d543
mov esi, dword [esp + 0x140]
mov ecx, dword [esp + 0xb8]
or ecx, dword [esp + 0x28]
or ecx, dword [esp + 0x78]
or ecx, dword [esp + 0xbc]
or ecx, dword [esp + 0xc4]
or ecx, dword [esp + 0xcc]
or ecx, dword [esp + 0xd4]
or ecx, dword [esp + 0xdc]
or ecx, dword [esp + 0x80]
push dword [esp + 0x30]
push dword [esp + 0x3c]
push ecx
push dword [esp + 0x174]
push dword [esp + 0xf4]
push esi
push dword [esp + 0x58]
push ecx
push ecx
push dword [esp + 0x38]
push ecx
push dword [esp + 0xb4]
push dword [esp + 0xc0]
push dword [esp + 0x120]
mov edx, dword [esp + 0x12c]
call fcn.00201bd7
push dword [esp + 0xd0]
mov edx, esi
mov edi, eax
push dword [esp + 0x138]
mov ecx, dword [esp + 0x94]
call fcn.00212025
add esp, 0x40
test edi, edi
je 0x20d62b
push ecx
xor eax, eax
push edi
push dword [esp + 0xb0]
inc eax
mov dword [esp + 0x140], eax
lea eax, [esp + 0x140]
push eax
push dword [esp + 0x58]
push dword [esp + 0x118]
mov ecx, dword [esp + 0x124]
call fcn.00216aff
add esp, 0x18
mov dword [esp + 0x134], eax
mov esi, 0xa0d70be
jmp 0x20d29d
mov esi, 0x2cd2473d
mov ecx, dword [esp + 0x10]
mov edx, 0x1fbed331
cmp esi, 0x258a7eda
je 0x20d270
mov eax, dword [esp + 0x14]
jmp 0x20d20d