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

Disassembly:
add esi, edx
lea esp, [esp + 8]
jmp 0x234c3ec
inc ecx
not edx
lea eax, [eax + ecx*8 + 0x182da0b3]
mov dword [esp + ecx + 2], 0x6a219b9a
neg edx
or ecx, dword [esp + ecx*4 - 4]
rol edx, 1
lea ecx, [ecx*4 - 0x78f8696b]
jmp 0x16a72c8
mul ecx
mov dword [esi], edx
push 0xd505a93e
mov dword [esp + 4], 0x3e047521
mov dword [esi + 4], eax
mov edx, dword [esp + 4]
pop edx
pop edx
lea edi, [edi + edx - 0x3e047525]
lea eax, [edx + edx - 0x554065fa]
and dl, al
adc edx, eax
mov eax, dword [edi + eax*2 - 0x4d910890]
lea ecx, [edx + edx*4 + 0x600848ba]
sar cx, cl
xor eax, ebx
jmp 0x1449713
neg eax
xor ebx, edx
add esi, edx
movsx edx, cl
xor ax, word [ecx + edi]
btc cx, dx
lea edi, [edi + ecx + 1]
neg edx
mov cl, byte [ebp + ecx*2 - 2]
rol dword [esp + edx*2], 0x51
lea edx, [edx*2 + 0x89abc9f]
lea ebp, [ebp + edx*2 - 0x1135793d]
xor cl, bl
btc dx, dx
sbb edx, 0x6ca3113e
xor cl, 0xbd
and dx, dx
shl byte [esp + 2], 0xe1
inc cl
ror edx, 0x41
call fcn.016ed67a
mov ax, word [edi]
mov ecx, 0x992d0409
movzx edx, cx
dec edx
mov cl, byte [edi + edx*2 - 0x80e]
shr edx, 0x62
rol dx, 0x81
ror dx, 0xa5
lea edi, [edx + edi - 0x200e]
sar edx, 0x7a
shr ax, cl
btc edx, 0x15
movsx ecx, dl
mov word [edi + edx - 0x200000], ax
movzx eax, dx
dec cl
and cx, ax
mov edx, dword [ebp + edx*2 - 0x400000]
xadd ecx, eax
lea ebp, [ebp + ecx + 4]
xchg ecx, eax
neg ax
xor cx, cx
xor edx, ebx
rol edx, 2
neg ecx
sal ax, 0xa9
dec edx
rol edx, 1
rol eax, 0x75
neg edx
bts ecx, eax
cbw
xor edx, 0xa5965624
xor ebx, edx
add esi, edx
cdq
bts edx, 0x8e
inc edx
xor eax, esi
jmp eax
lea eax, [eax + ecx*2 - 0x5d1098dc]
neg eax
lea eax, [eax + edx*2 - 0x1b96b06d]
or dl, 0x97
rol eax, 1
neg eax
or ecx, edx
rol dl, 0xa3
jnp 0x2464380
syscall
inc ecx
push esp
call fcn.01730c5e
mov ecx, 0xe623b139
mov cx, word [edi]
mov ax, word [edi + 2]
mov edx, 0x7e9b77b9
not dl
bswap edx
lea edi, [edi + edx - 0x46779b7c]
sub dl, dh
shl dl, 0xa2
sal dl, 0x64
adc cx, ax
lea eax, [edx + edx - 0x58ca70c3]
bt dx, ax
dec dx
mov word [eax + edi - 0x3424c6bd], cx
xadd dl, dh
lea esi, [esi + eax - 0x3424c6c1]
or edx, edx
mov ecx, edx
mov eax, dword [esi + eax*2 - 0x68498d7a]
xor eax, ebx
dec ecx
rol edx, 0x46
neg eax
bts cx, 5
inc eax
push edx
rol eax, 1
xchg dword [esp + ecx - 0x4677bf79], ecx
lea eax, [eax + ecx - 0x4e45d0ed]
xor ebx, eax
call fcn.015e01d3
xchg word [esp + eax - 0xb0eb], ax
call fcn.022a293d
mov ecx, 0xef8edd13
sub ecx, ecx
mov edx, dword [ebp + ecx*2]
push ecx
lea ebp, [ebp + ecx*2 + 4]
shl dword [esp + ecx*2], 0xff
xor edx, ebx
jmp 0x1544a4a
neg edx
bt ecx, ecx
mov eax, dword [esp + ecx]
sub byte [esp + ecx], al
inc edx
and cl, ah
jge 0x16d2755
jb 0x140075f
mov ecx, 0x8d8f7c13
call fcn.0140c4a4
bswap eax
jno 0x24190f6
push edx
sub ecx, 0x5e3692bf
xor eax, 0xc9ac753a
add dword [esp + ecx - 0x4258492a], 0xc090b1b
not eax
shr ecx, 0xd8
xor ebx, eax
shr word [esp + ecx*2 - 0x82], 0x64
add ebp, eax
mov word [esp + ecx*2 - 0x82], cx
and ecx, edx
mov edx, dword [esi + ecx - 2]
ja 0x2386f59
xor edx, 0xa339ab93
btr eax, eax
rol edx, 1
shl ecx, 0xa8
btc ecx, 0xb2
inc edx
ror edx, 1
neg cl
setl cl
sbb edx, 0xff36e4bd
shl al, 0x26
ror cx, 0x21
xor edx, 0xc29d6513
sub al, ch
xor cl, ch
xor ebx, edx
dec eax
push ecx
add esi, edx
lea edx, [eax + ecx*4 + 0xa96571c]
shl edx, 0xea
lea edi, [edi + ecx - 0x40002]
pop eax
movzx edx, word [ecx + edi - 0x40000]
cmovb cx, ax
cwde
rol eax, 0xd0
xor dx, bx
ror ecx, 5
xor eax, ecx
not dx
neg dx
add dx, 0x4ba1
sal cl, 0xc7
ror dx, 1
xor bx, dx
lea ebp, [ebp + ecx*4 - 0x8002]
shl eax, 0xe5
btc eax, eax
jb 0x12f9b12
mov word [ecx + ebp - 0x2000], dx
dec ecx
jae fcn.0167909e
mov edx, dword [ebp]
mov eax, 0xe0bcf939
add ebp, 4
xor edx, ebx
inc edx
dec ax
lea ecx, [eax + eax*8 + 0x8837d00]
bts ecx, 0x35
rol edx, 3
xor eax, ecx
sbb cx, ax
sbb edx, 0x811a34a7
not edx
inc edx
dec eax
sub ecx, ecx
ror edx, 1
btc cx, 8
inc al
xor ebx, edx
bt eax, ecx
cbw
cwde
adc esi, edx
bt eax, ecx
mov edx, edi
dec eax
lea edi, [ecx + edi - 0x104]
neg ecx
adc eax, eax
mov dword [edi], edx
jle 0x16a23f8
mov ecx, 0xbc296c98
mov edx, 0x182d8397
mov eax, dword [ebp + edx - 0x182d8397]
lea ebp, [edx + ebp - 0x182d8393]
add edx, 0x79112100
xor eax, ebx
ror eax, 3
or ecx, ecx
not dl
jne 0x1600ad7
dec eax
bts edx, edx
xchg dx, cx
sar cx, 0x4c
neg eax
bswap eax
and edx, ecx
rol cx, 0x2f
push ecx
xor eax, 0xec32a527
not word [esp + 2]
not dword [esp]
not eax
xchg word [esp], cx
rol ecx, 0x12
pop ecx
xor ebx, eax
add edi, eax
mov ax, word [esi]
ror cl, 0x47
sar ecx, 0x9e
mov cl, byte [esi + 2]
and edx, edx
sub dx, dx
imul edx, edx
lea esi, [esi + edx + 2]
ror dl, 7
and edx, 0x472fef94
shl ax, cl
sar edx, 0xc4
mov ecx, edx
mov word [edx + esi], ax
movzx eax, cx
add edx, edi
jmp edx
lea edx, [eax + 0x1728c080]
shl al, 0xa3
js fcn.0141de63
xor ebx, edx
inc word [esp + 5]
jg 0x129c82f
neg edx
push eax
add al, 0x98
sal al, 0xa1
xor ebx, edx
and dword [esp + eax - 0x4cea751e], 0xdb5b987
sal eax, cl
adc ebp, edx
ror word [esp + ecx - 0x2f8e04fd], 0x64
movzx edx, byte [esp + ecx - 0x2f8e04f5]
setb byte [esp + eax + 0xa]
add dword [esp + ecx], ecx
ror edx, 1
add edx, 0x951fcabf
shl ax, 0x6f
inc byte [esp + ecx*2 + 3]
xor edx, 0x10878b18
xchg byte [esp + ecx*2 + 2], al
jmp 0x1407c6c
push 0x83b2c9aa
pushfd
mov dword [esp + 4], 0x472d6c9
lea esp, [esp + 4]
call fcn.022e4b17
mov ecx, 0x7719e18e
mov eax, 0x65a2fb2e
shr eax, 0x4f
lea esi, [esi + eax*2 - 0x1968e]
cbw
mov edx, dword [esi + ecx - 0x7719e18e]
and cx, 0xaa10
bt eax, ecx
sar ecx, 0x7d
xor edx, ebx
sar ecx, 0x5b
rol edx, 3
jmp 0x16e7be3
mov eax, ecx
sar word [esp + eax - 2], 0x6c
mov eax, dword [esi + ecx + 2]
lea esi, [ecx + esi + 2]
sbb ecx, ecx
or edx, eax
ror cl, 0xe2
xor edx, ecx
xor cl, 0x19
xor dword [esp], 0x480e1b24
movsx eax, cl
mov dword [esi], edx
lea ecx, [ecx + 0x6a2b9938]
mov dword [esp + ecx - 0x6a2b991e], ebp
ret
sar dl, 1
sar edx, 0x79
ror dl, 1
xor bl, al
add eax, esp
or dx, 0xc684
or edx, edx
btr edx, 0x19
mov byte [eax], cl
movzx eax, dx
not al
lea ecx, [eax + edx*2 - 0x55e77480]
lea edi, [eax + edi - 0xff0f]
mov ecx, dword [eax + edi - 0xff0b]
push edx
inc word [esp + eax - 0xff0a]
not eax
neg cx
xor ebx, eax
shl dx, cl
add ebp, eax
movsx eax, cl
jmp ebp