Function at 0x14001ce80
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 rdi, rdx
mov r13, rcx
mov eax, dword [0x141dc3450]
xor edx, edx
div dword [0x141dc3454]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3458]
or eax, dword [0x141dc345c]
and eax, 0xb9760268
cmp eax, 0x67913a7c
je 0x14001ceb0
mov ecx, 0xa2df6963
nop dword [rax]
mov eax, dword [0x141dc3460]
xor edx, edx
div dword [0x141dc3464]
imul eax, eax, 0x7fa86029
add eax, 0x7009116f
imul rax, rcx
shr rax, 0x3c
cmp eax, 0x9875a3a8
ja 0x14001ced0
mov r14, qword [rdi]
test r14, r14
je 0x14001d480
nop word cs:[rax + rax]
mov eax, dword [0x141dc3468]
xor eax, dword [0x141dc346c]
xor eax, 0xabb10f07
imul eax, eax, 0x67c392c1
or eax, 0x2b187a42
cmp eax, 0x531ca3dc
ja 0x14001cf10
mov eax, dword [0x141dc3470]
xor edx, edx
div dword [0x141dc3474]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3478]
imul eax, dword [0x141dc347c]
add eax, 0x2486e3d2
cmp eax, 0xf5c19afd
ja 0x14001cf50
movzx esi, word [rdi + 0x10]
test si, si
je 0x14001cfe0
mov word [rdi + 0x10], 0
nop dword [rax + rax]
mov eax, dword [0x141dc34d0]
xor edx, edx
div dword [0x141dc34d4]
xor eax, 0x6b3332ea
imul rax, rax, 0x4abf66a7
shr rax, 0x3c
or eax, 0x9d713c62
cmp eax, 0xa2e4617b
ja 0x14001cf80
mov rcx, qword [rdi + 8]
xor edx, edx
mov eax, dword [0x141dc34d8]
xor eax, dword [0x141dc34dc]
imul rax, rax, 0x663a6879
shr rax, 0x3c
imul eax, eax, 0x20020183
add eax, 0xa8ce3c46
cmp eax, 0x4ef50084
ja 0x14001cfb0
jmp 0x14001d33a
mov eax, dword [0x141dc3480]
xor edx, edx
div dword [0x141dc3484]
xor eax, 0x5b9b07c5
imul rax, rax, 0x7b865643
shr rax, 0x3e
cmp eax, 0xe713489a
je 0x14001cfe0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3488]
add eax, dword [0x141dc348c]
and eax, 0x635fe4c3
xor eax, 0xf136c15
imul eax, eax, 0xca71676d
cmp eax, 0x10cbf0c2
jb 0x14001d010
mov rcx, qword [rdi + 8]
xor eax, eax
nop dword [rax]
test al, al
jne 0x14001d040
cmp r14, rcx
je 0x14001d0d2
lea r8, [r14 + 1]
mov qword [rdi], r8
movzx r11d, byte [r14]
nop dword [rax + rax]
mov eax, dword [0x141dc3490]
sub eax, dword [0x141dc3494]
add eax, 0x5c7df6c8
and eax, 0xf89fcd49
add eax, 0xcd7b0421
cmp eax, 0x5ba1759
jb 0x14001d060
test r11b, r11b
js 0x14001d0e1
nop word [rax + rax]
mov eax, dword [0x141dc3498]
or eax, dword [0x141dc349c]
or eax, 0xf1d858cb
cmp eax, 0xc95ba746
je 0x14001d090
nop dword [rax + rax]
mov eax, dword [0x141dc34a0]
mov edx, dword [0x141dc34a4]
add eax, edx
add eax, 0xa533d5a6
cmp eax, 0x478a13bd
jb 0x14001d0b0
mov eax, r11d
jmp 0x14001d304
xor eax, eax
test al, al
je 0x14001d413
jmp 0x14001d44c
mov r9d, r11d
and r9d, 0x1f
lea r8, [r14 + 2]
mov qword [rdi], r8
movzx r10d, byte [r14 + 1]
mov eax, r9d
shl eax, 6
and r10d, 0x3f
or eax, r10d
xor edx, edx
nop word cs:[rax + rax]
test dl, dl
jne 0x14001d110
cmp r11b, 0xdf
jbe 0x14001d304
mov eax, dword [0x141dc34a8]
xor edx, edx
div dword [0x141dc34ac]
imul eax, eax, 0xd83a7ab7
add eax, 0x49392afe
or eax, 0x6f58fc71
cmp eax, 0xb9ce38a3
jbe 0x14001d14a
lea rax, [r14 + 3]
mov qword [rdi], rax
mov eax, 0x8671856f
lea r8, [r14 + 3]
shl r10d, 6
nop word [rax + rax]
mov edx, dword [0x141dc34b0]
or edx, dword [0x141dc34b4]
add edx, 0xa4c50051
imul rdx, rax
shr rdx, 0x3f
mov qword [rdi], r8
cmp edx, 0xa388a373
ja 0x14001d160
movzx eax, byte [r14 + 2]
and eax, 0x3f
or r10d, eax
cmp r11b, 0xf0
jb 0x14001d1b7
mov eax, dword [0x141dc34b8]
xor edx, edx
div dword [0x141dc34bc]
or eax, 0xebf0edad
add eax, 0x2ae356c3
cmp eax, 0xdb9b2700
jbe 0x14001d1c3
jmp 0x14001d1ed
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
jmp 0x14001d241
mov eax, dword [0x141dc34c0]
and eax, dword [0x141dc34c4]
imul eax, eax, 0x2c72a75e
add eax, 0x67078900
and eax, 0x13df7ed0
lea r11, [r14 + 4]
mov qword [rdi], r11
cmp eax, 0xb08e7643
jbe 0x14001d1f6
lea rax, [r14 + 4]
mov qword [rdi], rax
jmp 0x14001d1c3
shl r9d, 0x12
nop word [rax + rax]
mov eax, dword [0x141dc34c8]
xor edx, edx
div dword [0x141dc34cc]
imul eax, eax, 0x76156e71
imul rax, rax, 0x12def433
shr rax, 0x3c
cmp eax, 0x80e03844
je 0x14001d200
movzx eax, byte [r8]
and r9d, 0x1c0000
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
mov r8, r11
cmp eax, 0xffff
jbe 0x14001d304
lea r9d, [rax + 0xff0000]
shr r9d, 0xa
nop word [rax + rax]
mov edx, dword [0x141dc34e8]
add edx, dword [0x141dc34ec]
xor edx, 0xc2010
or edx, 0x11f1c70b
and edx, 0x19fde73b
cmp edx, 0x9485b004
ja 0x14001d260
mov edx, 0xc7fd3ac3
movzx esi, r9w
or esi, 0xd800
nop word cs:[rax + rax]
mov r9d, dword [0x141dc34f0]
xor r9d, dword [0x141dc34f4]
imul r9, rdx
shr r9, 0x3c
imul r9d, r9d, 0x27162ccc
shr r9d, 1
imul r9, r9, 0x48f76415
shr r9, 0x3d
cmp r9d, 0x981cd6c9
ja 0x14001d2a0
mov edx, dword [0x141dc34f8]
imul edx, dword [0x141dc34fc]
imul edx, edx, 0xddc15c69
and edx, 0xd0635e53
add edx, 0x40e625bf
cmp edx, 0x464d3f2b
jae 0x14001d3b6
jmp 0x14001d3f2
xor edx, edx
nop word cs:[rax + rax]
mov r9d, dword [0x141dc34e0]
and r9d, dword [str.Y_y]
xor r9d, 0x8004446
and r9d, 0x4b40467e
cmp r9d, 0xb752de5a
je 0x14001d310
mov r14, r8
mov esi, eax
sub rcx, r14
add rcx, 3
mov rax, 0xffffffffffffffff
cmovae rax, rcx
mov r15d, dword [rdi + 0x18]
shr rax, 2
xor ecx, ecx
cmp r15w, 2
cmovne ecx, r15d
movzx ecx, cx
add rcx, rdx
lea rdx, [rcx + rax]
add rax, rcx
inc rax
cmp rdx, 3
mov r12d, 4
cmovae r12, rax
mov rax, r12
shr rax, 0x3e
jne 0x14001d38f
lea rbx, [r12 + r12]
jmp 0x14001d4f8
mov eax, dword [0x141dc3538]
or eax, dword [0x141dc353c]
imul eax, eax, 0xaf1aa3dc
or eax, 0xbd7fbfdb
cmp eax, 0x669f9e0c
jae 0x14001dbae
jmp 0x14001dbd3
mov edx, dword [0x141dc3500]
sub edx, dword [0x141dc3504]
or edx, 0xac102010
and edx, 0xbd1f3d10
xor edx, 0xc4ac2098
mov r9d, eax
and r9d, 0x3ff
or r9d, 0xdc00
mov word [rdi + 0x10], r9w
cmp edx, 0x4e61ecf9
ja 0x14001d406
mov edx, eax
and edx, 0x3ff
or edx, 0xdc00
mov word [rdi + 0x10], dx
jmp 0x14001d3b6
mov edx, 1
mov r14, r8
jmp 0x14001d33a
mov eax, dword [0x141dc3508]
and eax, dword [0x141dc350c]
imul rcx, rax, 0x22de854b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
imul eax, eax, 0x5f7b8e25
xor eax, 0x3b56af8b
mov qword [rdi], 0
cmp eax, 0x175b83c3
jae 0x14001d460
mov qword [rdi], 0
jmp 0x14001d413
mov eax, dword [0x141dc3510]
imul eax, dword [0x141dc3514]
add eax, 0xba57b285
or eax, 0x6cbafd37
cmp eax, 0x4ebd9c75
je 0x14001d460
nop
mov eax, dword [0x141dc3518]
imul eax, dword [str.W4_]
imul rax, rax, 0x6ff21d8b
shr rax, 0x3e
add eax, 0xe252caa3
cmp eax, 0x8bf37c5
jb 0x14001d480
movzx eax, word [rdi + 0x18]
nop dword [rax + rax]
mov ecx, dword [0x141dc3520]
and ecx, dword [0x141dc3524]
imul rcx, rcx, 0x2079ef97
shr rcx, 0x3c
and ecx, 0xfffffffe
cmp ecx, 0xe030e55a
ja 0x14001d4b0
cmp ax, 2
je 0x14001d525
movzx esi, word [rdi + 0x1a]
mov word [rdi + 0x18], 0
test ax, ax
je 0x14001d525
mov r12d, 4
mov ebx, 8
xor r14d, r14d
xor r15d, r15d
mov eax, dword [0x141dc3548]
and eax, dword [0x141dc354c]
imul rax, rax, 0x2084cb95
shr rax, 0x3c
add eax, 0x4eae5c19
and eax, 0x6020c15
cmp eax, 0xb25c7d76
jbe 0x14001d597
jmp 0x14001d5af
mov qword [r13], 0
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
nop dword [rax]
mov eax, dword [0x141dc3528]
add eax, dword [0x141dc352c]
and eax, 0xfa3c0871
add eax, 0xc5c18e06
and eax, 0xb5a88600
cmp eax, 0x5b00a1ec
jb 0x14001d540
nop word cs:[rax + rax]
mov eax, dword [0x141dc3530]
add eax, dword [0x141dc3534]
and eax, 0x6c581c89
xor eax, 0x261ca4b3
add eax, 0xa0585cfc
cmp eax, 0xcdeb8cfe
ja 0x14001d570
jmp 0x14001db9d
movzx eax, byte [0x141ddc4f8]
xor ebp, ebp
xor ecx, ecx
mov rdx, rbx
call fcn.1400c0a10
test bpl, bpl
je 0x14001d5c2
movzx eax, byte [0x141ddc4f8]
xor ecx, ecx
mov rdx, rbx
call fcn.1400c0a10
jmp 0x14001d597
mov rcx, rax
test rax, rax
je 0x14001dbd7
mov qword [rsp + 0x50], r13
mov eax, dword [0x141dc3550]
and eax, dword [0x141dc3554]
and eax, 0x8f420e43
xor eax, 0xccfe6b02
cmp eax, 0xebdd9dc8
ja 0x14001d60c
mov word [rcx], si
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], 1
xor eax, eax
test al, al
je 0x14001d624
mov word [rcx], si
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], 1
jmp 0x14001d5f0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x48], rax
movzx r12d, word [rdi + 0x10]
movzx eax, word [rdi + 0x1a]
mov word [rsp + 0x2e], ax
mov edi, 1
xor r13d, r13d
mov ebx, 0xd44e1c95
mov rsi, 0xffffffffffffffff
jmp 0x14001d66f
mov r12d, r9d
mov word [rcx + rdi*2], bp
inc rdi
mov qword [rsp + 0x40], rdi
test r14, r14
je 0x14001d740
test r12w, r12w
je 0x14001d690
xor r9d, r9d
mov ebp, r12d
jmp 0x14001d9b3
mov eax, dword [0x141dc3558]
xor edx, edx
div dword [0x141dc355c]
mov eax, dword [0x141dc3560]
sub eax, dword [0x141dc3564]
or eax, 0x700300a1
and eax, 0x7c53dae7
imul eax, eax, 0xf131a4a2
cmp eax, 0xcf33bdc6
je 0x14001d69e
cmp r14, qword [rsp + 0x48]
je 0x14001d740
lea r8, [r14 + 1]
movzx r9d, byte [r14]
mov eax, dword [0x141dc3568]
and eax, dword [0x141dc356c]
imul rax, rax, 0x6eb80377
shr rax, 0x3e
imul eax, eax, 0xe490ad9a
add eax, 0x6ef4482e
cmp eax, 0x5977cd53
jb 0x14001d6d0
test r9b, r9b
js 0x14001d80c
nop word cs:[rax + rax]
mov eax, dword [0x141dc3588]
xor eax, dword [0x141dc358c]
imul eax, eax, 0x1ec5713d
xor eax, 0x5e066000
and eax, 0x5e4fead1
cmp eax, 0x4d995cc3
jae 0x14001d710
mov r10d, r9d
jmp 0x14001d980
test r13b, r13b
jne 0x14001d740
nop word cs:[rax + rax]
mov eax, dword [0x141dc35b8]
sub eax, dword [0x141dc35bc]
or eax, 0x6b19d1da
imul eax, eax, 0x14bd1299
xor eax, 0x4a3dcc2a
cmp eax, 0x60f5557f
ja 0x14001d750
cmp r15w, 1
jne 0x14001db07
mov r9, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dc35c0]
xor edx, edx
div dword [0x141dc35c4]
xor eax, 0x1d7c688e
imul rax, rbx
shr rax, 0x3e
or eax, 0xd1965134
cmp eax, 0xe963bba0
ja 0x14001d790
nop word [rax + rax]
mov eax, dword [0x141dc35c8]
add eax, dword [0x141dc35cc]
imul rax, rax, 0x62d363b7
shr rax, 0x3d
add eax, 0x33e47c49
and eax, 0x30441c42
cmp eax, 0x8963969c
ja 0x14001d7c0
xor r14d, r14d
movzx eax, word [rsp + 0x2e]
mov ebp, eax
mov r15d, 0
mov r8d, 0
cmp rdi, r9
jne 0x14001d663
jmp 0x14001da6f
mov eax, dword [0x141dc3570]
xor edx, edx
div dword [0x141dc3574]
mov eax, dword [0x141dc3578]
and eax, dword [0x141dc357c]
and eax, 0x78de2270
imul eax, eax, 0x9c989621
add eax, 0x5aadbc34
cmp eax, 0xd369f1e9
ja 0x14001d81a
mov eax, r9d
and eax, 0x1f
mov edx, dword [0x141dc3580]
xor edx, dword [0x141dc3584]
and edx, 0x41a88089
or edx, 0x30567d66
imul edx, edx, 0xafe24ec0
cmp edx, 0x55e710
jb 0x14001d843
movzx r10d, byte [r14 + 1]
and r10d, 0x3f
cmp r9b, 0xdf
jbe 0x14001d961
lea r8, [r14 + 3]
movzx edx, byte [r14 + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
mov r10d, eax
shl r10d, 0xc
mov r11d, dword [0x141dc3590]
and r11d, dword [0x141dc3594]
cmp r11d, 0xc1f3ce4
je 0x14001d896
or r10d, edx
mov r11d, dword [0x141dc3598]
sub r11d, dword [0x141dc359c]
add r11d, 0xdd29960a
or r11d, 0xa3bafcd6
imul r11d, r11d, 0xd6fa6f32
cmp r11d, 0xe5f8e977
ja 0x14001d8b0
cmp r9b, 0xf0
jb 0x14001d901
movzx r10d, byte [r14 + 3]
add r14, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and r10d, 0x3f
or r10d, edx
or r10d, eax
mov r8, r14
mov eax, dword [0x141dc35a0]
xor edx, edx
div dword [0x141dc35a4]
test r13b, r13b
jne 0x14001d90f
cmp r10d, 0xffff
jbe 0x14001d980
lea ebp, [r10 + 0xff0000]
shr ebp, 0xa
or ebp, 0xd800
and r10d, 0x3ff
mov eax, dword [0x141dc35b0]
add eax, dword [0x141dc35b4]
xor eax, 0x404a2040
and eax, 0xe05ba058
movzx r9d, r10w
or r9d, 0xdc00
cmp eax, 0x87df76a9
je 0x14001d934
mov r14, r8
jmp 0x14001d9b3
add r14, 2
shl eax, 6
or eax, r10d
mov r8, r14
mov r10d, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc35a8]
xor eax, dword [0x141dc35ac]
add eax, 0x3a269f44
xor eax, 0xf47f704f
mov edx, 0xd1928701
imul rax, rdx
shr rax, 0x3f
xor r9d, r9d
cmp eax, 0x34a96ac6
jae 0x14001d980
mov r14, r8
mov ebp, r10d
cmp rdi, qword [rsp + 0x30]
jne 0x14001d660
mov rax, qword [rsp + 0x48]
sub rax, r14
nop word cs:[rax + rax]
xor ecx, ecx
test r9w, r9w
setne dl
mov r8d, dword [0x141dc35d0]
imul r8d, dword [0x141dc35d4]
or r8d, 0xddfeffbe
cmp r8d, 0x16a7a35
jb 0x14001d9d0
mov cl, dl
nop word [rax + rax]
mov edx, dword [0x141dc35d8]
imul edx, dword [0x141dc35dc]
shr edx, 3
imul rdx, rdx, 0x11b63d57
shr rdx, 0x39
imul edx, edx, 0x82f7fdc2
mov r8, rax
add r8, 3
cmovb r8, rsi
cmp edx, 0x3411e2b6
je 0x14001da00
shr r8, 2
cmp r15w, 2
jne 0x14001da98
nop
mov eax, dword [0x141dc35e0]
mov edx, dword [0x141dc35e4]
add eax, edx
add eax, 0xf37525cb
xor eax, 0x77d320a9
add eax, 0xdd15ebfc
cmp eax, 0xaefa44da
jb 0x14001da40
add r8, rcx
mov r15w, 2
mov r12d, r9d
inc r8
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1400fe550
mov rcx, qword [rsp + 0x38]
jmp 0x14001d663
movzx r10d, r15w
mov eax, dword [0x141dc35e8]
xor edx, edx
div dword [0x141dc35ec]
mov eax, dword [0x141dc35f0]
sub eax, dword [0x141dc35f4]
imul rax, rax, 0x53313039
shr rax, 0x3e
imul eax, eax, 0x6cc04ad1
and eax, 0xb89a4ca
cmp eax, 0x67f9992c
ja 0x14001daaa
add r8, rcx
add r8, r10
nop dword [rax]
mov eax, dword [0x141dc35f8]
sub eax, dword [0x141dc35fc]
add eax, 0x39d13c15
or eax, 0x47100101
and eax, 0xdfb25d09
cmp eax, 0x8b698c9d
ja 0x14001dae0
jmp 0x14001da6c
mov eax, dword [0x141dc3600]
imul eax, dword [0x141dc3604]
xor eax, 0xac502106
or eax, 0x528f9a38
add eax, 0xca9492c1
cmp eax, 0xf78273dc
mov rdx, qword [rsp + 0x50]
jbe 0x14001db40
mov rax, qword [rsp + 0x40]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
mov eax, dword [0x141dc3608]
or eax, dword [0x141dc360c]
mov rcx, qword [rsp + 0x40]
mov qword [rdx + 0x10], rcx
imul rax, rax, 0x48636875
shr rax, 0x3e
imul eax, eax, 0xad23ea92
add eax, 0x67984282
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
cmp eax, 0xde4e4749
ja 0x14001db40
nop word [rax + rax]
mov eax, dword [0x141dc3610]
add eax, dword [0x141dc3614]
xor eax, 0x8c430800
or eax, 0x73a845db
cmp eax, 0x18c3da9a
je 0x14001db80
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc3540]
sub eax, dword [0x141dc3544]
or eax, 0x12201390
and eax, 0x1eba1795
imul eax, eax, 0x5cf50603
ud2
ud2
ud2