Function at 0x197eaf6
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
call fcn.01237d00
mov ecx, 0x46b802ad
lea esi, [esi + ecx - 0x46b802b1]
mov eax, dword [esi + ecx - 0x46b802ad]
xor eax, ebx
add ecx, ecx
call fcn.018dc619
push esi
push edi
bt edx, 0xab
push ebx
movzx ebx, dx
mov ebx, eax
sub edx, 0xb33e30a2
mov edx, ebx
mov eax, 0xc22e0089
or eax, eax
sal edx, 2
sar al, 0x21
lea eax, [eax*4 - 0x2f67c0cd]
mov eax, ebp
jb 0xf8b01e
dec eax
adc esi, eax
inc esp
or edx, ecx
jne fcn.019363ab
dec dl
neg eax
sbb ecx, eax
push ecx
xor bl, dl
sub ecx, ecx
push ecx
jp 0x18f644a
lea esp, [esp + 4]
call eax
mov edx, 0x58030ca4
lea edi, [edx + edx*8 + 0x98d01a2]
call fcn.018d4e6b
rol al, 1
or dl, dh
sar dl, 0x21
xor al, 0xa0
lea edx, [edx + edx*4 - 0x3343f3c3]
imul edx, edx
push edx
rol al, 1
jmp 0x190f08d
inc ebp
xor ecx, esi
jmp 0x1205925
inc esp
movzx edx, word [esp + ebp*2 - 0x17601]
inc ecx
rol ecx, 1
inc ecx
inc ecx
movsx ebx, bp
inc ecx
xor ecx, 0xad1365a1
push ebx
dec eax
shl edi, 0x38
inc edi
lea ecx, [ecx + eax*4 - 0x40ee95e]
call fcn.018f066c
mov word [ebp + ecx*4], dx
or al, ch
pop edx
xchg dword [esp + ecx + 4], ecx
mov dword [esp + edx], edi
ret 4
and edx, edx
inc al
dec dword [esp + edx - 0xc8379d1]
inc dx
pop edx
neg al
xor bl, al
neg dl
and edx, edx
ja 0xfea144
or dx, ax
adc edi, ecx
not edx
lea ecx, [edx*4 + 0x583b1bab]
ror al, 0xe5
movzx dx, byte [eax + ebp]
call fcn.0102f24a
dec esp
mov dword [esp + ebp*2 - 0x17602], eax
inc esi
mov ecx, dword [ebp + ebp - 0xbb01]
setne byte [esp + ebp*2 - 0x175fd]
jns 0x103a645
mov eax, dword [esi - 4]
xor eax, ebx
push 0x5332f093
not eax
bswap eax
sar byte [esp + 2], 3
sar dword [esp], 0xaf
sar byte [esp + 1], 0x45
neg eax
xor eax, 0x6daf750c
push 0x79afc28b
mov edx, dword [esp + 4]
xor ebx, eax
pop ecx
add edi, eax
xadd dword [esp + edx*2 - 0x1fa1a], ecx
xor word [esp + edx*2 - 0x1fa1a], cx
jle fcn.0121e073
mov ax, word [ebp + edx*4 - 0x3f434]
dec cl
pop edx
mov cx, word [ecx + ebp - 0xfd0a]
bswap edx
adc ax, cx
sub edx, edx
movsx ecx, dx
not edx
mov word [ebp + ecx*2 + 2], ax
ror dl, 0xe7
movzx edx, byte [esi + ecx*2 - 5]
lea esi, [esi + ecx*2 - 5]
lea eax, [ecx*2 - 0x1addbce9]
sub cx, ax
xor dl, bl
xor ecx, eax
lea eax, [ecx - 0x237e45c8]
neg dl
inc dl
bts ecx, 0x3d
ror dl, 1
lea eax, [eax + 0x5b5301b]
shl cl, 0xc1
add cl, cl
inc dl
cbw
neg ecx
neg dl
add ax, ax
push eax
jnp 0x1005ab7
mov edx, 0x503ae519
mov eax, dword [ebp + edx - 0x503ae519]
mov ecx, edx
mov cx, word [ebp + edx - 0x503ae515]
bswap edx
dec edx
mov word ss:[eax + edx - 0x19e53a4f], cx
mov eax, dword [esi + edx - 0x19e53a53]
xor eax, ebx
btr edx, edx
setb dl
movzx ecx, dx
rol eax, 1
not eax
ror eax, 3
sal ecx, 0x94
xchg edx, ecx
dec eax
xor dx, cx
rol cx, 0xe1
not eax
xchg edx, ecx
xor ebx, eax
add edi, eax
lea eax, [ecx + ecx*2 - 0x156019e8]
lea ecx, [edx + edx - 0x58642cc2]
shr ecx, cl
mov edx, dword [edx + esi - 0x19e57408]
lea esi, [esi + ecx - 0xb]
rol eax, 0xe
xor edx, ebx
shr cl, cl
neg edx
btr ecx, ecx
lea edx, [edx + ecx*2 - 0x23b53ca4]
rol ecx, 0x99
shl eax, 0xff
not al
ror edx, 3
dec edx
btr eax, ecx
setb al
xor ebx, edx
bts ax, 0x94
mov dword [ecx + ebp + 2], edx
lea edx, [ecx*4 + 0x4823eb9d]
rol dx, 0x21
dec al
lea ebp, [ebp + ecx*2 + 2]
add ecx, edi
jmp ecx