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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x1415a1220]
xor edx, edx
div dword [0x1415a1224]
not eax
or eax, 0x77da8a2f
mov ecx, eax
not ecx
and eax, 0x26f57d2a
mov edx, ecx
and edx, 0x80000d0
imul edx, eax
mov eax, ecx
and eax, 0x257500
or ecx, 0x26f57d2a
imul ecx, eax
add ecx, edx
or ecx, 0xbde2a991
cmp ecx, 0x72242fd
jb 0x140187273
mov eax, dword [0x1415a1228]
mov ecx, dword [0x1415a122c]
mov edx, eax
or edx, ecx
not eax
not ecx
and ecx, eax
not ecx
and ecx, edx
add ecx, 0x46033cec
or ecx, 0x4141be0f
add ecx, 0x8059c24e
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r14, rsp
cmp ecx, 0x5cf734d0
jae 0x14018728f
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x14018721f
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401872a0
movzx r10d, word [rdi + 0x10]
test r10w, r10w
je 0x140187330
mov word [rdi + 0x10], 0
mov rcx, qword [rdi + 8]
nop dword [rax]
mov eax, dword [0x1415a1288]
or eax, dword [0x1415a128c]
xor eax, 0x844c3044
mov edx, eax
and edx, 0xdc4c34cc
mov r8d, edx
not r8d
and r8d, 0x94c540
mov r9d, eax
and r9d, 0xdc48308c
imul r9d, r8d
and eax, 0x40440
or edx, 0x94c540
imul edx, eax
add edx, r9d
cmp edx, 0xcdea8230
je 0x1401872c0
mov rax, qword [rdi]
xor edx, edx
mov r8b, 1
nop word cs:[rax + rax]
test r8b, r8b
je 0x140187320
mov qword [rbp], r10
jmp 0x140187866
mov eax, dword [0x1415a1230]
mov ecx, dword [0x1415a1234]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add eax, ecx
add eax, 0xb49ec1f4
not eax
or eax, 0x11600890
and eax, 0xd9786cb4
cmp eax, 0x39b6151b
je 0x140187330
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
nop dword [rax]
mov edx, dword [0x1415a1238]
sub edx, dword [0x1415a123c]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x2583dffa
and r8d, 0x1a7c2005
imul r8d, r9d
mov r9d, edx
and r9d, 0x1a7c2005
or edx, 0x1a7c2005
imul edx, r9d
add edx, r8d
or edx, 0xdcecac46
mov r8d, edx
not r8d
or r8d, 0x942b1f71
add edx, r8d
inc edx
cmp edx, 0xd2ed87ab
ja 0x140187370
cmp rax, rcx
je 0x140187418
mov edx, dword [0x1415a1240]
sub edx, dword [0x1415a1244]
imul rdx, rdx, 0x372bcb63
mov r8, rdx
shr r8, 0x3b
not r8d
and r8d, 0x7c5c5c96
bt rdx, 0x3b
sbb r8d, 0
neg r8d
or r8d, 0x565a266
cmp r8d, 0x6f6e25ae
jae 0x14018746a
jmp 0x1401874c2
mov ecx, dword [0x1415a12a0]
mov eax, dword [0x1415a12a4]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xa800000
or eax, 0x20610a8a
and eax, ecx
and eax, 0x2ae10a8a
imul rcx, rax, 0x1e87da19
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x385bf96c
jbe 0x140187bd9
jmp 0x140187c31
mov edx, dword [0x1415a124c]
add edx, dword [0x1415a1248]
imul rdx, rdx, 0x4e947bbb
shr rdx, 0x3b
mov r8d, edx
not r8d
and r8d, 0xcdd0cc22
mov r9d, edx
and r9d, 0xfffffffd
imul r9d, r8d
mov r8d, edx
and r8d, 2
or edx, 0xcdd0cc22
imul edx, r8d
add edx, r9d
imul edx, edx, 0x6efe92be
lea r9, [rax + 1]
mov qword [rdi], r9
cmp edx, 0xdd46acf5
jne 0x1401874cb
lea rdx, [rax + 1]
mov qword [rdi], rdx
jmp 0x14018746a
movzx r8d, byte [rax]
test r8b, r8b
js 0x140187552
nop word cs:[rax + rax]
mov eax, dword [0x1415a1260]
xor edx, edx
div dword [0x1415a1264]
imul eax, eax, 0x20069f8
cmp eax, 0x4299c5dd
je 0x1401874e0
nop dword [rax + rax]
mov eax, dword [0x1415a1268]
mov edx, dword [0x1415a126c]
mov r10d, eax
not r10d
and r10d, edx
mov r11d, edx
not r11d
and r11d, eax
imul r11d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r11d
imul eax, eax, 0xbb4adefd
add eax, 0xab2bd9b6
not eax
and eax, 0xb429b94a
add eax, 0xb8102e3d
jb 0x140187500
mov r12d, r8d
jmp 0x14018785d
mov edx, r8d
and edx, 0x1f
nop dword [rax + rax]
mov r9d, dword [0x1415a1250]
sub r9d, dword [0x1415a1254]
mov r10d, r9d
xor r10d, 0xe89147e1
and r10d, r9d
mov r9d, r10d
not r9d
mov r11d, r10d
and r11d, 0x9b791403
and r9d, 0x6486ebfc
imul r9d, r11d
mov r11d, r10d
and r11d, 0x6486ebfc
or r10d, 0x6486ebfc
imul r10d, r11d
add r9d, r10d
add r9d, 0x121e5c4b
cmp r9d, 0x26cc1393
jb 0x140187560
xor r9d, r9d
test r9b, r9b
jne 0x140187600
mov r10d, dword [0x1415a1258]
and r10d, dword [0x1415a125c]
or r10d, 0xc6a4065
add r10d, 0xde7ec031
and r10d, 0x17dfffbe
xor r10d, 0x10146d77
lea r9, [rax + 2]
mov qword [rdi], r9
cmp r10d, 0xbf4647b2
jbe 0x140187609
lea r9, [rax + 2]
mov qword [rdi], r9
jmp 0x1401875c6
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14018778b
xor r10d, r10d
test r10b, r10b
je 0x14018762b
lea r10, [rax + 3]
mov qword [rdi], r10
lea r10, [rax + 3]
nop
mov r15d, dword [0x1415a1270]
add r15d, dword [0x1415a1274]
imul r15, r15, 0x6528d4eb
shr r15, 0x3e
or r15d, 0x16ef89e8
mov qword [rdi], r10
cmp r15d, 0x6a5ac2ec
ja 0x140187630
movzx r9d, byte [r9]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
mov r12d, edx
shl r12d, 0xc
or r12d, r9d
nop word cs:[rax + rax]
mov r11d, dword [0x1415a1278]
add r11d, dword [0x1415a127c]
mov r15d, r11d
xor r15d, 0xd201419b
and r11d, 0x2dfebe64
add r11d, r11d
sub r11d, r15d
imul r11d, r11d, 0xc73e5d0a
or r11d, 0x21b2936d
cmp r11d, 0x694db471
jb 0x140187680
cmp r8b, 0xf0
jb 0x1401877a5
add rax, 4
mov qword [rdi], rax
and edx, 7
shl edx, 0x12
shl r9d, 6
nop word [rax + rax]
mov r8d, dword [0x1415a1280]
sub r8d, dword [0x1415a1284]
mov r11d, r8d
and r11d, 0x5f5985ae
add r11d, r11d
neg r11d
add r8d, r11d
add r8d, 0x5f5985ae
mov r11d, r8d
xor r11d, 0x80600100
xor r8d, 0x57946acd
mov r15d, r8d
and r15d, 0x7f0ff63e
and r11d, 0x80f009c1
imul r11d, r15d
mov r15d, r8d
and r15d, 0x80f009c1
or r8d, 0x80f009c1
imul r8d, r15d
add r8d, r11d
cmp r8d, 0xe0c39a4a
je 0x1401876e0
movzx r8d, byte [r10]
mov r10d, r8d
not r10d
or r10d, 0x199cf740
and r10d, 0x199cf753
and r8d, 0x2c
or r8d, r10d
xor r9d, r8d
xor r9d, 0x199cf753
mov r12d, r9d
xor r12d, edx
not edx
and edx, r9d
add r12d, r9d
sub r12d, edx
jmp 0x1401877a8
shl edx, 6
mov r12d, edx
xor r12d, r11d
not r11d
and r11d, edx
add r12d, edx
sub r12d, r11d
jmp 0x14018785d
mov rax, r10
xor edx, edx
nop word [rax + rax]
test dl, dl
jne 0x1401877b0
cmp r12d, 0xffff
jbe 0x14018785a
lea edx, [r12 + 0xff0000]
shr edx, 0xa
nop dword [rax]
mov r8d, dword [0x1415a1290]
add r8d, dword [0x1415a1294]
mov r9d, r8d
xor r9d, 0x5bd60d06
xor r8d, 0x12d40402
and r8d, 0x16dd044a
add r8d, r8d
sub r9d, r8d
add r9d, 0x16dd044a
cmp r9d, 0xc4d27632
ja 0x1401877d0
or edx, 0xd800
mov r8d, r12d
and r8d, 0x3ff
mov r10d, edx
nop
mov edx, dword [0x1415a1298]
mov r9d, dword [0x1415a129c]
not r9d
add edx, r9d
add edx, 0xe7d4cf7a
cmp edx, 0x79d3f208
ja 0x140187820
mov qword [rbp], r10
movzx edx, r8w
or edx, 0xdc00
mov word [rdi + 0x10], dx
mov edx, 1
jmp 0x140187866
mov r9, rax
mov qword [rbp], r12
xor edx, edx
mov rax, r9
sub rcx, rax
add rcx, 3
mov rax, 0xffffffffffffffff
cmovae rax, rcx
shr rax, 2
lea rcx, [rax + rdx]
add rax, rdx
inc rax
cmp rcx, 3
mov r13d, 4
cmovae r13, rax
mov rax, r13
shr rax, 0x3e
jne 0x140187b0d
lea r15, [r13*2]
nop dword [rax]
mov eax, dword [0x1415a12d0]
mov ecx, dword [0x1415a12d4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
or ecx, 0x5561e79f
add eax, ecx
inc eax
mov ecx, eax
or ecx, 0x49000730
not eax
or eax, 0x94812805
and eax, ecx
not eax
or eax, 0x227ed0ca
cmp eax, 0xc9a30301
je 0x1401878b0
mov eax, dword [0x1415a12d8]
sub eax, dword [0x1415a12dc]
mov ecx, eax
not ecx
and ecx, 0x237dd16
mov edx, eax
and edx, 0x1c822e9
imul edx, ecx
mov ecx, eax
and ecx, 0x237dd16
or eax, 0x237dd16
imul eax, ecx
add eax, edx
or eax, 0xfc9920ca
add eax, 0x629c5536
cmp eax, 0xd067920d
jbe 0x140187966
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1401ac910
add rsp, 0x20
xor r12d, r12d
nop dword [rax]
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1401ac910
add rsp, 0x20
test r12b, r12b
jne 0x140187970
nop
mov ecx, dword [0x1415a12e0]
mov edx, dword [0x1415a12e4]
not ecx
not edx
or edx, ecx
not edx
add edx, 0x4491aba
or edx, 0x8a2be31c
imul rcx, rdx, 0x57f802f7
shr rcx, 0x3d
cmp ecx, 0x3325d8f
je 0x140187990
test rax, rax
je 0x140187ad5
mov rcx, qword [rbp]
mov word [rax], cx
mov qword [r14], r13
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], 1
mov eax, dword [0x1415a12f0]
imul eax, dword [0x1415a12f4]
add eax, 0x4469aaed
or eax, 0x293f66b1
and eax, 0x3bfffeb1
cmp eax, 0xf6d82e13
jne 0x140187a40
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call fcn.1401498f0
add rsp, 0x20
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x1415a12f8]
sub eax, dword [0x1415a12fc]
shr eax, 1
imul rax, rax, 0x247aa293
shr rax, 0x3a
mov r15d, eax
and r15d, 3
mov ecx, r15d
not ecx
mov edx, eax
and edx, 2
and ecx, 0x16a1655
imul ecx, edx
and eax, 1
or r15d, 0x16a1655
imul r15d, eax
add r15d, ecx
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call fcn.1401498f0
add rsp, 0x20
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
cmp r15d, 0x5e82b7de
je 0x140187a40
xor eax, eax
nop
test al, al
jne 0x140187ac0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x1415a12b8]
mov ecx, dword [0x1415a12bc]
not eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and ecx, 0x7364098b
mov edx, eax
and edx, 0x8c9bf674
imul edx, ecx
mov ecx, eax
and ecx, 0x7364098b
or eax, 0x7364098b
imul eax, ecx
add eax, edx
imul rax, rax, 0x6fb90ae9
shr rax, 0x3c
cmp eax, 0x97258c2a
je 0x140187b97
mov eax, dword [str.B_4]
or eax, dword [0x1415a12c4]
mov ecx, eax
and ecx, 0x1940f1e6
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x1940f1e6
mov ecx, eax
xor ecx, 0xa5d3e500
and ecx, eax
mov eax, 0xc7e75313
imul rax, rcx
shr rax, 0x3d
ud2
ud2
mov eax, dword [0x1415a12a8]
add eax, dword [0x1415a12ac]
not eax
or eax, 0xa509de82
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x12302151
and eax, 0x6dc61e2c
imul eax, edx
mov edx, ecx
and edx, 0x48c6002c
or ecx, 0x6dc61e2c
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x72a83ccc
or ecx, 0x72a83ccd
add ecx, eax
mov qword [rsi], 0
cmp ecx, 0xb1770837
jbe 0x140187c3a
mov qword [rsi], 0
jmp 0x140187bd9
mov qword [rsi + 8], 2
mov qword [rsi + 0x10], 0
nop word [rax + rax]
mov eax, dword [0x1415a12b0]
imul eax, dword [0x1415a12b4]
mov ecx, eax
and ecx, 0x138dda34
and eax, 0x12015800
add eax, eax
sub ecx, eax
add ecx, 0xf2237c4a
or ecx, 0x75c8f91f
cmp ecx, 0xc516da9
jbe 0x140187c50
jmp 0x140187abd