Function at 0x166eba
Capabilities:
Encode data using base64
Encrypt data using chaskey

Disassembly:
sub esp, 0xa6c
and dword [esp + 0x38], 0
and dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0x9f3ed
mov dword [esp + 0x18], 0x23b92
or dword [esp + 0x18], 0x4ac28a71
add dword [esp + 0x18], 0xffff3a95
imul eax, dword [esp + 0x18], 0x59
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x28], eax
mov ebp, ecx
xor dword [esp + 0x28], 0xfd65de1a
mov esi, 0x5c13b
mov eax, dword [esp + 0x28]
call fcn.00163d00
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov eax, 0xafd1f
push 0x5d
pop ecx
cmp esi, 0x9b4b6
jg 0x167412
je 0x167373
cmp esi, 0x14eb
je 0x1672cb
cmp esi, 0xf738
je 0x167af4
cmp esi, 0x5c13b
je 0x1671f5
cmp esi, 0x8d388
je 0x167163
cmp esi, 0x96ab2
jne 0x167ae6
mov dword [esp + 0x14], 0x5e8fe
add dword [esp + 0x14], 0xf4b0
xor dword [esp + 0x14], 0x6ad0c
mov eax, dword [esp + 0x14]
call fcn.0016bd00
mov ecx, eax
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], 0x88bd72
shr dword [esp + 0x18], 8
shl dword [esp + 0x18], 0xb
xor dword [esp + 0x18], 0x445e801
mov dword [esp + 0x14], 0xc9e909
shl dword [esp + 0x14], 4
xor dword [esp + 0x14], 0x2c740318
xor dword [esp + 0x14], 0x20e31533
mov dword [esp + 0x20], 0xbb8d90
or dword [esp + 0x20], 0x6ec56b43
xor dword [esp + 0x20], 0x6ef15c78
mov dword [esp + 0x28], 0x644d1a
mov eax, dword [esp + 0x28]
push 0x13
pop esi
div esi
push 0x77
mov dword [esp + 0x2c], eax
xor edx, edx
mov eax, dword [esp + 0x2c]
pop esi
div esi
push ecx
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x2c], 7
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x2a497
push dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
call fcn.0016bd0b
add eax, dword [esp + 0x20]
xor edx, edx
add eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], 0xe3d857
shr dword [esp + 0x30], 5
imul eax, dword [esp + 0x30], 0x3f
pop ecx
pop ecx
push 0xb
pop ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
div ecx
push 0x47
mov dword [esp + 0x2c], eax
xor edx, edx
xor dword [esp + 0x2c], 0x38c76e
mov dword [esp + 0x18], 0xf4388f
imul eax, dword [esp + 0x18], 0x2e
pop ecx
mov dword [esp + 0x14], eax
or dword [esp + 0x14], 0x14e3a102
add dword [esp + 0x14], 0xffff07ab
xor dword [esp + 0x14], 0x3fec0f04
mov dword [esp + 0x18], 0x7e1a04
imul eax, dword [esp + 0x18], 0x62
mov dword [esp + 0x18], eax
shl dword [esp + 0x18], 7
shl dword [esp + 0x18], 0xb
xor dword [esp + 0x18], 0xd622406d
mov dword [esp + 0x20], 0x8849cd
add dword [esp + 0x20], 0xffff2ff2
or dword [esp + 0x20], 0xd8a3fd73
mov eax, dword [esp + 0x20]
div ecx
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x30c23b2
mov dword [esp + 0x1c], 0xb8be59
add dword [esp + 0x1c], 0xd6d2
xor dword [esp + 0x1c], 0xb0dec6
mov dword [esp + 0x24], 0xe5003b
add dword [esp + 0x24], 0xffff3adf
lea eax, [esp + 0x38]
xor dword [esp + 0x24], 0xeaf987
mov dword [esp + 0x2c], 0x77e6e
shr dword [esp + 0x2c], 0xb
xor dword [esp + 0x2c], 0xb3606
push ebx
push dword [esp + 0x2c]
push dword [esp + 0x34]
push ecx
push eax
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x38]
push dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push ebx
push ebx
call fcn.001638e1
add esp, 0x2c
test eax, eax
je 0x167b59
mov esi, 0x8d388
jmp 0x166f15
mov dword [esp + 0x14], 0xee3b1e
lea edx, [esp + 0x30]
add dword [esp + 0x14], 0x3e78
imul eax, dword [esp + 0x14], 0x7f
mov dword [esp + 0x14], eax
lea eax, [esp + 0x38]
shl dword [esp + 0x14], 7
xor dword [esp + 0x14], 0x272bd65f
mov dword [esp + 0x20], 0x1681e9
shl dword [esp + 0x20], 2
add dword [esp + 0x20], 0xffff8c69
xor dword [esp + 0x20], 0x50fe6e
mov dword [esp + 0x18], 0xde5e2e
shl dword [esp + 0x18], 6
add dword [esp + 0x18], 0xffff15f1
xor dword [esp + 0x18], 0x3793d424
push dword [esp + 0x18]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00166ba3
add esp, 0xc
neg eax
sbb esi, esi
and esi, 0xffff1db3
add esi, 0xf738
jmp 0x166f15
mov dword [esp + 0x2c], 0x9884
lea edx, [esp + 0x668]
or dword [esp + 0x2c], 0x46406229
xor dword [esp + 0x2c], 0x4640fa84
mov dword [esp + 0x24], 0x31828a
add dword [esp + 0x24], 0x52cd
xor dword [esp + 0x24], 0x37461d
mov dword [esp + 0x20], 0x6e4078
shr dword [esp + 0x20], 8
add dword [esp + 0x20], 0xffffe43a
xor dword [esp + 0x20], 0xc36ea
mov dword [esp + 0x1c], 0x24089b
shl dword [esp + 0x1c], 0xa
xor dword [esp + 0x1c], 0x9022e2e5
mov dword [esp + 0x18], 0xbc5357
xor dword [esp + 0x18], 0xdbba5cb3
xor dword [esp + 0x18], 0xdcf24e2e
xor dword [esp + 0x18], 0x7f16033
mov dword [esp + 0x14], 0xa0423e
or dword [esp + 0x14], 0xe87b481d
xor dword [esp + 0x14], 0xe3b5ddf2
xor dword [esp + 0x14], 0xb451b5b
push ecx
push ecx
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x28]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
call fcn.0016e1b0
add esp, 0x20
mov esi, 0xd2d38
jmp 0x166f15
mov dword [esp + 0x14], 0x632039
xor edx, edx
shr dword [esp + 0x14], 0xf
or dword [esp + 0x14], 0x8ccebfbc
xor dword [esp + 0x14], 0xf21fa8f5
xor dword [esp + 0x14], 0x7ed84f7b
mov dword [esp + 0x2c], 0xd67e7e
imul eax, dword [esp + 0x2c], 0xd
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0xae7fb97
mov dword [esp + 0x24], 0xcec19a
mov eax, dword [esp + 0x24]
div ecx
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x9b0ff
mov dword [esp + 0x1c], 0x7c9240
xor dword [esp + 0x1c], 0x72efd03d
xor dword [esp + 0x1c], 0x72991fa6
push dword [esp + 0x1c]
push dword [esp + 0x34]
push dword [esp + 0x2c]
push dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
call fcn.00179af4
mov edi, eax
add esp, 0x10
test edi, edi
mov esi, 0xdf238
mov eax, 0xafd1f
cmovne esi, eax
jmp 0x166f1a
mov dword [esp + 0x20], 0x411fa2
xor edx, edx
mov eax, dword [esp + 0x20]
push 0x1d
pop ecx
div ecx
mov dword [esp + 0x20], eax
add dword [esp + 0x20], 0x377b
xor dword [esp + 0x20], 0x2e36e
mov dword [esp + 0x18], 0xaaba54
or dword [esp + 0x18], 0x65e51e5d
xor dword [esp + 0x18], 0xe7af5730
xor dword [esp + 0x18], 0x824f31ac
mov dword [esp + 0x1c], 0xe2bd99
xor dword [esp + 0x1c], 0x5f40c3a5
xor dword [esp + 0x1c], 0x5fac5822
mov dword [esp + 0x14], 0xd10a22
shr dword [esp + 0x14], 0xc
xor dword [esp + 0x14], 0x33045cd6
xor dword [esp + 0x14], 0x330a28ab
push dword [esp + 0x14]
push edi
push dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
call fcn.001685d0
add esp, 0xc
mov esi, 0xdf238
jmp 0x166f15
cmp esi, 0xa9aa1
je 0x167a3f
cmp esi, eax
je 0x167893
cmp esi, 0xd2d38
je 0x1674e2
cmp esi, 0xdf238
jne 0x167ae6
mov dword [esp + 0x24], 0x5b7fe8
xor edx, edx
mov eax, dword [esp + 0x24]
push 0x3b
pop ecx
div ecx
push 0x38
mov dword [esp + 0x28], eax
xor edx, edx
xor dword [esp + 0x28], 0xa6a1f
mov dword [esp + 0x1c], 0x63510
shr dword [esp + 0x1c], 1
shr dword [esp + 0x1c], 0x10
xor dword [esp + 0x1c], 0xccaa5
mov dword [esp + 0x18], 0x8ffdd5
add dword [esp + 0x18], 0xffff5061
mov eax, dword [esp + 0x18]
pop ecx
div ecx
push 0x71
mov dword [esp + 0x18], eax
xor edx, edx
xor dword [esp + 0x18], 0x49d13
mov dword [esp + 0x20], 0xc4d33
mov eax, dword [esp + 0x20]
pop ecx
div ecx
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x398a4
push dword [esp + 0x1c]
push dword [esp + 0x34]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
call fcn.001685d0
add esp, 0xc
mov esi, 0xf738
jmp 0x166f15
mov dword [esp + 0x1c], 0xa59cb7
lea edx, [esp + 0x258]
shr dword [esp + 0x1c], 3
xor dword [esp + 0x1c], 0x1aa531
mov dword [esp + 0x14], 0x91ccd5
add dword [esp + 0x14], 0xffffdbe1
or dword [esp + 0x14], 0x8fbfb657
xor dword [esp + 0x14], 0x8fb54da0
mov dword [esp + 0x18], 0x622cdc
xor dword [esp + 0x18], 0x854dc3f2
add dword [esp + 0x18], 0xffffc443
xor dword [esp + 0x18], 0x852ddbff
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0x24]
call fcn.00163093
mov dword [esp + 0x24], 0xc9cb50
add esp, 0xc
xor dword [esp + 0x18], 0xae1d00c5
xor edx, edx
mov eax, dword [esp + 0x18]
push 0x5d
pop ecx
div ecx
push 0x3d
mov dword [esp + 0x1c], eax
xor edx, edx
xor dword [esp + 0x1c], 0x1ef95fa
mov dword [esp + 0x18], 0xa7482e
mov eax, dword [esp + 0x18]
pop ecx
div ecx
lea ecx, [esp + 0x258]
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffffaebb
add dword [esp + 0x14], 0xffffc1b0
xor dword [esp + 0x14], 0x7af4e
mov dword [esp + 0x1c], 0x47654a
shr dword [esp + 0x1c], 0xc
xor dword [esp + 0x1c], 0x6710b
push dword [esp + 0x1c]
push dword [esp + 0x18]
mov edx, dword [esp + 0x20]
call fcn.00178807
xor ecx, ecx
mov word [eax], cx
lea ecx, [esp + 0x468]
mov dword [esp + 0x1c], 0x58a287
shl dword [esp + 0x1c], 5
or dword [esp + 0x1c], 0x1eea48e8
xor dword [esp + 0x1c], 0xc20d067a
xor dword [esp + 0x1c], 0xddf01f99
mov dword [esp + 0x2c], 0x210dab
or dword [esp + 0x2c], 0x8f51ecd2
xor dword [esp + 0x2c], 0x8f783684
mov dword [esp + 0x24], 0x87c1ac
add dword [esp + 0x24], 0xffffb30b
xor dword [esp + 0x24], 0x83ed32
push dword [esp + 0x24]
push dword [esp + 0x30]
mov edx, dword [esp + 0x24]
call fcn.00165a03
mov dword [esp + 0x28], 0xf1c535
shr dword [esp + 0x28], 3
xor dword [esp + 0x28], 0xe73c5065
imul eax, dword [esp + 0x28], 0x2e
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x882743e0
mov dword [esp + 0x24], 0xe166fd
add dword [esp + 0x24], 0xffff697a
add dword [esp + 0x24], 0xffffd8b1
xor dword [esp + 0x24], 0xd7732407
xor dword [esp + 0x24], 0xd7951a7a
mov dword [esp + 0x30], 0xebb5fa
xor dword [esp + 0x30], 0x5b6a1a68
xor dword [esp + 0x30], 0xf8376314
xor dword [esp + 0x30], 0xa3bd5e5a
mov dword [esp + 0x2c], 0x1f1622
shr dword [esp + 0x2c], 6
xor dword [esp + 0x2c], 0xd72b9
push dword [esp + 0x2c]
push dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push 0x161108
call fcn.0016e533
mov dword [esp + 0x40], 0xee043f
add esp, 0x1c
mov esi, eax
xor edx, edx
mov eax, dword [esp + 0x24]
push 5
pop ecx
div ecx
push 0x21
mov dword [esp + 0x28], eax
xor edx, edx
xor dword [esp + 0x28], 0x267fca
mov dword [esp + 0x1c], 0xcbbdb8
shl dword [esp + 0x1c], 3
shr dword [esp + 0x1c], 0xa
mov eax, dword [esp + 0x1c]
pop ecx
div ecx
push esi
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x25c]
xor dword [esp + 0x1c], 0x33c5c
lea eax, [esp + 0x54]
mov dword [esp + 0x18], 0xfe18d5
add dword [esp + 0x18], 0xb00e
shl dword [esp + 0x18], 0xe
add dword [esp + 0x18], 0xffff84c8
xor dword [esp + 0x18], 0xb2359aa5
mov dword [esp + 0x20], 0x554633
shl dword [esp + 0x20], 0xd
xor dword [esp + 0x20], 0xa8c8cebb
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x46c]
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x40]
call fcn.00171a90
mov dword [esp + 0x34], 0x8ad9c9
add esp, 0x1c
shl dword [esp + 0x18], 0x10
xor edx, edx
shl dword [esp + 0x18], 8
add dword [esp + 0x18], 0x94ce
xor dword [esp + 0x18], 0xc90f11d9
mov dword [esp + 0x20], 0xb4f2c6
or dword [esp + 0x20], 0x56513ae2
mov eax, dword [esp + 0x20]
push 0x1e
pop ecx
div ecx
push 0x6f
mov dword [esp + 0x24], eax
xor edx, edx
xor dword [esp + 0x24], 0x2eadb2e
mov dword [esp + 0x18], 0x50caa4
mov eax, dword [esp + 0x18]
pop ecx
div ecx
push 0x5c
mov dword [esp + 0x18], eax
xor edx, edx
mov eax, dword [esp + 0x18]
pop ecx
div ecx
push esi
mov dword [esp + 0x18], eax
shr dword [esp + 0x18], 0xf
xor dword [esp + 0x18], 0x8e3f1
push dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
call fcn.00164fd3
mov dword [esp + 0x20], 0xce10be
shl dword [esp + 0x20], 0xe
lea edx, [esp + 0x58]
add dword [esp + 0x20], 0xffff2150
xor dword [esp + 0x20], 0x8428f093
mov dword [esp + 0x1c], 0x389b20
or dword [esp + 0x1c], 0x6d644005
add dword [esp + 0x1c], 0xffff740e
add dword [esp + 0x1c], 0x7292
xor dword [esp + 0x1c], 0x6d7d1c17
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push ebp
call fcn.001695f6
add esp, 0x10
test eax, eax
je 0x167b59
mov esi, 0x96ab2
jmp 0x166f15
mov dword [esp + 0x14], 0x5c8cab
add dword [esp + 0x14], 0x6b68
xor dword [esp + 0x14], 0x55656a
mov dword [esp + 0x2c], 0x386a
add dword [esp + 0x2c], 0x94a0
xor dword [esp + 0x2c], 0x8acde
mov dword [esp + 0x24], 0xc0850f
add dword [esp + 0x24], 0x9936
xor dword [esp + 0x24], 0xc15216
mov dword [esp + 0x1c], 0x911d8c
shl dword [esp + 0x1c], 4
xor dword [esp + 0x1c], 0x91fc90a
push dword [esp + 0x1c]
push dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
push 0x1611b8
call fcn.0016e533
mov dword [esp + 0x2c], 0x8e0b53
add esp, 0xc
xor dword [esp + 0x20], 0x766d0717
mov esi, eax
xor dword [esp + 0x20], 0xe8a9718f
xor edx, edx
xor dword [esp + 0x20], 0x9e42f7fb
mov dword [esp + 0x1c], 0x495f15
add dword [esp + 0x1c], 0xffff04c6
xor dword [esp + 0x1c], 0x4e1a83
mov dword [esp + 0x18], 0x1e9921
add dword [esp + 0x18], 0xef62
add dword [esp + 0x18], 0xffffda13
xor dword [esp + 0x18], 0x157742
push 7
mov dword [esp + 0x18], 0xc693ff
mov eax, dword [esp + 0x18]
pop ecx
div ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x50]
shl dword [esp + 0x14], 3
xor dword [esp + 0x14], 0xe5d4b3
push eax
push edi
push dword [esp + 0x1c]
lea eax, [esp + 0x674]
push eax
push esi
push dword [esp + 0x2c]
lea eax, [esp + 0x888]
push dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
push eax
call fcn.00162f88
mov dword [esp + 0x38], 0x71ec8b
xor dword [esp + 0x38], 0x27e8ba6a
add dword [esp + 0x38], 0xffffaca0
add dword [esp + 0x38], 0xffff6a95
xor dword [esp + 0x38], 0x279bba6a
mov dword [esp + 0x3c], 0x6a21d2
add dword [esp + 0x3c], 0xffff89ad
xor dword [esp + 0x3c], 0x64eb54
mov dword [esp + 0x34], 0x4980e0
add dword [esp + 0x34], 0x9f2b
add dword [esp + 0x34], 0xffffd6b5
imul eax, dword [esp + 0x34], 0x35
push esi
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0xf597417
push dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
call fcn.00164fd3
add esp, 0x28
mov esi, 0xa9aa1
jmp 0x166f15
mov dword [esp + 0x18], 0xffe086
imul eax, dword [esp + 0x18], 0x6c
push ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x874]
add dword [esp + 0x1c], 0x18f2
xor dword [esp + 0x1c], 0x6bf428be
mov dword [esp + 0x28], 0xcb5e9d
add dword [esp + 0x28], 0xffffe672
xor dword [esp + 0x28], 0xc2901a
mov dword [esp + 0x20], 0x67de59
shl dword [esp + 0x20], 6
xor dword [esp + 0x20], 0x19f3880b
mov dword [esp + 0x18], 0x545c45
add dword [esp + 0x18], 0xffff9b19
shr dword [esp + 0x18], 0xf
xor dword [esp + 0x18], 0xdc8c53
xor dword [esp + 0x18], 0xd6b755
push dword [esp + 0x18]
push 0
push eax
push dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
push 0
push 1
call fcn.001797a1
add esp, 0x1c
mov esi, 0x9b4b6
mov eax, 0xafd1f
push 0x5d
pop ecx
cmp esi, 0x54f5d
jne 0x166f1d
jmp 0x167b59
mov dword [esp + 0x18], 0x5250ae
xor edx, edx
mov eax, dword [esp + 0x18]
push 0xc
pop ecx
div ecx
push 0x42
mov dword [esp + 0x1c], eax
xor edx, edx
xor dword [esp + 0x1c], 0xe2d95149
xor dword [esp + 0x1c], 0xe2d771df
mov dword [esp + 0x18], 0x4dc032
xor dword [esp + 0x18], 0xe0a02225
shr dword [esp + 0x18], 5
mov eax, dword [esp + 0x18]
pop ecx
div ecx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x1858ba
push dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
call fcn.00175bb8
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa6c
ret