Function at 0x1401af770
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
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov r11, rdx
mov eax, dword [0x1415ca310]
sub eax, dword [0x1415ca314]
or eax, 0xb3df5652
mov edx, eax
xor edx, 0x925f1e7b
add edx, eax
and eax, 0x6da0e184
sub edx, eax
cmp edx, 0xc9867084
je 0x1401af80d
mov r9d, dword [0x1415ca318]
mov eax, dword [0x1415ca31c]
mov edx, r9d
not edx
and edx, eax
mov r8d, eax
not r8d
and r8d, r9d
imul r8d, edx
mov edx, r9d
and edx, eax
or r9d, eax
imul r9d, edx
add r9d, r8d
mov eax, r9d
and eax, 0xf77ba006
or r9d, 0xf77ba006
add r9d, eax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r10, rsp
cmp r9d, 0x5245f2b5
jne 0x1401af81c
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
jmp 0x1401af7b2
mov eax, dword [0x1415ca320]
mov edx, dword [0x1415ca324]
add eax, edx
add eax, 0x4d19c35c
mov r8d, eax
not r8d
mov edx, eax
and edx, 0x63780a5d
and r8d, 0x9c87f5a2
imul r8d, edx
mov edx, eax
and edx, 0x9c87f5a2
or eax, 0x9c87f5a2
imul eax, edx
add eax, r8d
mov r8d, eax
not r8d
mov edx, eax
and edx, 0xdb5096aa
and r8d, 0x24af6954
imul r8d, edx
mov edx, eax
and edx, 0x24af6954
or eax, 0x24af6954
imul eax, edx
add eax, r8d
cmp eax, 0x7c394a7d
je 0x1401af8fc
mov r9d, dword [0x1415ca328]
mov eax, dword [0x1415ca32c]
mov edx, eax
not edx
mov r8d, r9d
and r8d, edx
or edx, r9d
not edx
imul edx, r8d
mov r8d, r9d
and r8d, eax
or r9d, eax
imul r9d, r8d
add r9d, edx
xor r9d, 0x86041502
and r9d, 0xa645170b
xor r9d, 0xc62044af
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rbx, rsp
cmp r9d, 0x93d51538
jbe 0x1401af91b
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
jmp 0x1401af88e
mov qword [rbp - 0x48], r10
mov rdi, qword [rcx + 0x28]
movzx r10d, word [rdi + 0x3d2]
movabs r12, 0xf0a8ea84fd8ca9b3
mov rax, r10
sub rax, r12
add r12, r11
add r12, rax
cmp r12, 0xc
jae 0x1401afa4c
mov rsi, qword [rcx + 0x18]
movzx eax, word [rsi + 0x3d2]
mov qword [rbp], rax
mov eax, dword [0x1415ca348]
xor edx, edx
div dword [0x1415ca34c]
nop dword [rax + rax]
mov eax, dword [0x1415ca350]
mov r9d, dword [0x1415ca354]
mov edx, eax
not edx
and edx, r9d
mov r8d, r9d
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, r9d
or eax, r9d
imul eax, edx
add eax, r8d
mov edx, eax
xor edx, 0xfc1000e1
or eax, 0x3c0a70c
and eax, edx
or eax, 0x2f5812
imul eax, eax, 0xa61c8b8d
cmp eax, 0x620edc48
jb 0x1401af970
mov rax, qword [rbp]
sub rax, r11
jb 0x1401afa04
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x40], rcx
mov eax, dword [0x1415ca360]
or eax, dword [0x1415ca364]
add eax, 0xd9bcaa92
or eax, 0x10016546
and eax, 0x18436546
cmp eax, 0xd8c279c
mov qword [rbp - 0x10], r10
mov qword [rbp - 0x18], r11
jne 0x1401afad5
jmp 0x1401afb80
ud2
mov eax, dword [0x1415ca330]
sub eax, dword [0x1415ca334]
mov ecx, eax
not ecx
and ecx, 0x56eee0c5
xor ecx, 0x91cd08c0
or eax, 0x91cd08c0
and eax, ecx
mov ecx, eax
not ecx
or ecx, 0xa6dfdd9b
add eax, ecx
inc eax
cmp eax, 0x48b28aa7
jb 0x1401afaa3
mov eax, dword [0x1415ca338]
and eax, dword [0x1415ca33c]
xor eax, 0x4cfc2fcc
add eax, 0x1198d7d9
ud2
ud2
mov eax, dword [0x1415ca368]
mov ecx, dword [0x1415ca36c]
mov edx, eax
not edx
or edx, ecx
not ecx
or ecx, eax
not ecx
not edx
or edx, ecx
lea eax, [rdx - 0x59c17559]
not eax
or eax, 0x81ff0fda
lea r14d, [rdx + rax]
add r14d, 0xa63e8aa8
and r14d, 0xe407c6a4
mov rax, qword [rbp - 0x28]
mov word [rsi + 0x3d2], ax
mov word [rdi + 0x3d2], r12w
lea r15, [rdi + 0x168]
imul rax, r11, 0x38
lea rcx, [rdi + rax]
add rcx, 0x168
mov eax, r10d
not eax
and eax, 0x38
mov edx, r10d
and edx, 0xffffffc7
imul rdx, rax
mov eax, r10d
and eax, 0x38
mov r8, r10
or r8, 0x38
imul r8, rax
add r8, rdx
sub rsp, 0x20
mov rdx, r15
call fcn.14022aa10
mov r11, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
add rsp, 0x20
cmp r14d, 0x8acffa8d
jbe 0x1401afbca
mov rax, qword [rbp]
sub eax, r11d
mov word [rsi + 0x3d2], ax
mov word [rdi + 0x3d2], r12w
lea rdx, [rdi + 0x168]
imul rax, r11, 0x38
lea rcx, [rdi + rax]
add rcx, 0x168
imul r8, r10, 0x38
sub rsp, 0x20
call fcn.14022aa10
mov r11, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
add rsp, 0x20
jmp 0x1401afad5
mov qword [rbp - 8], rsi
mov qword [rbp - 0x30], r12
shl r11, 5
add r11, rdi
mov r8, r10
shl r8, 5
sub rsp, 0x20
mov rcx, r11
mov rdx, rdi
call fcn.14022aa10
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rbp - 0x28]
lea rdx, [rcx + 1]
mov r9, qword [rbp]
mov rcx, rdx
mov qword [rbp - 0x20], rdx
sub r9, rdx
dec rax
mov edx, dword [0x1415ca370]
mov ecx, dword [0x1415ca374]
mov r8d, edx
xor r8d, ecx
not r8d
and r8d, ecx
add r8d, r8d
sub ecx, r8d
add ecx, edx
imul rdx, rcx, 0x1de34c95
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
lea edx, [rcx - 0x54460eca]
mov r8d, edx
and r8d, 0x22889025
xor edx, 0x99356f5a
add ecx, edx
add ecx, 0xabb9f136
sub ecx, r8d
cmp ecx, 0x790a49fd
jb 0x1401afc10
mov qword [rbp - 0x38], rbx
cmp r9, rax
mov rcx, qword [rbp - 8]
mov rsi, qword [rbp - 0x48]
jne 0x1401afd43
lea r14, [rcx + 0x168]
mov rbx, qword [rbp - 0x20]
imul rax, rbx, 0x38
lea rdx, [rcx + rax]
add rdx, 0x168
imul r12, r9, 0x38
sub rsp, 0x20
mov rcx, r15
mov r8, r12
mov qword [rbp], r9
call fcn.14022aa10
add rsp, 0x20
mov rdx, rbx
shl rdx, 5
add rdx, qword [rbp - 8]
shl qword [rbp], 5
sub rsp, 0x20
mov rcx, rdi
mov r8, qword [rbp]
call fcn.14022aa10
mov r9, qword [rbp]
add rsp, 0x20
mov eax, dword [0x1415ca390]
xor eax, dword [0x1415ca394]
mov ecx, eax
and ecx, 0x728364e7
mov edx, ecx
not edx
and edx, 0x3cc69906
mov r8d, eax
and r8d, 0x420164e1
imul r8d, edx
and eax, 0x30820006
or ecx, 0x3cc69906
imul ecx, eax
add ecx, r8d
imul rax, rcx, 0x197d76fd
shr rax, 0x3c
cmp eax, 0xc82fa6b9
mov rbx, qword [rbp - 0x40]
mov r11, qword [rbp - 0x28]
mov r10, qword [rbp - 0x38]
jbe 0x1401afddd
jmp 0x1401aff31
mov eax, dword [0x1415ca378]
xor edx, edx
div dword [0x1415ca37c]
mov ecx, eax
and ecx, 0x2f012f6e
xor eax, 0x6f012f6e
lea eax, [rax + rcx*2]
or eax, 0x811bcfec
imul eax, eax, 0x68eccfc1
cmp eax, 0xeabd3f21
ja 0x1401afda1
mov eax, dword [0x1415ca380]
xor eax, dword [0x1415ca384]
add eax, 0x5753d48f
mov ecx, 0x9522347d
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0xfb8d7e34
ud2
ud2
mov eax, dword [0x1415ca398]
xor eax, dword [0x1415ca39c]
mov rcx, r11
shl rcx, 5
mov rdx, qword [rbp - 8]
movups xmm0, xmmword [rdx + rcx]
movups xmm1, xmmword [rdx + rcx + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
imul r8, rdx, 0x38
mov r9, qword [rcx + r8 + 0x198]
mov qword [r13 + 0x30], r9
imul r9, r11, 0x38
movups xmm0, xmmword [rcx + r8 + 0x168]
movups xmm1, xmmword [rcx + r8 + 0x178]
movups xmm2, xmmword [rcx + r8 + 0x188]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [r14 + r9]
movups xmm1, xmmword [r14 + r9 + 0x10]
movups xmm2, xmmword [r14 + r9 + 0x20]
mov r9, qword [r14 + r9 + 0x30]
mov qword [rcx + r8 + 0x198], r9
mov r9, qword [rbp]
movups xmmword [rcx + r8 + 0x168], xmm0
movups xmmword [rcx + r8 + 0x188], xmm2
movups xmmword [rcx + r8 + 0x178], xmm1
not eax
or eax, 0xad789bc8
shl rdx, 5
movups xmm0, xmmword [rcx + rdx]
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov ecx, eax
not ecx
and eax, 0xef6c2e97
mov edx, ecx
and edx, 0x10834020
imul edx, eax
mov eax, ecx
and eax, 0x42042417
or ecx, 0xef6c2e97
imul ecx, eax
add ecx, edx
mov eax, ecx
and eax, 0x6825c9e7
or ecx, 0x6825c9e7
add ecx, eax
mov rax, qword [r13 + 0x30]
mov qword [r15 + r12 + 0x30], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmmword [r15 + r12 + 0x20], xmm2
movups xmmword [r15 + r12 + 0x10], xmm1
movups xmmword [r15 + r12], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + r9 + 0x10], xmm1
movups xmmword [rdi + r9], xmm0
cmp ecx, 0xd823578b
jne 0x1401b002c
mov rax, r11
shl rax, 5
mov rcx, qword [rbp - 8]
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
imul rdx, rcx, 0x38
mov r8, qword [rax + rdx + 0x198]
mov qword [r13 + 0x30], r8
imul r8, r11, 0x38
movups xmm0, xmmword [rax + rdx + 0x168]
movups xmm1, xmmword [rax + rdx + 0x178]
movups xmm2, xmmword [rax + rdx + 0x188]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [r14 + r8]
movups xmm1, xmmword [r14 + r8 + 0x10]
movups xmm2, xmmword [r14 + r8 + 0x20]
mov r8, qword [r14 + r8 + 0x30]
mov qword [rax + rdx + 0x198], r8
movups xmmword [rax + rdx + 0x168], xmm0
movups xmmword [rax + rdx + 0x188], xmm2
movups xmmword [rax + rdx + 0x178], xmm1
shl rcx, 5
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov rax, qword [r13 + 0x30]
mov qword [r15 + r12 + 0x30], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmmword [r15 + r12 + 0x20], xmm2
movups xmmword [r15 + r12 + 0x10], xmm1
movups xmmword [r15 + r12], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + r9], xmm0
movups xmmword [rdi + r9 + 0x10], xmm1
jmp 0x1401afddd
mov r8, qword [rbp - 8]
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rbp - 0x18]
nop dword [rax + rax]
mov eax, dword [0x1415ca3a0]
add eax, dword [0x1415ca3a4]
imul eax, eax, 0x2ea97bb2
add eax, 0x3d7d111c
or eax, 0x74e22789
cmp eax, 0x3a86a7a3
jb 0x1401b0040
mov rax, qword [rbx + 0x30]
test rcx, rcx
je 0x1401b028e
mov ecx, dword [0x1415ca3a8]
sub ecx, dword [0x1415ca3ac]
shr ecx, 1
imul rcx, rcx, 0x41df2813
shr rcx, 0x3d
or ecx, 0xae31b128
imul rcx, rcx, 0x65c747d5
shr rcx, 0x3d
cmp ecx, 0xd0155003
ja 0x1401b0070
test rax, rax
mov rdx, qword [rbp - 0x10]
je 0x1401b0297
mov eax, dword [0x1415ca3c8]
sub eax, dword [0x1415ca3cc]
mov ecx, eax
xor ecx, 0x416eae10
or eax, 0xbe9151ef
and eax, ecx
lea rbx, [rdi + rsi*8]
add rbx, 0x3d8
cmp eax, 0xd972cfdb
jne 0x1401b0131
lea r14, [rdi + 0x3d8]
lea r8, [rdx*8 + 8]
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call fcn.14022aa10
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + rcx*8]
add rdx, 0x3d8
lea r8, [rsi*8]
sub rsp, 0x20
mov rcx, r14
call fcn.14022aa10
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
lea r14, [rdi + 0x3d8]
lea r13, [rdx*8]
mov qword [rbp], r13
or r13, 8
mov rax, qword [rbp - 0x20]
lea r15, [r8 + rax*8]
add r15, 0x3d8
lea r12, [rsi*8]
nop
mov eax, dword [0x1415ca3d0]
mov esi, dword [0x1415ca3d4]
xor esi, eax
not esi
and esi, eax
mov eax, esi
or eax, 0xf5486f43
mov r8d, esi
not r8d
and r8d, 0xa9280ac
mov edx, eax
and edx, 0x546d7b52
imul edx, r8d
and eax, 0xab9284ad
or esi, 0xffdaefef
imul esi, eax
add esi, edx
not esi
or esi, 0x3cf14899
mov r8, qword [rbp]
and r8d, 8
add r8, r13
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call fcn.14022aa10
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.14022aa10
add rsp, 0x20
cmp esi, 0x2a4218b2
je 0x1401b0160
mov rsi, qword [rbp - 0x18]
add rsi, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x1415ca3d8]
or eax, dword [0x1415ca3dc]
mov ecx, eax
xor ecx, 0x40272b0f
xor eax, 0x2004480
and eax, 0x2004c88
mov edx, ecx
and edx, 0x4180311
or edx, eax
xor edx, 0x6000e99
and ecx, 0x4004211
or ecx, edx
or ecx, 0xf9e7b066
cmp ecx, 0x5a76c4be
jb 0x1401b01f0
inc rsi
mov rax, rsi
xor rax, 0xfffffffffffffffc
mov rcx, rsi
or rcx, 3
and rcx, rax
mov r8, qword [rbp - 0x30]
nop dword [rax]
mov eax, dword [0x1415ca3e0]
and eax, dword [0x1415ca3e4]
add eax, 0xa9e8b2ad
xor eax, 0xb37ca4df
imul rdx, rax, 0x382853dd
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x245c2f32
ja 0x1401b0250
cmp r8, 3
jae 0x1401b02d5
xor eax, eax
jmp 0x1401b0510
test rax, rax
je 0x1401b05a0
ud2
mov eax, dword [0x1415ca3e8]
xor edx, edx
div dword [0x1415ca3ec]
mov eax, 0x903a7b8b
and rsi, 0xfffffffffffffffc
nop dword [rax]
mov edx, dword [0x1415ca3f0]
mov r8d, dword [0x1415ca3f4]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
mov r8d, edx
and r8d, 0x1641846
add r8d, r8d
sub edx, r8d
add edx, 0x5798c38d
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x1e91d088
ja 0x1401b02f0
movabs rdx, 0x407e3506b6c6d06a
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [0x1415ca3f8]
sub r8d, dword [0x1415ca3fc]
xor r8d, 0x8f4ab6bb
imul r8, r8, 0x78104c4f
mov r9, r8
shr r9, 0x3d
not r9d
and r9d, 0x7469a11e
bt r8, 0x3d
sbb r9d, 0
neg r9d
cmp r9d, 0x873be69c
jae 0x1401b0450
mov r9, rax
not r9
mov r8, rdx
not r8
and r9, rdx
mov r10, rax
and r10, r8
or r10, r9
mov r9, rdx
and r9, 0xfffffffffffffffe
mov r11d, r8d
and r11d, 1
or r11, r9
xor r11, r10
or r8d, edx
and r8d, eax
and r8d, 1
or r8, r11
mov r9, qword [rdi + rax*8 + 0x3d8]
mov qword [r9 + 0x160], rdi
mov word [r9 + 0x3d0], ax
mov r9, rax
or r9, 2
mov r10, qword [rdi + r8*8 + 0x3d8]
mov qword [r10 + 0x160], rdi
mov word [r10 + 0x3d0], r8w
mov r8, rax
or r8, 3
mov r10, qword [rdi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rdi
mov word [r10 + 0x3d0], r9w
mov r9, qword [rdi + r8*8 + 0x3d8]
mov qword [r9 + 0x160], rdi
mov word [r9 + 0x3d0], r8w
nop dword [rax]
mov r8d, dword [0x1415ca400]
mov r9d, dword [0x1415ca404]
mov r10d, r9d
and r10d, r8d
add r8d, r9d
sub r8d, r10d
imul r8d, r8d, 0x7bda4c1a
add r8d, 0x60677b7
mov r9, rax
or r9, 1
mov r10, rax
or r10, 2
mov r11, qword [rdi + rax*8 + 0x3d8]
mov qword [r11 + 0x160], rdi
mov word [r11 + 0x3d0], ax
mov r11, qword [rdi + r9*8 + 0x3d8]
mov qword [r11 + 0x160], rdi
mov word [r11 + 0x3d0], r9w
mov r9, rax
or r9, 3
mov r11, qword [rdi + r10*8 + 0x3d8]
mov qword [r11 + 0x160], rdi
mov word [r11 + 0x3d0], r10w
mov r10, qword [rdi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rdi
mov word [r10 + 0x3d0], r9w
cmp r8d, 0x8d9e1d5a
jb 0x1401b0450
add rax, 4
cmp rax, rsi
jne 0x1401b0360
nop word cs:[rax + rax]
mov edx, dword [0x1415ca3b0]
mov r8d, dword [0x1415ca3b4]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
xor edx, 0x77a38976
add edx, 0x14643590
mov r8d, edx
and r8d, 0x7fc86a68
add r8d, r8d
sub edx, r8d
add edx, 0x7fc86a68
cmp edx, 0x1cda3ac0
jb 0x1401b0510
test rcx, rcx
je 0x1401b05a0
nop word cs:[rax + rax]
mov rdx, qword [rdi + rax*8 + 0x3d8]
mov qword [rdx + 0x160], rdi
mov word [rdx + 0x3d0], ax
inc rax
dec rcx
jne 0x1401b0580
nop
mov eax, dword [0x1415ca3b8]
sub eax, dword [0x1415ca3bc]
mov ecx, eax
not ecx
or eax, 0x5329a05c
or ecx, 0xacd65fa3
and ecx, eax
xor ecx, 0x979fe13d
add ecx, 0x391c311f
cmp ecx, 0xc7a2a8df
ja 0x1401b05a0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret