Function at 0x14008ea20
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, 0x28
lea rbp, [rsp + 0x20]
mov r12, r8
mov r13, rdx
mov eax, dword [0x141dd2270]
imul eax, dword [0x141dd2274]
and eax, 0x90889007
imul eax, eax, 0x4f170bb2
cmp eax, 0xea698295
je 0x14008ea84
mov edx, dword [0x141dd2278]
or edx, dword [0x141dd227c]
and edx, 0xc0024
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
cmp edx, 0xe1d8308f
jbe 0x14008ea93
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
jmp 0x14008ea5a
mov eax, dword [0x141dd2280]
add eax, dword [0x141dd2284]
or eax, 0xdddd2e77
mov edx, 0xe98ffc5d
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0x483b3168
jbe 0x14008ead0
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd2288]
add eax, dword [0x141dd228c]
imul rax, rax, 0x231ea645
shr rax, 0x3d
imul edx, eax, 0x250b812f
add edx, 0xe5cff4b8
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r14, rsp
cmp edx, 0xf4984998
ja 0x14008ead0
test r12, r12
js 0x14008ec16
mov qword [rbp - 8], rcx
je 0x14008eb8f
mov eax, dword [str.W__q]
imul eax, dword [0x141dd2294]
imul eax, eax, 0x2587f67f
and eax, 0x24f40e2e
cmp eax, 0x93e16990
jne 0x14008eb40
movzx eax, byte [0x141dde6f8]
mov eax, dword [0x141dd2298]
imul eax, dword [0x141dd229c]
add eax, 0xfae0655b
xor eax, 0x181e887a
and eax, 0xfc5eb97b
movzx ecx, byte [0x141dde6f8]
cmp eax, 0xaed4a799
ja 0x14008eb40
mov eax, dword [0x141dd22a0]
xor eax, dword [0x141dd22a4]
imul rax, rax, 0x17a42a2d
shr rax, 0x3b
or eax, 0xb2c07171
cmp eax, 0x3bcfc718
jne 0x14008eb97
jmp 0x14008ebcf
mov r15d, 1
jmp 0x14008ebeb
mov eax, dword [0x141dd22a8]
xor edx, edx
div dword [0x141dd22ac]
or eax, 0x64e7b78b
xor eax, 0x180315a
imul esi, eax, 0x72d03387
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400c29b0
add rsp, 0x20
cmp esi, 0x892c7567
jne 0x14008ebe3
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400c29b0
add rsp, 0x20
jmp 0x14008eb97
mov r15, rax
test rax, rax
je 0x14008ec16
mov eax, dword [0x141dd22b0]
imul eax, dword [0x141dd22b4]
and eax, 0xa0799873
imul rax, rax, 0x1cd24125
shr rax, 0x3b
or eax, 0xd7954c26
cmp eax, 0x31f5aed2
jae 0x14008ec18
jmp 0x14008ec54
ud2
mov eax, dword [0x141dd22b8]
xor eax, dword [0x141dd22bc]
add eax, 0xb3d50cd4
imul rax, rax, 0x74ca2f5d
shr rax, 0x3d
add eax, 0x19069c86
mov qword [r14], r12
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], 0
mov byte [r14 + 0x18], 1
cmp eax, 0x1780aa7d
jae 0x14008ec6a
mov qword [r14], r12
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], 0
mov byte [r14 + 0x18], 1
jmp 0x14008ec18
lea rdx, [r12*2]
add rdx, r13
xor r11d, r11d
mov sil, 1
xor r8d, r8d
xor edi, edi
mov qword [rbp - 0x10], rdx
test di, di
je 0x14008eca0
nop dword [rax]
movzx eax, word [rbp + 6]
mov r10d, eax
jmp 0x14008ecde
cmp r13, rdx
je 0x14008f257
movzx r10d, word [r13]
add r13, 2
nop word cs:[rax + rax]
mov eax, dword [0x141dd22c0]
sub eax, dword [0x141dd22c4]
imul eax, eax, 0x667254
and eax, 0x99c26368
cmp eax, 0x5f129e
jb 0x14008ecc0
mov eax, r10d
and eax, 0xf800
movzx ecx, r10w
cmp eax, 0xd800
jne 0x14008ed20
nop word cs:[rax + rax]
test r11b, r11b
jne 0x14008ed00
cmp ecx, 0xdbff
jbe 0x14008eed0
xor edi, edi
jmp 0x14008f037
mov eax, dword [0x141dd22c8]
and eax, dword [0x141dd22cc]
cmp eax, 0xd35bb066
je 0x14008ed20
nop word cs:[rax + rax]
test sil, sil
je 0x14008ed40
shl rcx, 0x10
mov r9, rcx
mov eax, dword [0x141dd22e0]
sub eax, dword [0x141dd22e4]
xor eax, 0x237511e0
imul eax, eax, 0x9c2519a
add eax, 0x815dcca8
cmp eax, 0x774e3fc0
jae 0x14008ed80
mov dword [rbx], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dd22e8]
and eax, dword [0x141dd22ec]
imul eax, eax, 0x1e727a54
add eax, 0xf2148c34
and eax, 0xf07e8934
mov dword [rbx], 0
cmp eax, 0x35dc5ce9
jb 0x14008ed80
mov rcx, r9
shr rcx, 0x10
cmp ecx, 0x80
jae 0x14008ee20
nop dword [rax + rax]
mov eax, dword [0x141dd2330]
xor edx, edx
div dword [0x141dd2334]
imul eax, eax, 0xe3c56344
add eax, 0x19640ea
and eax, 0x97df9c26
cmp eax, 0xab99e63b
ja 0x14008edc0
mov byte [rbx], cl
nop word [rax + rax]
mov eax, dword [0x141dd2338]
xor eax, dword [0x141dd233c]
and eax, 0x2352d5c5
add eax, 0xfd3f1c14
or eax, 0xdc690ef8
cmp eax, 0xb8d7769
je 0x14008edf0
mov r12d, 1
jmp 0x14008f11f
mov eax, dword [0x141dd22f0]
and eax, dword [0x141dd22f4]
imul rdx, rax, 0x1ee5de01
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1b
or eax, 0x66052402
cmp eax, 0x2426d915
je 0x14008ee20
cmp ecx, 0x800
jae 0x14008ee90
shr r9d, 0x16
or r9b, 0xc0
mov eax, dword [0x141dd2320]
xor edx, edx
div dword [0x141dd2324]
add eax, 0xd860da8c
or eax, 0xb2c920e
cmp eax, 0xc4dad428
jne 0x14008f0e0
jmp 0x14008f10b
mov eax, dword [0x141dd22f8]
xor edx, edx
div dword [0x141dd22fc]
imul eax, eax, 0x5877304a
or eax, 0x40040830
and eax, 0x4a341a70
cmp eax, 0x17b535ee
jb 0x14008ee90
cmp ecx, 0x10000
jae 0x14008ef60
xor edi, edi
jmp 0x14008f042
cmp r13, rdx
je 0x14008f032
mov eax, dword [str._a63g]
xor edx, edx
div dword [0x141dd22d4]
nop word [rax + rax]
mov eax, dword [0x141dd22d8]
xor eax, dword [0x141dd22dc]
or eax, 0xefee0029
add eax, 0x77e107af
cmp eax, 0xe3a1f3eb
ja 0x14008eef0
movzx eax, word [r13]
add r13, 2
movzx r9d, ax
mov edx, eax
add edx, 0x2000
nop word cs:[rax + rax]
test r11b, r11b
jne 0x14008ef30
movzx edx, dx
mov di, 1
cmp edx, 0xfc00
jae 0x14008f063
mov word [rbp + 6], ax
jmp 0x14008f037
mov eax, dword [0x141dd2300]
xor eax, dword [0x141dd2304]
add eax, 0x29d6ef7b
cmp eax, 0x761c8f96
jb 0x14008ef60
mov r10, r9
shr r10, 0x22
mov eax, dword [0x141dd2308]
xor edx, edx
div dword [0x141dd230c]
or eax, 0x26512f12
xor eax, 0x907a2094
add eax, 0xca6f8762
cmp eax, 0xbec1c381
jbe 0x14008efd0
lea eax, [r10 - 0x10]
mov byte [rbx], al
mov rax, r9
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, r9d
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
mov eax, ecx
and al, 0x3f
or al, 0x80
mov byte [rbx + 3], al
nop dword [rax]
lea eax, [r10 - 0x10]
mov byte [rbx], al
mov rax, r9
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, r9d
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
mov eax, ecx
and al, 0x3f
or al, 0x80
mov byte [rbx + 3], al
test r11b, r11b
jne 0x14008efd0
nop
mov eax, dword [0x141dd2310]
xor edi, edi
xor edx, edx
div dword [0x141dd2314]
imul rax, rax, 0x5ce50c39
shr rax, 0x3d
xor eax, 0x9d9ed47e
cmp eax, 0x28c57517
jbe 0x14008f000
mov r12d, 4
jmp 0x14008f121
xor edi, edi
mov r13, rdx
mov byte [r14 + 0x18], 0
mov dword [rbx], 0
mov eax, dword [0x141dd2318]
imul eax, dword [0x141dd231c]
imul eax, eax, 0xaf7344de
add eax, 0xbcc016eb
cmp eax, 0x607b5b8b
jae 0x14008f090
jmp 0x14008f0b9
and r10d, 0x3ff
and r9d, 0x3ff
shl r10, 0x1a
shl r9, 0x10
or r9, r10
movabs rax, 0x100000000
add r9, rax
jmp 0x14008ed4c
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [rbx], al
mov eax, ecx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, ecx
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
mov r12d, 3
test sil, sil
jne 0x14008f121
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [rbx], al
mov eax, ecx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, ecx
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
jmp 0x14008f090
mov eax, dword [0x141dd2328]
sub eax, dword [0x141dd232c]
add eax, 0x90644f16
imul rax, rax, 0x108f94ad
shr rax, 0x3c
xor eax, 0x1fdf8b65
mov byte [rbx], r9b
cmp eax, 0x412fccff
jbe 0x14008f110
mov byte [rbx], r9b
jmp 0x14008f0e0
and cl, 0x3f
or cl, 0x80
mov byte [rbx + 1], cl
mov r12d, 2
xor edi, edi
mov eax, dword [0x141dd2340]
xor edx, edx
div dword [0x141dd2344]
nop
mov eax, dword [0x141dd2348]
xor eax, dword [0x141dd234c]
or eax, 0xa637f4e
and eax, 0x4ae37f7f
cmp eax, 0x216ad37c
ja 0x14008f130
mov rax, qword [r14]
sub rax, r8
cmp rax, r12
mov qword [rbp - 0x18], r13
jb 0x14008f202
mov rsi, r8
mov eax, dword [0x141dd2358]
sub eax, dword [0x141dd235c]
or eax, 0x24a00246
and eax, 0xa4a27ece
cmp eax, 0xeef3f1fb
jne 0x14008f1a0
lea rcx, [r15 + rsi]
sub rsp, 0x20
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea rax, [rsi + r12]
mov qword [r14 + 0x10], rax
nop
mov eax, dword [0x141dd2360]
or eax, dword [0x141dd2364]
imul r13, rax, 0x161e96d
shr r13, 0x36
add r13d, 0xc6e1622a
lea rcx, [r15 + rsi]
sub rsp, 0x20
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea r8, [rsi + r12]
mov qword [r14 + 0x10], r8
cmp r13d, 0xc0ce1306
jbe 0x14008f1a0
mov r13, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
xor r11d, r11d
mov sil, 1
test di, di
jne 0x14008ec90
jmp 0x14008eca0
sub rsp, 0x30
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r14
mov rdx, r8
mov r8, r12
call fcn.1400f2140
add rsp, 0x30
mov rsi, qword [r14 + 0x10]
mov eax, dword [0x141dd2350]
and eax, dword [0x141dd2354]
or eax, 0x2385fb7b
imul eax, eax, 0x580f7f87
add eax, 0x17648990
mov r15, qword [r14 + 8]
cmp eax, 0xd53431ee
ja 0x14008f22b
jmp 0x14008f163
mov eax, dword [0x141dd2368]
add eax, dword [0x141dd236c]
xor eax, 0x98401155
or eax, 0x473f8e08
xor eax, 0xdc821fa2
cmp eax, 0xc3bcdd51
mov rcx, qword [rbp - 8]
ja 0x14008f2a2
mov eax, dword [0x141dd2370]
xor edx, edx
div dword [0x141dd2374]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
cmp eax, 0x81abf60a
jne 0x14008f2c0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
jmp 0x14008f27d
mov eax, dword [0x141dd2378]
xor edx, edx
div dword [0x141dd237c]
imul rax, rax, 0x5e5ead95
shr rax, 0x39
add eax, 0x624db51c
cmp eax, 0xa8fc36bc
ja 0x14008f2c0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret