Function at 0x14003a020
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, 0x18
lea rbp, [rsp + 0x10]
mov r15, r8
mov r12, rdx
mov rsi, rcx
xor eax, eax
test al, al
jne 0x14003a07e
mov ecx, dword [0x141dc4128]
sub ecx, dword [0x141dc412c]
or ecx, 0xfffb6fff
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x39fbab23
jae 0x14003a09a
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x14003a044
mov eax, 0x8a2ef12d
nop
mov ecx, dword [0x141dc4130]
or ecx, dword [0x141dc4134]
xor ecx, 0xcc74b8f
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x52156d82
je 0x14003a0a0
test r15, r15
js 0x14003a128
xor eax, eax
nop dword [rax]
test al, al
jne 0x14003a0d0
test r15, r15
je 0x14003a187
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1400bf230
add rsp, 0x20
mov r14, rax
nop dword [rax]
mov eax, dword [0x141dc4138]
or eax, dword [0x141dc413c]
xor eax, 0xee240473
imul rax, rax, 0x64a269e1
shr rax, 0x38
cmp eax, 0xeaec2988
je 0x14003a100
test r14, r14
jne 0x14003a18d
xor eax, eax
test al, al
je 0x14003a130
ud2
mov eax, dword [0x141dc4140]
xor edx, edx
div dword [0x141dc4144]
imul eax, eax, 0x346cc06b
add eax, 0xb70494b
or eax, 0xd2553671
ud2
mov r14d, 1
mov eax, dword [0x141dc4150]
xor eax, dword [0x141dc4154]
imul eax, eax, 0x2c5d1ff3
cmp eax, 0xaaa5f668
jne 0x14003a1b5
mov qword [rdi], r15
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], 0
mov qword [rbp], rsi
lea r8, [r12 + r15*2]
nop dword [rax]
mov eax, dword [0x141dc4158]
or eax, dword [0x141dc415c]
imul rax, rax, 0x20963a07
shr rax, 0x3c
imul eax, eax, 0xf9b5450b
imul rcx, rax, 0x1b84fbbb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov qword [rdi], r15
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], 0
cmp eax, 0x33b3ada2
ja 0x14003a1c0
xor r15d, r15d
mov r9d, 0xa4dcaa95
mov r13d, 0x85d2e1c7
mov qword [rbp - 8], r8
nop word [rax + rax]
mov eax, dword [0x141dc4160]
add eax, dword [0x141dc4164]
and eax, 0x5b8a68b6
imul rax, rax, 0x5028abe9
shr rax, 0x3c
or eax, 0xa552d632
cmp eax, 0x88ca24f2
jb 0x14003a220
cmp r12, r8
je 0x14003a8cc
lea r10, [r12 + 2]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4168]
xor eax, dword [0x141dc416c]
add eax, 0x3a24c08a
and eax, 0x35ac3684
cmp eax, 0x33f35452
ja 0x14003a260
movzx ecx, word [r12]
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
jne 0x14003a33f
cmp ecx, 0xdbff
ja 0x14003a927
cmp r10, r8
je 0x14003a927
mov eax, dword [0x141dc4188]
xor edx, edx
div dword [0x141dc418c]
mov eax, dword [0x141dc4190]
and eax, dword [0x141dc4194]
add eax, 0x365e11d8
xor eax, 0x91682000
cmp eax, 0xbd8367ab
ja 0x14003a2b7
movzx eax, word [r10]
lea edx, [rax + 0x2000]
movzx edx, dx
cmp edx, 0xfc00
jb 0x14003a927
nop dword [rax]
mov edx, dword [0x141dc4198]
add edx, dword [0x141dc419c]
xor edx, 0x5fbd640e
imul edx, edx, 0xcf52ff6
cmp edx, 0x66185bd8
je 0x14003a2f0
add r12, 4
and ecx, 0x3ff
and eax, 0x3ff
shl rcx, 0x1a
shl rax, 0x10
or rax, rcx
movabs rcx, 0x100000000
add rax, rcx
mov r10, r12
mov rcx, rax
jmp 0x14003a3a0
mov eax, dword [0x141dc4170]
xor edx, edx
div dword [0x141dc4174]
mov eax, dword [0x141dc4178]
xor eax, dword [str.s_n]
mov edx, 0xb58bd139
imul rax, rdx
shr rax, 0x3d
imul eax, eax, 0x5d4a42f9
cmp eax, 0x9d0b6218
je 0x14003a34d
mov eax, dword [0x141dc4180]
sub eax, dword [0x141dc4184]
imul rax, rax, 0x14aba18f
shr rax, 0x39
imul eax, eax, 0xe60707b2
add eax, 0xc9b67a6f
cmp eax, 0xb5d676f2
ja 0x14003a373
shl rcx, 0x10
mov eax, dword [0x141dc41b8]
xor edx, edx
div dword [0x141dc41bc]
mov eax, dword [0x141dc41c0]
and eax, dword [0x141dc41c4]
or eax, 0xbbc72596
and eax, 0xbfc765b7
cmp eax, 0xcf2fbc68
je 0x14003a3ae
mov rsi, rcx
shr rsi, 0x10
cmp esi, 0x80
jae 0x14003a43f
mov rax, qword [rdi]
nop dword [rax]
mov ecx, dword [0x141dc4230]
imul ecx, dword [0x141dc4234]
add ecx, 0x8a3dc136
xor ecx, 0xfc6bcaaf
add ecx, 0xf4e39e92
cmp ecx, 0x36c1a4f2
jb 0x14003a3e0
cmp r15, rax
jne 0x14003a7c3
mov r12, r10
mov eax, dword [0x141dc4238]
add eax, dword [0x141dc423c]
xor eax, 0x3564ec3
imul eax, eax, 0x1caed9c5
and eax, 0x28c6d5a
cmp eax, 0x2e9142f6
jne 0x14003a756
jmp 0x14003a83e
mov dword [rbx], 0
mov eax, dword [0x141dc41c8]
and eax, dword [0x141dc41cc]
imul eax, eax, 0x8a8ec336
add eax, 0xa7b091b2
cmp eax, 0x7cc3d692
ja 0x14003a445
cmp esi, 0x800
mov r8d, 0x98cb8f21
jae 0x14003a510
shr rcx, 0x16
nop dword [rax]
mov eax, dword [0x141dc4208]
xor edx, edx
div dword [0x141dc420c]
or eax, 0xf588d8a9
cmp eax, 0x6612f9c
je 0x14003a480
or cl, 0xc0
mov eax, dword [0x141dc4210]
xor eax, dword [0x141dc4214]
or eax, 0x1e81284
and eax, 0x21fe12d6
xor eax, 0x9372b56
cmp eax, 0xd65ae578
jbe 0x14003a4d0
mov byte [rbx], cl
nop word cs:[rax + rax]
mov eax, dword [0x141dc4218]
or eax, dword [0x141dc421c]
imul rax, r8
shr rax, 0x3f
or eax, 0xeece6334
mov byte [rbx], cl
cmp eax, 0x7a13d213
je 0x14003a4d0
mov r12d, 2
mov eax, 1
jmp 0x14003a695
mov eax, dword [0x141dc41d0]
imul eax, dword [0x141dc41d4]
imul eax, eax, 0x4d387528
or eax, 0xa1280279
and eax, 0xe52a1779
cmp eax, 0x7852ec3
jb 0x14003a510
cmp esi, 0x10000
jae 0x14003a5f5
mov eax, dword [0x141dc41e8]
xor edx, edx
div dword [0x141dc41ec]
mov eax, dword [0x141dc41f0]
and eax, dword [0x141dc41f4]
imul eax, eax, 0x6470f155
xor eax, 0x3102a328
or eax, 0x80fc5897
cmp eax, 0x9c8e8c33
je 0x14003a54e
mov r8, rcx
shr r8, 0x1c
mov eax, dword [0x141dc41f8]
add eax, dword [0x141dc41fc]
xor eax, 0xb2a4e58b
add eax, 0xc501678d
and eax, 0x83d412cb
cmp eax, 0x7ec9abaf
jae 0x14003a5b0
mov eax, r8d
or al, 0xe0
mov byte [rbx], al
nop word cs:[rax + rax]
mov eax, dword [0x141dc4200]
xor edx, edx
div dword [0x141dc4204]
imul eax, eax, 0xea458624
add eax, 0x2106deff
mov edx, r8d
or dl, 0xe0
mov byte [rbx], dl
cmp eax, 0x16a7a388
jb 0x14003a5b0
shr rcx, 0x16
and cl, 0x3f
or cl, 0x80
mov byte [rbx + 1], cl
mov r12d, 3
mov eax, 2
jmp 0x14003a695
mov rax, rcx
shr rax, 0x22
or al, 0xf0
mov byte [rbx], al
mov eax, dword [0x141dc41d8]
sub eax, dword [0x141dc41dc]
imul rax, rax, 0x36451569
shr rax, 0x3c
xor eax, 0x41680a
or eax, 0x69be15a1
cmp eax, 0x8b7b4ee2
ja 0x14003a66e
mov eax, dword [0x141dc41e0]
and eax, dword [0x141dc41e4]
or eax, 0xd543e267
xor eax, 0xc6c3152b
imul eax, eax, 0xb3081943
mov rdx, rcx
shr rdx, 0x1c
and dl, 0x3f
or dl, 0x80
mov r8d, ecx
shr r8d, 0x16
and r8b, 0x3f
or r8b, 0x80
mov byte [rbx + 1], dl
mov byte [rbx + 2], r8b
cmp eax, 0xca1d717f
jbe 0x14003a68a
mov rax, rcx
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, ecx
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
jmp 0x14003a628
mov r12d, 4
mov eax, 3
mov qword [rbp - 0x10], r10
and sil, 0x3f
or sil, 0x80
mov byte [rbx + rax], sil
mov rax, qword [rdi]
sub rax, r15
cmp rax, r12
jae 0x14003a70a
mov eax, dword [0x141dc4220]
xor eax, dword [0x141dc4224]
or eax, 0xc5a74994
add eax, 0x22a8a903
or eax, 0x2004a476
cmp eax, 0x7536b391
jb 0x14003a73b
mov eax, dword [0x141dc4228]
and eax, dword [0x141dc422c]
imul esi, eax, 0x44a26487
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
mov r8, r12
call fcn.1400f2c80
add rsp, 0x20
cmp esi, 0xa8aefcb9
je 0x14003a6d2
mov r14, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
lea rcx, [r14 + r15]
sub rsp, 0x20
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add r15, r12
mov qword [rdi + 0x10], r15
mov r8, qword [rbp - 8]
mov r9d, 0xa4dcaa95
mov r10, qword [rbp - 0x10]
jmp 0x14003a8a0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
mov r8, r12
call fcn.1400f2c80
add rsp, 0x20
jmp 0x14003a6d2
mov r14d, dword [0x141dc4240]
imul r14d, dword [0x141dc4244]
and r14d, 0x20c0106
sub rsp, 0x20
mov rcx, rdi
call fcn.140039d70
add rsp, 0x20
cmp r14d, 0x8a33d547
je 0x14003a83e
mov r8, qword [rbp - 8]
mov r9d, 0xa4dcaa95
mov r10, r12
nop word cs:[rax + rax]
mov eax, dword [0x141dc4248]
xor eax, dword [0x141dc424c]
or eax, 0xc64f5f7d
imul rax, rax, 0x2698673b
shr rax, 0x3b
cmp eax, 0x3d59bb7c
ja 0x14003a7a0
mov eax, dword [0x141dc4250]
imul eax, dword [0x141dc4254]
xor eax, 0x70dade3d
imul eax, eax, 0x8d14c792
and eax, 0x53742804
cmp eax, 0x96d7e77c
jne 0x14003a7f0
mov rax, qword [rdi + 8]
mov byte [rax + r15], sil
nop
mov eax, dword [0x141dc4258]
or eax, dword [0x141dc425c]
add eax, 0x42415aaf
imul rax, r9
shr rax, 0x3f
mov r14, qword [rdi + 8]
mov byte [r14 + r15], sil
cmp eax, 0x80d842e8
je 0x14003a7f0
mov eax, dword [0x141dc4260]
or eax, dword [0x141dc4264]
inc r15
and eax, 0x200d020
imul eax, eax, 0x3a35bfe5
cmp eax, 0x57a2ed6
jae 0x14003a853
jmp 0x14003a8c6
sub rsp, 0x20
mov rcx, rdi
call fcn.140039d70
add rsp, 0x20
jmp 0x14003a756
mov eax, dword [0x141dc4268]
sub eax, dword [0x141dc426c]
add eax, 0xce923e4b
and eax, 0x6d03e8dd
imul eax, eax, 0x9d29a484
mov qword [rdi + 0x10], r15
cmp eax, 0x76f715e4
jb 0x14003a8c6
nop word [rax + rax]
mov eax, dword [0x141dc4270]
xor eax, dword [0x141dc4274]
add eax, 0x532e576d
imul rax, r13
shr rax, 0x3e
cmp eax, 0x14b0f2c9
ja 0x14003a880
mov eax, dword [0x141dc4278]
imul eax, dword [0x141dc427c]
xor eax, 0x16d080
and eax, 0x8557dcd3
cmp eax, 0x3ca3c6b6
je 0x14003a8a0
mov r12, r10
jmp 0x14003a220
mov qword [rdi + 0x10], r15
jmp 0x14003a853
mov rax, qword [rdi + 0x10]
mov rcx, qword [rbp]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
nop
mov eax, dword [0x141dc41a0]
and eax, dword [str._n_F]
and eax, 0x1b205300
add eax, 0x18f20ab3
cmp eax, 0x558b4476
ja 0x14003a8e0
nop dword [rax]
mov eax, dword [0x141dc41a8]
or eax, dword [0x141dc41ac]
add eax, 0x38713ed9
or eax, 0x175ed51
and eax, 0xfb7ffd5d
cmp eax, 0x82265e64
je 0x14003a900
jmp 0x14003a9d0
movabs rax, 0x8000000000000000
mov ecx, dword [0x141dc4280]
or ecx, dword [0x141dc4284]
add ecx, 0x4c93e509
and ecx, 0x98e742dd
add ecx, 0xd49f1fc1
cmp ecx, 0xdde13260
mov r8, qword [rbp]
jbe 0x14003a95e
mov qword [r8], rax
mov ecx, 0x930176c9
nop word cs:[rax + rax]
mov edx, dword [0x141dc4288]
imul edx, dword [0x141dc428c]
or edx, 0xd55c9bca
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0x61f9bac6
mov qword [r8], rax
cmp edx, 0xa7405a25
ja 0x14003a970
cmp qword [rdi], 0
je 0x14003aac0
mov eax, dword [0x141dc4290]
sub eax, dword [0x141dc4294]
xor eax, 0x2002621
or eax, 0xfcef580a
imul eax, eax, 0x218c1812
cmp eax, 0xff65ecc7
jne 0x14003aa0a
jmp 0x14003aa2f
mov eax, dword [0x141dc41b0]
add eax, dword [0x141dc41b4]
imul eax, eax, 0x29e5caf5
add eax, 0xeff11401
imul rax, rax, 0x428467a1
shr rax, 0x3c
cmp eax, 0xd459a1a1
je 0x14003a9d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc4298]
sub eax, dword [0x141dc429c]
or eax, 0xfab48968
imul eax, eax, 0xc79ab20a
mov rsi, qword [0x141dda6a0]
cmp eax, 0xa1948c1a
jne 0x14003aa38
mov rax, qword [0x141dda6a0]
jmp 0x14003aa0a
mov eax, dword [0x141dc42a0]
mov ecx, dword [0x141dc42a4]
add eax, ecx
add eax, 0xeedf5544
imul rax, rax, 0x39bba679
shr rax, 0x36
cmp eax, 0xeb332ef6
jne 0x14003aa73
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word [rax + rax]
mov eax, dword [0x141dc42a8]
xor eax, dword [0x141dc42ac]
or eax, 0xa5e8a21e
imul rbx, rax, 0x54754519
shr rbx, 0x3b
add ebx, 0x6c068d28
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call rdi
add rsp, 0x20
cmp ebx, 0x73c2c339
ja 0x14003aa80
nop dword [rax]
mov eax, dword [0x141dc42b0]
imul eax, dword [0x141dc42b4]
imul eax, eax, 0x7ec52ef9
add eax, 0x9aec77a6
or eax, 0xd1f720d4
cmp eax, 0x7fabbe23
jb 0x14003aac0
jmp 0x14003a9d0