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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov r8, rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415b5738]
mov ecx, dword [0x1415b573c]
mov r9d, eax
not r9d
and r9d, ecx
not ecx
and ecx, eax
sub ecx, r9d
imul eax, ecx, 0xd332d99a
add eax, 0xb43f13b7
mov ecx, eax
and ecx, 0xde35e5cc
or eax, 0xde35e5cc
add eax, ecx
cmp eax, 0x711bd8f2
je 0x1400a2160
mov rsi, qword [r8]
test rsi, rsi
je 0x1400a2ad0
mov rcx, rdx
not rcx
or rcx, 0x3f
lea rax, [rdx + rcx]
lea r10, [0x14159a7f8]
lea r13, [rdx + rcx]
inc r13
nop word cs:[rax + rax]
mov edx, dword [0x1415b5740]
add edx, dword [0x1415b5744]
or edx, 0xa5ebc70f
cmp edx, 0x5dda4151
je 0x1400a21d0
movzx eax, word [r10 + rax*2 + 2]
mov ecx, eax
shr ecx, 0xb
mov edx, eax
not edx
or edx, 0x7ff
lea r9d, [rax + rdx]
inc r9d
nop word cs:[rax + rax]
mov eax, dword [0x1415b5748]
xor edx, edx
div dword [0x1415b574c]
and eax, 0xead753c
add eax, 0xdbf886f4
or eax, 0xde84ed18
cmp eax, 0x42f14ea6
je 0x1400a2210
nop word cs:[rax + rax]
mov eax, dword [0x1415b5750]
mov edx, dword [0x1415b5754]
mov edi, edx
and edi, eax
add eax, edx
sub eax, edi
or eax, 0xa11065
and eax, 0xa35b75
add eax, 0xf6b82b90
cmp eax, 0xfc72461
jb 0x1400a2240
movzx eax, r9w
cmp eax, 0x51d
jae 0x1400a2dfe
nop dword [rax]
mov edx, dword [0x1415b5770]
sub edx, dword [0x1415b5774]
mov r9d, edx
xor r9d, 0x244f3fda
xor edx, 0x40b08020
and edx, 0x40f6a66a
mov edi, r9d
and edi, 0xbf095995
imul edi, edx
mov edx, r9d
and edx, 0x40f6a66a
or r9d, 0x40f6a66a
imul r9d, edx
lea edx, [r9 + rdi]
add edx, 0x11889cba
cmp edx, 0xdd3c3644
ja 0x1400a2280
mov qword [rsp], rcx
lea rdx, [r13 + 1]
mov edi, 0x9b2a7981
lea r9, [0x14159a87a]
add r9, rax
nop dword [rax + rax]
mov ebx, dword [0x1415b5778]
mov ebp, dword [0x1415b577c]
mov r14d, ebx
and r14d, ebp
or ebx, ebp
add ebx, r14d
imul rbx, rdi
shr rbx, 0x3f
or ebx, 0x10488200
cmp ebx, 0xbab56d01
je 0x1400a22f0
movzx r10d, word [r10 + rdx*2]
and r10d, 0x7ff
sub r10, rax
xor edi, edi
lea rbx, [0x14159ad96]
mov r14d, 0xa8c63c3b
mov r15d, 0x931fa9c7
mov qword [rsp + 8], r13
nop word cs:[rax + rax]
mov eax, dword [0x1415b5780]
mov edx, dword [0x1415b5784]
mov ebp, eax
xor ebp, edx
not edx
and edx, eax
add edx, edx
sub edx, ebp
add edx, 0x5597ba30
imul r12, rdx, 0x456a6b07
shr r12, 0x3e
test r10, r10
sete al
cmp r9, rbx
sete dl
cmp r12d, 0x260c447b
je 0x1400a2350
or al, dl
jne 0x1400a2658
mov eax, dword [0x1415b5788]
imul eax, dword [0x1415b578c]
imul eax, eax, 0xda2e6bd1
and eax, 0x6a6ac076
add eax, 0xaac944d8
cmp eax, 0x56651b52
jb 0x1400a2396
lea r12, [r9 + 1]
mov rcx, rdi
or rcx, 1
mov eax, dword [0x1415b5790]
xor edx, edx
div dword [str.TeqO]
imul rax, rax, 0x3a2e4203
shr rax, 0x3d
add eax, 0x309a9c2b
cmp eax, 0xb978d654
ja 0x1400a23c5
movzx ebp, byte [r9]
nop
mov eax, dword [0x1415b5798]
or eax, dword [0x1415b579c]
imul rax, rax, 0x1ebb95ed
shr rax, 0x3b
or eax, 0x8a9f31bc
mov edx, eax
xor edx, 0x2fbd6eb4
and eax, 0x2110b
add eax, eax
sub eax, edx
cmp eax, 0xc7ad9aee
je 0x1400a23f0
cmp rdi, rsi
je 0x1400a265e
nop dword [rax]
mov eax, dword [0x1415b57a0]
imul eax, dword [0x1415b57a4]
imul eax, eax, 0x63a872d4
or eax, 0xcaf011f3
imul rax, rax, 0x58cf5c89
shr rax, 0x3d
cmp eax, 0xd8940506
je 0x1400a2430
cmp rdi, 0x300
je 0x1400a2d1a
mov eax, dword [0x1415b57b0]
mov edx, dword [0x1415b57b4]
mov r11d, edx
not r11d
mov r13d, eax
and r13d, r11d
or r11d, eax
not r11d
imul r11d, r13d
mov r13d, eax
and r13d, edx
or eax, edx
imul eax, r13d
add eax, r11d
add eax, 0x64d04920
or eax, 0xc56d03b2
and eax, 0xdfffebf2
cmp eax, 0x19c3f2b
jb 0x1400a2467
movzx eax, byte [r8 + rdi + 8]
nop word cs:[rax + rax]
mov edx, dword [0x1415b57b8]
mov r11d, dword [0x1415b57bc]
mov r13d, r11d
and r13d, edx
add edx, r11d
sub edx, r13d
imul rdx, r14
shr rdx, 0x3e
and edx, 1
mov r11d, edx
add r11d, r11d
neg r11d
add edx, r11d
add edx, 0xdcd7c49d
cmp edx, 0x53fcec13
jb 0x1400a24c0
cmp al, bpl
mov r13, qword [rsp + 8]
jne 0x1400a25e0
cmp r10, 1
je 0x1400a2658
add r10, 0xfffffffffffffffe
mov r11, rcx
nop dword [rax]
mov eax, dword [0x1415b57c0]
imul eax, dword [0x1415b57c4]
add eax, 0xd98a0ec6
or eax, 0x4caf0988
imul rax, r15
shr rax, 0x3f
cmp eax, 0x2a5e8797
ja 0x1400a2520
cmp r12, rbx
je 0x1400a2658
nop
mov eax, dword [0x1415b57c8]
xor eax, dword [0x1415b57cc]
mov edx, eax
xor edx, 0x40021cc8
xor eax, 0xa041e014
or edx, 0xbfc5e216
or eax, 0x403a1de9
and eax, edx
cmp eax, 0xe82c49b8
ja 0x1400a2550
cmp r11, rsi
je 0x1400a265e
movzx ebp, byte [r12]
nop dword [rax + rax]
mov eax, dword [0x1415b57d0]
xor edx, edx
div dword [0x1415b57d4]
imul rax, rax, 0x7f1f7c75
shr rax, 0x3e
add eax, 0x957ec717
mov ecx, eax
and ecx, 0x41a8016
xor eax, 0xa69a8056
lea eax, [rax + rcx*2]
cmp eax, 0x92a1fa79
ja 0x1400a2590
add rdi, 2
add r9, 2
movzx eax, byte [r8 + r11 + 8]
cmp al, bpl
je 0x1400a2350
nop dword [rax]
mov ecx, dword [str.sw__r_g]
or ecx, dword [0x1415b57f4]
mov r10d, ecx
and r10d, 0x7bd72401
mov edx, r10d
not edx
mov r9d, ecx
and r9d, 0x2152000
and edx, 0x7de28525
imul edx, r9d
and ecx, 0x79c20401
or r10d, 0x7de28525
imul r10d, ecx
add r10d, edx
or r10d, 0x8d82c8bb
xor edx, edx
cmp al, bpl
setb r9b
cmp r10d, 0xb6dacd6c
jb 0x1400a25e0
mov dl, r9b
mov rax, rdx
neg rax
neg edx
mov rcx, qword [rsp]
or rax, rcx
and ecx, edx
add rax, rcx
mov r12, rax
jmp 0x1400a26be
mov r12, qword [rsp]
jmp 0x1400a26be
mov r12, qword [rsp]
dec r12
nop word cs:[rax + rax]
mov eax, dword [0x1415b57a8]
mov edx, dword [0x1415b57ac]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
imul rax, rax, 0x7d0319fb
shr rax, 0x3d
imul eax, eax, 0x8a4b9cac
add eax, 0xdf13eca4
cmp eax, 0x70c959ae
ja 0x1400a2670
mov rax, r12
and rax, rsi
mov rbx, r12
or rbx, rsi
add rbx, rax
nop dword [rax]
mov eax, dword [0x1415b57f8]
add eax, dword [0x1415b57fc]
imul rax, rax, 0x1d488239
shr rax, 0x3b
imul eax, eax, 0x7400798b
add eax, 0x9e5fc5e5
cmp eax, 0xcedb29fd
ja 0x1400a26d0
xor r9d, r9d
movabs rdi, 0xcccccccccccccccd
mov r14d, 0x922a12cf
nop dword [rax]
cmp rsi, 0x301
jae 0x1400a2cd4
dec rsi
movzx r10d, byte [r8 + rsi + 8]
mov ecx, r13d
shl r10, cl
dec rbx
add r10, r9
mov rax, r10
mul rdi
mov r9, rdx
shr r9, 3
nop
mov eax, dword [0x1415b5860]
mov ecx, dword [0x1415b5864]
mov edx, ecx
not edx
mov r11d, eax
and r11d, edx
or edx, eax
not edx
imul edx, r11d
mov r11d, eax
and r11d, ecx
or eax, ecx
imul eax, r11d
add eax, edx
mov ecx, eax
xor ecx, 0x734436c7
or eax, 0x8cbbc938
and eax, ecx
imul eax, eax, 0x771819a5
xor eax, 0x5ed52620
cmp eax, 0xa55efb16
ja 0x1400a2740
lea rax, [r9 + r9]
lea rax, [rax + rax*4]
mov r15, r10
sub r15, rax
cmp rbx, 0x300
jae 0x1400a2800
mov eax, dword [0x1415b5888]
sub eax, dword [0x1415b588c]
imul rcx, rax, 0x1267a611
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
mov ecx, eax
not ecx
and ecx, 0xf61c778d
mov edx, eax
and edx, 2
imul edx, ecx
mov ecx, eax
and ecx, 0xfffffffd
or eax, 0xf61c778d
imul eax, ecx
add eax, edx
xor eax, 0xaaee64ec
cmp eax, 0xdc8d7cc6
ja 0x1400a2870
jmp 0x1400a2840
mov eax, dword [0x1415b5870]
xor edx, edx
div dword [0x1415b5874]
mov ecx, eax
and ecx, 0xb0490490
xor ecx, 0x80080410
and eax, 0x80080410
or eax, ecx
or eax, 0x2a2000b
cmp eax, 0xe879e870
ja 0x1400a2800
test r15, r15
je 0x1400a2880
mov byte [r8 + 0x30c], 1
jmp 0x1400a2880
mov eax, dword [0x1415b5890]
xor edx, edx
div dword [0x1415b5894]
and eax, 0x7fffffff
xor eax, 0x11249aa2
add eax, 0xeacd520e
not eax
and eax, 0x760edf11
mov byte [r8 + rbx + 8], r15b
cmp eax, 0xb11b8433
jne 0x1400a2880
mov byte [r8 + rbx + 8], r15b
jmp 0x1400a2840
mov eax, dword [0x1415b5878]
xor edx, edx
div dword [0x1415b587c]
or eax, 0x57a0218a
imul rax, r14
shr rax, 0x3c
add eax, 0x9a2c3b58
cmp eax, 0xce2993f3
ja 0x1400a2880
nop word [rax + rax]
mov eax, dword [0x1415b5880]
mov ecx, dword [0x1415b5884]
not eax
not ecx
or ecx, eax
not ecx
lea eax, [rcx + 0x11677cdb]
mov edx, eax
and edx, 0x10bdfc69
xor eax, 0x2f420396
add eax, ecx
add eax, 0x11677cdb
sub eax, edx
or eax, 0xc66776ab
cmp eax, 0x98e24620
je 0x1400a28b0
test rsi, rsi
jne 0x1400a2710
mov eax, dword [0x1415b5808]
xor edx, edx
div dword [0x1415b580c]
nop word cs:[rax + rax]
mov eax, dword [0x1415b5810]
sub eax, dword [0x1415b5814]
not eax
or eax, 0xde8de212
xor eax, 0x6fff95b0
add eax, 0x598f28fc
cmp eax, 0x7c9152c1
jb 0x1400a2910
cmp r10, 0xa
jae 0x1400a2b25
mov eax, 0x300
nop word cs:[rax + rax]
mov ecx, dword [0x1415b5818]
add ecx, dword [0x1415b581c]
mov edx, ecx
xor edx, 0xa0080080
and edx, ecx
or edx, 0x49520a6f
and edx, 0xe97ecfef
mov rcx, qword [r8]
add rcx, r12
cmp rcx, 0x300
cmovae rcx, rax
cmp edx, 0xc1386fc9
ja 0x1400a2950
mov qword [r8], rcx
add dword [r8 + 0x308], r12d
test rcx, rcx
je 0x1400a2ad0
xor r9d, r9d
mov r10d, 0x8a7a2c71
nop word [rax + rax]
mov eax, dword [0x1415b5820]
mov edx, dword [0x1415b5824]
mov r11d, eax
not r11d
or eax, edx
not edx
or edx, r11d
not edx
not eax
or eax, edx
mov edx, eax
not edx
or eax, 0x2900800c
and eax, 0xade88aff
and edx, 0x50133000
sub edx, eax
or edx, 0x7a5c5b58
cmp edx, 0x166214a1
jb 0x1400a29b0
mov rax, rcx
not rax
lea rcx, [rax + rcx*2]
cmp byte [r8 + rcx + 8], 0
jne 0x1400a2ad0
test r9b, r9b
je 0x1400a2a20
mov qword [r8], rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415b5828]
sub eax, dword [0x1415b582c]
xor eax, 0xb95688d9
imul rax, r10
shr rax, 0x3f
mov qword [r8], rcx
cmp eax, 0xb4cc08e5
je 0x1400a2a20
mov eax, dword [0x1415b5830]
xor edx, edx
div dword [0x1415b5834]
mov edx, dword [0x1415b5838]
mov eax, dword [0x1415b583c]
mov r11d, edx
xor r11d, eax
not r11d
and r11d, eax
add r11d, r11d
sub eax, r11d
add eax, edx
mov edx, eax
and edx, 0xf371c18e
or eax, 0xf371c18e
add eax, edx
mov edx, eax
not edx
and edx, 0x5a5a4e26
and eax, 0xa5a5b1d9
sub eax, edx
mov edx, eax
not edx
and edx, 0xae641a47
mov r11d, eax
and r11d, 0x519be5b8
imul r11d, edx
mov edx, eax
and edx, 0xae641a47
or eax, 0xae641a47
imul eax, edx
add eax, r11d
cmp eax, 0x2a77c765
jb 0x1400a2a51
test rcx, rcx
jne 0x1400a29b0
nop dword [rax]
mov eax, dword [0x1415b5800]
xor eax, dword [0x1415b5804]
mov ecx, eax
not ecx
and ecx, 0x3d0670fe
mov edx, eax
and edx, 0x2f98f01
imul edx, ecx
mov ecx, eax
and ecx, 0x3d0670fe
or eax, 0x3d0670fe
imul eax, ecx
add eax, edx
and eax, 0x36782066
add eax, 0x916c3700
cmp eax, 0x65e3f924
jb 0x1400a2ad0
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r10d, r10d
mov rsi, r12
jmp 0x1400a2b3a
cmp rcx, 0xa
jb 0x1400a293e
mov rcx, r9
mov r9, rsi
not r9
mov rax, rcx
mul rdi
lea rsi, [r9 + rsi*2]
mov r9, rdx
shr r9, 3
lea rax, [r9 + r9]
lea rdx, [rax + rax*4]
mov rax, rcx
sub rax, rdx
cmp rsi, 0x300
jae 0x1400a2b80
test r10b, r10b
jne 0x1400a2ccd
jmp 0x1400a2c90
mov edx, dword [0x1415b5840]
sub edx, dword [0x1415b5844]
mov r11d, edx
or r11d, 0x299b6b8f
mov ebx, edx
not ebx
and ebx, 0x6641440
mov ebp, r11d
and ebp, 0x92a0bd
imul ebp, ebx
and r11d, 0x76d5f42
or edx, 0x7ff7fcf
imul edx, r11d
add edx, ebp
or edx, 0xfaa02277
cmp edx, 0x5755ad00
jb 0x1400a2b80
test rax, rax
je 0x1400a2b30
mov byte [r8 + 0x30c], 1
nop
mov eax, dword [0x1415b5848]
mov edx, dword [0x1415b584c]
mov r11d, eax
not r11d
and r11d, edx
mov ebx, edx
not ebx
and ebx, eax
imul ebx, r11d
mov r11d, eax
and r11d, edx
or eax, edx
imul eax, r11d
add eax, ebx
or eax, 0x572d63b7
add eax, 0x35e799d1
imul rax, rax, 0xd9c66a3
shr rax, 0x3b
cmp eax, 0x4b75ebf8
ja 0x1400a2be0
jmp 0x1400a2b30
mov eax, dword [0x1415b5858]
xor eax, dword [0x1415b585c]
mov edx, eax
not edx
and edx, 0x1ec8b4d4
mov r11d, eax
and r11d, 0x1374b2b
imul r11d, edx
mov edx, eax
and edx, 0x1ec8b4d4
or eax, 0x1ec8b4d4
imul eax, edx
add eax, r11d
and eax, 0x1586f980
imul rdx, rax, 0x29a683ed
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x43ffb627
ja 0x1400a2c30
jmp 0x1400a2b30
mov edx, dword [0x1415b5854]
add edx, dword [0x1415b5850]
mov r11d, edx
and r11d, 0xcac9ea2
xor edx, 0xcac9ea2
lea edx, [rdx + r11*2]
add edx, 0x27a20d79
or edx, 0xe012c983
mov byte [r8 + rsi + 8], al
cmp edx, 0xe00ab5f
jae 0x1400a2c30
mov byte [r8 + rsi + 8], al
jmp 0x1400a2c90
ud2
mov eax, dword [0x1415b57d8]
xor edx, edx
div dword [0x1415b57dc]
mov ecx, eax
and ecx, 0x31c1c68d
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x31c1c68d
mov ecx, eax
not ecx
and ecx, 0xd0d95dc3
mov edx, eax
and edx, 0x2f26a23c
imul edx, ecx
mov ecx, eax
and ecx, 0xd0d95dc3
or eax, 0xd0d95dc3
imul eax, ecx
add eax, edx
add eax, 0xc4cbd762
cmp eax, 0x4b4675ec
jbe 0x1400a2d70
ud2
mov eax, 0xb996618b
nop word cs:[rax + rax]
mov ecx, dword [0x1415b57e0]
and ecx, dword [0x1415b57e4]
mov edx, ecx
not edx
or ecx, 0x78e2157c
or edx, 0x871dea83
and edx, ecx
not edx
imul rdx, rax
shr rdx, 0x3f
or edx, 0x2b23d886
ud2
mov eax, dword [0x1415b5758]
xor edx, edx
div dword [0x1415b575c]
add eax, 0x47437b62
xor eax, 0x4fa90f18
cmp eax, 0xa4c0c168
jbe 0x1400a2e20
ud2
mov eax, dword [0x1415b5760]
and eax, dword [0x1415b5764]
mov ecx, eax
xor ecx, 0x80c85066
and ecx, eax
mov eax, ecx
or eax, 0x3f078d11
xor eax, 0xf4bc7a12
or ecx, 0xb4385ed
and ecx, eax
ud2