Function at 0x14003b520
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, 0x38
mov rdi, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141f32230]
xor eax, dword [0x141f32234]
add eax, 0x54e09555
imul rax, rax, 0x7b51232f
shr rax, 0x3e
or eax, 0xfa988644
cmp eax, 0x1b25af3f
jb 0x14003b540
mov r15, qword [rdi]
mov r12, qword [rdi + 8]
test r12, r12
je 0x14003b5e0
mov ecx, r12d
and ecx, 3
mov eax, 0x816842cd
nop
mov edx, dword [0x141f32238]
add edx, dword [0x141f3223c]
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x1120f050
je 0x14003b580
nop
mov eax, dword [0x141f32240]
xor edx, edx
div dword [0x141f32244]
or eax, 0x43a0129e
and eax, 0x43a2929f
cmp eax, 0xcc026212
ja 0x14003b5a0
cmp r12, 4
jae 0x14003b668
xor r8d, r8d
xor r9d, r9d
jmp 0x14003b6bc
mov eax, dword [0x141f32250]
add eax, dword [0x141f32254]
xor eax, 0x10422c08
or eax, 0x6511d324
xor eax, 0x5bdd17a0
cmp eax, 0xcd4a738d
ja 0x14003b5e0
nop word cs:[rax + rax]
mov eax, dword [0x141f32258]
mov ecx, dword [0x141f3225c]
add eax, ecx
add eax, 0x8d18b078
or eax, 0xc75dcafc
cmp eax, 0x480c61df
je 0x14003b610
mov r13, qword [rdi + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141f32260]
xor eax, dword [0x141f32264]
add eax, 0x9433660e
imul rax, rax, 0xb9bd4bd
shr rax, 0x3b
cmp eax, 0x141f7830
je 0x14003b640
jmp 0x14003b857
mov r10, r12
and r10, 0xfffffffffffffffc
nop
mov eax, dword [0x141f32248]
xor edx, edx
div dword [0x141f3224c]
imul eax, eax, 0x3d55b981
add eax, 0x5c357f39
cmp eax, 0x9704dfa9
ja 0x14003b670
lea rax, [r15 + 0x38]
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
add r8, qword [rax - 0x30]
add r8, qword [rax - 0x20]
add r8, qword [rax - 0x10]
add r8, qword [rax]
add r9, 4
add rax, 0x40
cmp r10, r9
jne 0x14003b6a0
mov eax, dword [0x141f32268]
xor edx, edx
div dword [0x141f3226c]
nop word [rax + rax]
mov eax, dword [0x141f32270]
and eax, dword [0x141f32274]
xor eax, 0x2e60e395
imul rdx, rax, 0x148bd2b7
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x18
cmp eax, 0x1d817e3e
ja 0x14003b6d0
test rcx, rcx
je 0x14003b747
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [0x141f32278]
or edx, dword [0x141f3227c]
imul edx, edx, 0x90f85915
and edx, 0x244848
cmp edx, 0xbe484917
ja 0x14003b710
mov rdx, r9
shl rdx, 4
add r8, qword [r15 + rdx + 8]
inc r9
inc rax
cmp rax, rcx
jne 0x14003b710
mov r13, qword [rdi + 0x18]
test r13, r13
je 0x14003b7bf
mov rcx, qword [r15 + 8]
mov eax, dword [0x141f32280]
xor edx, edx
div dword [0x141f32284]
lea r14, [r8 + r8]
nop word cs:[rax + rax]
test rcx, rcx
sete r9b
mov eax, dword [0x141f32288]
xor edx, edx
div dword [0x141f3228c]
imul eax, eax, 0x7f47d735
imul r10, rax, 0x5f228745
shr r10, 0x3e
or r10d, 0x4c213870
cmp r8, 0x10
setb al
test r8, r8
sets dl
cmp r10d, 0x7230312c
ja 0x14003b770
and al, r9b
or dl, al
je 0x14003b7d0
jmp 0x14003b857
mov r14, r8
nop word cs:[rax + rax]
mov eax, dword [0x141f32290]
imul eax, dword [0x141f32294]
or eax, 0xc010794d
add eax, 0x4bd4c323
imul rax, rax, 0xe30b497
shr rax, 0x39
cmp eax, 0xef9a2b08
je 0x14003b7d0
test r14, r14
js 0x14003b92a
nop word cs:[rax + rax]
mov eax, dword [0x141f32298]
sub eax, dword [0x141f3229c]
add eax, 0x6838cba2
or eax, 0x8fdff7d7
cmp eax, 0x30ecf527
jb 0x14003b810
test r14, r14
je 0x14003b857
mov eax, dword [0x141f322a0]
imul eax, dword [0x141f322a4]
xor eax, 0xc3b6fd97
add eax, 0x3beb5ff8
or eax, 0x488315a6
cmp eax, 0x34da555
jb 0x14003b888
jmp 0x14003b864
mov ebx, 1
xor r14d, r14d
jmp 0x14003b8f3
mov eax, dword [0x141f322a8]
and eax, dword [0x141f322ac]
add eax, 0xd64815f8
or eax, 0xfe5f4ffd
movzx ecx, byte [0x141f49078]
cmp eax, 0xd630de4a
jae 0x14003b891
movzx eax, byte [0x141f49078]
jmp 0x14003b864
xor ecx, ecx
mov rdx, r14
call fcn.1400c6170
test rax, rax
je 0x14003b92a
mov rbx, rax
nop word [rax + rax]
mov eax, dword [0x141f322b0]
mov ecx, dword [0x141f322b4]
add eax, ecx
add eax, 0x7535bf04
and eax, 0xd97b3e13
cmp eax, 0x43c367a8
je 0x14003b8b0
nop
mov eax, dword [0x141f322b8]
imul eax, dword [0x141f322bc]
or eax, 0x10080240
xor eax, 0x81a60000
and eax, 0xd1be02c0
cmp eax, 0x431f5057
jbe 0x14003b8d0
mov eax, dword [0x141f322d8]
xor edx, edx
div dword [0x141f322dc]
and eax, 0xe5a7aa41
mov ecx, 0xe451d56b
imul rcx, rax
shr rcx, 0x37
add ecx, 0x923508f6
cmp ecx, 0xefae377a
ja 0x14003b9ea
jmp 0x14003b9ae
mov eax, dword [0x141f322c0]
sub eax, dword [0x141f322c4]
or eax, 0x11b5acc2
imul eax, eax, 0xbf8baa40
cmp eax, 0x6b1acb8e
jne 0x14003b950
ud2
mov eax, dword [0x141f322c8]
xor edx, edx
div dword [0x141f322cc]
imul rax, rax, 0x3c9be3e9
shr rax, 0x3d
or eax, 0x62689fbc
imul eax, eax, 0x2822e0bf
ud2
mov eax, dword [0x141f322e0]
or eax, dword [0x141f322e4]
imul rax, rax, 0x73f58637
shr rax, 0x3d
imul eax, eax, 0x689506f0
add eax, 0xc1ea84a4
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
cmp eax, 0x51cc24e3
jae 0x14003b9ff
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
jmp 0x14003b9ae
cmp r12, 1
je 0x14003ba80
test r12, r12
jne 0x14003bace
nop
mov eax, dword [0x141f322e8]
xor edx, edx
div dword [0x141f322ec]
or eax, 0x43711fd1
imul rax, rax, 0x26315e09
shr rax, 0x3d
or eax, 0x6f12b9ee
cmp eax, 0x63caa2e2
je 0x14003ba10
nop word [rax + rax]
mov eax, dword [0x141f322f0]
sub eax, dword [0x141f322f4]
xor eax, 0x1c732e89
add eax, 0x7df075d2
xor eax, 0x68200407
cmp eax, 0x981c9dd4
jb 0x14003ba40
test r13, r13
jne 0x14003bace
xor r15d, r15d
mov edi, 1
jmp 0x14003bc0a
mov eax, dword [0x141f322f8]
add eax, dword [0x141f322fc]
xor eax, 0x85881ba3
add eax, 0x92925a6c
imul rax, rax, 0x408853c5
shr rax, 0x3d
cmp eax, 0x32470c46
ja 0x14003ba80
nop dword [rax + rax]
mov eax, dword [0x141f32300]
imul eax, dword [0x141f32304]
and eax, 0x802
cmp eax, 0xf5e30bb
ja 0x14003bab0
test r13, r13
je 0x14003bb03
mov eax, dword [0x141f32348]
xor eax, dword [0x141f3234c]
or eax, 0x417f7cef
imul eax, eax, 0xc7e4c63f
mov ecx, 0x8ee20673
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x4e06051c
je 0x14003bcd5
jmp 0x14003bca5
mov eax, 0xbf1693dd
nop dword [rax + rax]
mov ecx, dword [0x141f32308]
add ecx, dword [0x141f3230c]
xor ecx, 0xe490c86
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xf5405a16
je 0x14003bb10
mov rdi, qword [r15]
mov r15, qword [r15 + 8]
cmp r14, r15
jae 0x14003bc0a
mov eax, dword [0x141f32310]
xor eax, dword [0x141f32314]
add eax, 0xac70a62a
or eax, 0x8f3043fe
cmp eax, 0x67bc891b
jb 0x14003bc8f
lea rbx, [rsp + 0x20]
mov eax, dword [0x141f32318]
xor eax, dword [0x141f3231c]
shr eax, 4
imul r14, rax, 0x2651fb5
shr r14, 0x35
xor r14d, 0x73096051
add r14d, 0x34bfda64
mov rcx, rbx
xor edx, edx
mov r8, r15
call fcn.1400f8980
cmp r14d, 0x68663f1e
jb 0x14003bb68
mov r14, qword [rsp + 0x30]
mov eax, dword [0x141f32320]
xor edx, edx
div dword [0x141f32324]
nop dword [rax]
mov eax, dword [0x141f32328]
sub eax, dword [0x141f3232c]
imul eax, eax, 0x141440bc
cmp eax, 0x12441914
je 0x14003bbc0
mov rbx, qword [rsp + 0x28]
nop
mov eax, dword [0x141f32330]
or eax, dword [0x141f32334]
imul rax, rax, 0x192f1a9d
shr rax, 0x3c
or eax, 0x9a286a50
xor eax, 0x8f72eb9
cmp eax, 0x97cc44e7
ja 0x14003bbe0
jmp 0x14003bc0d
xor r14d, r14d
mov eax, dword [0x141f32338]
mov ecx, dword [0x141f3233c]
add eax, ecx
add eax, 0x3e42ed4
or eax, 0x966db829
xor eax, 0x68c8f1b8
cmp eax, 0xb8df1ddf
jae 0x14003bc49
lea rcx, [rbx + r14]
mov rdx, rdi
mov r8, r15
call fcn.1400f5630
lea rax, [r14 + r15]
mov qword [rsp + 0x30], rax
add rbx, r14
add r14, r15
nop
mov eax, dword [0x141f32340]
sub eax, dword [0x141f32344]
add eax, 0xd9a66aa
imul rax, rax, 0x7cb9f2f7
shr rax, 0x3e
imul ebp, eax, 0x94f945fa
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.1400f5630
mov qword [rsp + 0x30], r14
cmp ebp, 0x97e45fc9
je 0x14003bc50
jmp 0x14003bcf3
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8, r15
call fcn.1400f8980
jmp 0x14003bb63
mov eax, dword [0x141f32350]
xor edx, edx
div dword [0x141f32354]
imul ebx, eax, 0x7e71f440
lea rdx, [0x141f21460]
lea rcx, [rsp + 0x20]
mov r8, rdi
call fcn.140055bc0
cmp ebx, 0x930fab77
jne 0x14003bceb
lea rdx, [0x141f21460]
lea rcx, [rsp + 0x20]
mov r8, rdi
call fcn.140055bc0
jmp 0x14003bca5
test al, al
jne 0x14003bd80
mov eax, dword [0x141f32358]
and eax, dword [0x141f3235c]
xor eax, 0x302dfd9d
imul rax, rax, 0x3a8487eb
shr rax, 0x3d
or eax, 0x566addca
cmp eax, 0xd639bcc7
jbe 0x14003bd2c
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
xor eax, eax
nop
mov rcx, qword [rsp + 0x30]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
test al, al
jne 0x14003bd30
nop word cs:[rax + rax]
mov eax, dword [0x141f32360]
imul eax, dword [0x141f32364]
imul eax, eax, 0x45b52715
add eax, 0xac801cab
cmp eax, 0x8c10375
jb 0x14003bd50
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141f32368]
xor eax, dword [0x141f3236c]
add eax, 0xf1267573
and eax, 0xf9df06dd
cmp eax, 0x9a205095
je 0x14003bdc5
mov eax, dword [0x141f32370]
sub eax, dword [0x141f32374]
mov ecx, 0xae155b07
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xfd87608a
ud2
ud2