Function at 0x140088da0
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, 0x58
mov r13, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141f3b178]
sub eax, dword [0x141f3b17c]
imul eax, eax, 0xb43efdaf
or eax, 0xb2ee7ace
imul rax, rax, 0x3917be1
shr rax, 0x39
cmp eax, 0xbf460eb8
ja 0x140088dc0
nop dword [rax]
mov eax, dword [0x141f3b180]
xor edx, edx
div dword [0x141f3b184]
add eax, 0xb18f55df
xor eax, 0xeae06740
imul eax, eax, 0x25e95d44
cmp eax, 0xfc29ea24
ja 0x140088df0
mov r14, qword [r13]
test r14, r14
je 0x140088ed0
movzx esi, word [r13 + 0x10]
test si, si
je 0x140088e40
mov word [r13 + 0x10], 0
mov rdi, qword [r13 + 8]
xor eax, eax
jmp 0x1400892dc
mov eax, dword [0x141f3b188]
and eax, dword [0x141f3b18c]
imul eax, eax, 0x17a0c798
or eax, 0x7826204c
and eax, 0x7a36387c
cmp eax, 0x63988b1c
je 0x140088e40
mov rdi, qword [r13 + 8]
cmp r14, rdi
je 0x140088e9d
mov eax, dword [0x141f3b190]
and eax, dword [0x141f3b194]
xor eax, 0x44c00403
or eax, 0x380fb3d4
imul rax, rax, 0x279f5823
shr rax, 0x3b
cmp eax, 0xbf015e65
jbe 0x140088f93
jmp 0x140088fc0
mov qword [r13], 0
nop word cs:[rax + rax]
mov eax, dword [0x141f3b210]
imul eax, dword [0x141f3b214]
xor eax, 0xa1abeed9
cmp eax, 0x5b46f0c8
jb 0x140088eb0
nop dword [rax]
mov eax, dword [0x141f3b218]
xor eax, dword [0x141f3b21c]
and eax, 0xa8101d7
xor eax, 0x23030956
cmp eax, 0x12f2aaf4
jb 0x140088ed0
nop dword [rax]
mov eax, dword [0x141f3b220]
xor eax, dword [0x141f3b224]
or eax, 0xaeadffc5
add eax, 0xb5ecd79a
cmp eax, 0x594ec614
jb 0x140088ef0
movzx eax, word [r13 + 0x18]
mov r8d, 0x801f427b
nop dword [rax + rax]
mov edx, dword [0x141f3b228]
or edx, dword [0x141f3b22c]
xor edx, 0x390e4c90
imul edx, edx, 0x9742fbe0
shr edx, 1
imul rdx, r8
shr rdx, 0x3d
cmp edx, 0x2bffc8b0
ja 0x140088f20
cmp ax, 2
je 0x140088f77
movzx esi, word [r13 + 0x1a]
mov word [r13 + 0x18], 0
test ax, ax
je 0x140088f77
mov r12d, 4
mov ebx, 8
xor r14d, r14d
xor r15d, r15d
jmp 0x140089332
mov qword [rcx], 0
mov qword [rcx + 8], 2
mov qword [rcx + 0x10], 0
jmp 0x140089aa0
mov eax, dword [0x141f3b198]
xor edx, edx
div dword [0x141f3b19c]
imul eax, eax, 0x37ce1493
xor eax, 0x42aca8fa
add eax, 0x2dc5700d
lea r10, [r14 + 1]
mov qword [r13], r10
cmp eax, 0x2730fbf5
jae 0x140088fca
lea rax, [r14 + 1]
mov qword [r13], rax
jmp 0x140088f93
movzx r9d, byte [r14]
mov eax, dword [0x141f3b1a0]
xor edx, edx
div dword [0x141f3b1a4]
nop dword [rax]
mov eax, dword [0x141f3b1a8]
add eax, dword [0x141f3b1ac]
imul eax, eax, 0xba35cfa
and eax, 0x50344100
cmp eax, 0x1ec7f3a3
jb 0x140088fe0
nop
mov eax, dword [0x141f3b1b0]
add eax, dword [0x141f3b1b4]
imul eax, eax, 0xbeedf0c3
add eax, 0xe8767aeb
and eax, 0xe76d6fe9
cmp eax, 0xf024c27b
ja 0x140089000
test r9b, r9b
js 0x140089057
nop dword [rax + rax]
mov eax, dword [0x141f3b1c8]
imul eax, dword [0x141f3b1cc]
imul eax, eax, 0xbc412870
and eax, 0xecb9cc90
cmp eax, 0x3050a591
jb 0x140089030
mov esi, r9d
jmp 0x1400892d7
mov r8d, r9d
and r8d, 0x1f
mov eax, dword [0x141f3b1b8]
or eax, dword [0x141f3b1bc]
or eax, 0xbd6d296
add eax, 0xc02f2d7c
and eax, 0x4c0f2929
cmp eax, 0x7075d9c
je 0x1400890b7
mov eax, dword [0x141f3b1c0]
xor edx, edx
div dword [0x141f3b1c4]
mov edx, 0x826b51b3
imul rdx, rax
shr rdx, 0x3b
add edx, 0xb5e83f07
xor edx, 0xe3f91280
lea r10, [r14 + 2]
mov qword [r13], r10
cmp edx, 0x3d56ca13
jae 0x1400890c1
lea rax, [r14 + 2]
mov qword [r13], rax
jmp 0x140089080
movzx eax, byte [r14 + 1]
and eax, 0x3f
cmp r9b, 0xdf
jbe 0x14008924f
lea rdx, [r14 + 3]
mov qword [r13], rdx
movzx r11d, byte [r14 + 2]
shl eax, 6
and r11d, 0x3f
nop word [rax + rax]
mov r10d, dword [0x141f3b1d0]
or r10d, dword [0x141f3b1d4]
cmp r10d, 0x28c059f9
je 0x1400890f0
mov r10d, 0x9584a67b
or eax, r11d
mov esi, r8d
shl esi, 0xc
or esi, eax
nop dword [rax + rax]
mov r11d, dword [0x141f3b1d8]
imul r11d, dword [0x141f3b1dc]
imul r11, r10
shr r11, 0x3f
imul r11d, r11d, 0x3bc6300
cmp r11d, 0x81b07a9a
ja 0x140089120
cmp r9b, 0xf0
jb 0x14008925b
nop word cs:[rax + rax]
mov r9d, dword [0x141f3b1e0]
imul r9d, dword [0x141f3b1e4]
add r9d, 0x7ade05d1
or r9d, 0x669edf1f
add r9d, 0x4d1278d4
cmp r9d, 0xf8dfdfd7
ja 0x140089160
add r14, 4
nop word cs:[rax + rax]
mov r9d, dword [0x141f3b1e8]
xor r9d, dword [0x141f3b1ec]
add r9d, 0x2fb48c77
imul r10, r9, 0x15e2cbb9
shr r10, 0x20
sub r9d, r10d
shr r9d, 1
add r9d, r10d
shr r9d, 0x1e
cmp r9d, 0x6473cbcc
ja 0x1400891a0
mov r9d, dword [0x141f3b1f0]
xor r9d, dword [0x141f3b1f4]
or r9d, 0x3f8c3d1b
and r9d, 0x7ffe7f1b
cmp r9d, 0x2344ae66
jne 0x1400891ff
mov qword [r13], r14
and r8d, 7
shl r8d, 0x12
shl eax, 6
nop word [rax + rax]
mov r9d, dword [0x141f3b1f8]
add r9d, dword [0x141f3b1fc]
xor r9d, 0x276e3324
imul r9d, r9d, 0xd913e7f3
add r9d, 0x82cc1e73
mov qword [r13], r14
cmp r9d, 0x17d8ae27
jbe 0x140089210
movzx edx, byte [rdx]
and edx, 0x3f
or eax, edx
or eax, r8d
mov esi, eax
jmp 0x14008925e
shl r8d, 6
or r8d, eax
mov esi, r8d
jmp 0x1400892d7
mov r14, rdx
cmp esi, 0xffff
jbe 0x1400892d4
lea r8d, [rsi + 0xff0000]
shr r8d, 0xa
mov eax, dword [0x141f3b200]
xor edx, edx
div dword [0x141f3b204]
mov eax, esi
movzx edx, r8w
or edx, 0xd800
and eax, 0x3ff
mov esi, edx
nop word cs:[rax + rax]
mov edx, dword [0x141f3b208]
and edx, dword [0x141f3b20c]
and edx, 0x80004304
add edx, 0x8a284859
cmp edx, 0xf70066da
ja 0x1400892a0
movzx eax, ax
or eax, 0xdc00
mov word [r13 + 0x10], ax
mov eax, 1
jmp 0x1400892dc
mov r10, r14
xor eax, eax
mov r14, r10
sub rdi, r14
add rdi, 3
mov rdx, 0xffffffffffffffff
cmovae rdx, rdi
mov r15d, dword [r13 + 0x18]
shr rdx, 2
xor r8d, r8d
cmp r15w, 2
cmovne r8d, r15d
movzx r8d, r8w
add r8, rax
lea rax, [r8 + rdx]
add rdx, r8
inc rdx
cmp rax, 3
mov r12d, 4
cmovae r12, rdx
mov rax, r12
shr rax, 0x3e
jne 0x140089438
lea rbx, [r12 + r12]
mov qword [rsp + 0x50], rcx
mov eax, dword [0x141f3b240]
and eax, dword [0x141f3b244]
xor eax, 0x7b03a2d4
mov ecx, 0xd842927d
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x54169be8
cmp eax, 0x4699f90b
jne 0x140089380
movzx eax, byte [0x141f49078]
xor ecx, ecx
mov rdx, rbx
call fcn.1400c6170
nop word cs:[rax + rax]
mov eax, dword [0x141f3b248]
or eax, dword [0x141f3b24c]
imul rax, rax, 0x33e4b54d
shr rax, 0x3c
imul ebp, eax, 0x91d7c714
or ebp, 0xee71fe78
movzx eax, byte [0x141f49078]
xor ecx, ecx
mov rdx, rbx
call fcn.1400c6170
cmp ebp, 0x38bea04
jb 0x140089380
mov rdi, rax
test rax, rax
je 0x1400893e0
mov eax, dword [0x141f3b260]
or eax, dword [0x141f3b264]
cmp eax, 0x4c17d822
jne 0x140089496
jmp 0x1400894cb
mov eax, dword [0x141f3b250]
xor edx, edx
div dword [0x141f3b254]
and eax, 0x9e9254e4
imul eax, eax, 0xc64a3d12
or eax, 0x2fa1f6a1
cmp eax, 0x61830af3
jbe 0x140089410
ud2
mov eax, dword [0x141f3b258]
sub eax, dword [0x141f3b25c]
imul eax, eax, 0xfa6a411f
xor eax, 0x2764eecc
imul eax, eax, 0x98e9e334
ud2
mov eax, dword [0x141f3b230]
sub eax, dword [0x141f3b234]
add eax, 0xae96c9eb
imul rax, rax, 0x16a1359b
shr rax, 0x3a
add eax, 0xc4f93073
cmp eax, 0xedbd6c4f
ja 0x140089484
mov eax, dword [0x141f3b238]
add eax, dword [0x141f3b23c]
or eax, 0x59f0eda
add eax, 0x568f309e
or eax, 0xf827bf68
ud2
ud2
mov eax, dword [0x141f3b268]
sub eax, dword [0x141f3b26c]
and eax, 0x10000810
or eax, 0x679ce7ef
imul rax, rax, 0x19e05b8d
shr rax, 0x3b
mov word [rdi], si
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rdi
cmp eax, 0xc91859f5
jbe 0x1400894da
mov word [rdi], si
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rdi
jmp 0x140089496
mov qword [rsp + 0x40], 1
mov rax, qword [r13 + 8]
mov qword [rsp + 0x48], rax
movzx ebp, word [r13 + 0x10]
movzx eax, word [r13 + 0x1a]
mov word [rsp + 0x2e], ax
mov eax, 1
xor r13d, r13d
lea rcx, [rsp + 0x30]
nop dword [rax + rax]
mov rbx, rax
mov eax, dword [0x141f3b270]
sub eax, dword [0x141f3b274]
and eax, 0x94a49
cmp eax, 0xfbd1bf70
je 0x140089513
test r14, r14
je 0x140089620
nop word cs:[rax + rax]
test r13b, r13b
jne 0x140089540
test bp, bp
je 0x140089560
xor r9d, r9d
mov esi, ebp
cmp rbx, qword [rsp + 0x30]
je 0x140089811
jmp 0x140089a00
mov eax, dword [0x141f3b278]
sub eax, dword [0x141f3b27c]
and eax, 0x6002df48
add eax, 0x4478a3ed
or eax, 0x13fad8bf
cmp eax, 0x7fa15396
ja 0x140089560
cmp r14, qword [rsp + 0x48]
je 0x140089620
mov eax, dword [0x141f3b280]
and eax, dword [0x141f3b284]
and eax, 0x226913ba
add eax, 0x8b6ba467
or eax, 0xd7d912c0
cmp eax, 0x7e27a847
je 0x14008958d
movzx r8d, byte [r14]
test r8b, r8b
js 0x1400896ac
inc r14
mov eax, dword [0x141f3b298]
xor edx, edx
div dword [0x141f3b29c]
nop dword [rax]
mov eax, dword [0x141f3b2a0]
or eax, dword [0x141f3b2a4]
imul eax, eax, 0xc1d02fd7
cmp eax, 0x5e04886b
je 0x1400895d0
nop dword [rax]
mov eax, dword [0x141f3b2a8]
xor eax, dword [0x141f3b2ac]
or eax, 0xa9000000
xor eax, 0x208001
and eax, 0xa920d001
cmp eax, 0x8bbdfae5
je 0x1400895f0
mov rax, r14
jmp 0x1400897fd
mov eax, dword [0x141f3b2d8]
xor edx, edx
div dword [0x141f3b2dc]
nop
mov eax, dword [0x141f3b2e0]
or eax, dword [0x141f3b2e4]
imul eax, eax, 0xb15b6d66
add eax, 0x1588269c
and eax, 0xab14a2ce
cmp eax, 0x19b935ef
jb 0x140089630
cmp r15w, 1
jne 0x140089a76
test r13b, r13b
jne 0x14008965e
mov rax, qword [rsp + 0x30]
mov edx, dword [0x141f3b2e8]
or edx, dword [0x141f3b2ec]
xor edx, 0xf9bc5767
imul edx, edx, 0x3d218c95
cmp edx, 0xc7515411
je 0x140089668
xor r14d, r14d
movzx edx, word [rsp + 0x2e]
mov esi, edx
mov r15d, 0
mov r12d, 0
cmp rbx, rax
je 0x1400898be
jmp 0x140089a03
mov r9d, r8d
and r9d, 0x1f
nop word cs:[rax + rax]
mov eax, dword [0x141f3b288]
and eax, dword [0x141f3b28c]
imul eax, eax, 0x98d1f62c
cmp eax, 0x52e25fe8
je 0x1400896c0
lea rax, [r14 + 2]
movzx r10d, byte [r14 + 1]
nop word cs:[rax + rax]
mov edx, dword [0x141f3b290]
xor edx, dword [0x141f3b294]
imul edx, edx, 0xe3494efc
and edx, 0xc81f6140
imul rdx, rdx, 0x3d0c5883
shr rdx, 0x3c
cmp edx, 0x23185098
ja 0x1400896f0
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x1400897f3
lea rax, [r14 + 3]
movzx edx, byte [r14 + 2]
shl r10d, 6
and edx, 0x3f
nop dword [rax]
mov r11d, dword [0x141f3b2b0]
add r11d, dword [0x141f3b2b4]
xor r11d, 0xf979aa3f
add r11d, 0x55a09c27
cmp r11d, 0x7b2156e8
jb 0x140089740
or r10d, edx
cmp r8b, 0xf0
jb 0x140089950
lea rcx, [rsp + 0x30]
nop word [rax + rax]
mov eax, dword [0x141f3b2b8]
xor edx, edx
div dword [0x141f3b2bc]
add eax, 0x9fbf028d
or eax, 0xf906b4fe
cmp eax, 0xd1a15787
je 0x140089780
nop
mov eax, dword [0x141f3b2c0]
or eax, dword [0x141f3b2c4]
and eax, 0x2a24deaa
add eax, 0x2db14648
or eax, 0x9ab76b1d
cmp eax, 0x69c720b5
je 0x1400897a0
movzx r8d, byte [r14 + 3]
add r14, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
mov rax, r14
cmp r8d, 0xffff
ja 0x140089970
jmp 0x1400897fd
shl r9d, 6
or r9d, r10d
mov r8d, r9d
xor r9d, r9d
mov r14, rax
mov esi, r8d
cmp rbx, qword [rsp + 0x30]
jne 0x140089a00
mov r12, qword [rsp + 0x48]
sub r12, r14
xor r8d, r8d
test r9w, r9w
setne r8b
add r12, 3
mov rax, 0xffffffffffffffff
cmovb r12, rax
mov eax, dword [0x141f3b2f0]
xor eax, dword [0x141f3b2f4]
xor eax, 0xfeb45491
add eax, 0x57f99452
cmp eax, 0x69bed74f
ja 0x140089833
shr r12, 2
cmp r15w, 2
jne 0x140089865
add r12, r8
mov r15w, 2
jmp 0x1400898bb
mov eax, dword [0x141f3b2f8]
xor edx, edx
div dword [0x141f3b2fc]
nop word cs:[rax + rax]
mov eax, dword [0x141f3b300]
or eax, dword [0x141f3b304]
add eax, 0x48fbbda8
or eax, 0x1ae33df7
imul rdx, rax, 0xd8dba5d
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x82bf2ea3
ja 0x140089880
add r12, r8
movzx eax, r15w
add r12, rax
mov ebp, r9d
mov eax, dword [0x141f3b318]
sub eax, dword [0x141f3b31c]
imul rax, rax, 0x68affe55
shr rax, 0x3e
add eax, 0x7c0f3bb1
cmp eax, 0xf5fab850
ja 0x14008992d
mov edi, dword [0x141f3b320]
imul edi, dword [0x141f3b324]
or edi, 0xd0a631a4
add edi, 0xfed5079e
lea r8, [r12 + 1]
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rdx, rbx
call fcn.1401035b0
lea rcx, [rsp + 0x30]
cmp edi, 0x9de42f14
jb 0x1400898e1
mov rdi, qword [rsp + 0x38]
jmp 0x140089a03
lea r8, [r12 + 1]
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rdx, rbx
call fcn.1401035b0
lea rcx, [rsp + 0x30]
jmp 0x1400898e1
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
lea rcx, [rsp + 0x30]
cmp r8d, 0xffff
jbe 0x1400897fd
nop dword [rax]
mov edx, dword [0x141f3b2c8]
mov r9d, dword [0x141f3b2cc]
add edx, r9d
add edx, 0x5cef93f0
xor edx, 0x5392710f
imul edx, edx, 0xea3b7a
cmp edx, 0x393fd3fb
je 0x140089970
lea esi, [r8 + 0xff0000]
shr esi, 0xa
or esi, 0xd800
mov edx, dword [0x141f3b2d0]
sub edx, dword [0x141f3b2d4]
imul edx, edx, 0xa2ae2bd1
or edx, 0xb2a91e3b
imul r9, rdx, 0x2b546d4d
shr r9, 0x20
sub edx, r9d
shr edx, 1
add edx, r9d
shr edx, 0x1f
cmp edx, 0xf6e09f0c
je 0x1400899aa
and r8d, 0x3ff
movzx r9d, r8w
or r9d, 0xdc00
mov r14, rax
cmp rbx, qword [rsp + 0x30]
je 0x140089811
mov ebp, r9d
mov eax, dword [0x141f3b308]
add eax, dword [0x141f3b30c]
shr eax, 5
imul rax, rax, 0x91ab101
shr rax, 0x36
or eax, 0x73feb7a6
cmp eax, 0x6e4ad706
jb 0x140089a67
nop dword [rax]
mov edx, dword [0x141f3b310]
sub edx, dword [0x141f3b314]
add edx, 0x18e6c797
xor edx, 0xa09a4138
and edx, 0xa19a41bd
lea rax, [rbx + 1]
mov word [rdi + rbx*2], si
mov qword [rsp + 0x40], rax
cmp edx, 0x3fb9de54
jae 0x140089510
mov word [rdi + rbx*2], si
lea rax, [rbx + 1]
mov qword [rsp + 0x40], rax
jmp 0x140089a30
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
xor eax, eax
nop
test al, al
jne 0x140089a90
nop word cs:[rax + rax]
mov eax, dword [0x141f3b328]
add eax, dword [0x141f3b32c]
or eax, 0x133a2e30
imul eax, eax, 0x971d7ba
or eax, 0xe763ea17
cmp eax, 0xfb344e89
ja 0x140089aa0
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret