Function at 0x140044960
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r8, rcx
and r9d, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x141dc6b28]
sub eax, dword [str.I_W]
imul eax, eax, 0x897f310c
cmp eax, 0x4d3233b9
je 0x140044980
xor r11d, r11d
nop dword [rax]
mov eax, dword [0x141dc6b30]
or eax, dword [0x141dc6b34]
imul eax, eax, 0x1a025c02
add eax, 0xf82d1d4e
cmp eax, 0xfeac6585
ja 0x1400449a0
mov r10, qword [r8]
xor eax, eax
nop word cs:[rax + rax]
cmp r11, r10
je 0x140044b22
cmp r11, 0x300
je 0x140044bfd
add rax, rax
lea rdi, [rax + rax*4]
mov eax, dword [0x141dc6b60]
imul eax, dword [0x141dc6b64]
or eax, 0xd8505a1
add eax, 0x3aed325f
xor eax, 0x35e143af
cmp eax, 0xa1651b25
ja 0x1400449ed
movzx ebx, byte [r8 + r11 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc6b68]
xor edx, edx
div dword [0x141dc6b6c]
xor eax, 0x4244cd01
and eax, 0xea44ff41
lea rsi, [rdi + rbx]
mov rdx, rsi
mov ecx, r9d
shr rdx, cl
cmp eax, 0x4788145b
je 0x140044a20
mov rcx, r11
or rcx, 1
test rdx, rdx
jne 0x140044b6c
nop dword [rax]
mov eax, dword [0x141dc6b70]
and eax, dword [0x141dc6b74]
xor eax, 0x7881aa67
add eax, 0xe1dc4699
and eax, 0x62563ae5
cmp eax, 0x3fb88dab
je 0x140044a60
nop word cs:[rax + rax]
mov eax, dword [0x141dc6b78]
xor edx, edx
div dword [0x141dc6b7c]
or eax, 0xc25c8340
and eax, 0xc35c8348
add eax, 0x8745a59e
cmp eax, 0x70db0ff0
ja 0x140044a90
cmp rcx, r10
je 0x140044b30
mov eax, dword [0x141dc6b80]
imul eax, dword [0x141dc6b84]
or eax, 0x45fbf8b8
add eax, 0x5b0cbd82
xor eax, 0x295d22ae
cmp eax, 0xa118b296
jb 0x140044ab9
add rsi, rsi
lea rax, [rsi + rsi*4]
movzx ecx, byte [r8 + rcx + 8]
mov edx, dword [0x141dc6b88]
imul edx, dword [0x141dc6b8c]
imul edx, edx, 0x1aee7ab5
cmp edx, 0x7903f1f5
je 0x140044ae9
add rax, rcx
add r11, 2
mov rdx, rax
mov ecx, r9d
shr rdx, cl
test rdx, rdx
je 0x1400449d0
jmp 0x140044bd2
mov rsi, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc6b38]
add eax, dword [0x141dc6b3c]
xor eax, 0x10040000
or eax, 0xedfbfbff
cmp eax, 0x20d22a0a
je 0x140044b30
test rsi, rsi
je 0x1400451b1
mov rax, rsi
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x140044b74
mov rax, rsi
mov r11, r10
jmp 0x140044bd2
mov rax, rsi
mov r11, rcx
jmp 0x140044bd2
mov r11, r10
nop word [rax + rax]
mov eax, dword [0x141dc6b40]
xor edx, edx
div dword [0x141dc6b44]
nop
mov edi, dword [0x141dc6b48]
and edi, dword [0x141dc6b4c]
and edi, 0x7316f6b
add edi, 0xcc157a93
or edi, 0xf132307f
lea rax, [rsi + rsi]
lea rax, [rax + rax*4]
mov rdx, rax
mov ecx, r9d
shr rdx, cl
cmp edi, 0x76e6f5c
jb 0x140044b90
inc r11
mov rsi, rax
test rdx, rdx
je 0x140044b80
mov ecx, dword [0x141dc6b50]
xor ecx, dword [0x141dc6b54]
mov edx, 0xc970dcdb
imul rdx, rcx
shr rdx, 0x3e
not edx
and edx, 0xc6228009
cmp edx, 0x453ddc03
jae 0x140044c19
jmp 0x140044c4d
ud2
mov edx, dword [0x141dc6b58]
imul edx, dword [0x141dc6b5c]
add edx, 0x8b78903d
and edx, 0x8193a5f1
mov ecx, dword [r8 + 0x308]
sub ecx, r11d
inc ecx
mov dword [r8 + 0x308], ecx
cmp edx, 0xd5e432ff
jbe 0x140044c62
mov ecx, dword [r8 + 0x308]
sub ecx, r11d
inc ecx
mov dword [r8 + 0x308], ecx
jmp 0x140044c19
cmp ecx, 0xfffff801
jge 0x140044ca0
mov eax, dword [0x141dc6ba8]
and eax, dword [0x141dc6bac]
and eax, 0x580485
or eax, 0xd3a7ba4a
imul eax, eax, 0x6148babe
cmp eax, 0x7671602b
jbe 0x140045118
jmp 0x140045148
mov ecx, dword [0x141dc6b90]
imul ecx, dword [0x141dc6b94]
add ecx, 0x4e83272
and ecx, 0xc4b205e8
imul esi, ecx, 0xb9f171b0
mov rdx, 0xffffffffffffffff
mov ecx, r9d
shl rdx, cl
cmp esi, 0xf22e2070
ja 0x140044ca0
not rdx
nop word [rax + rax]
mov ecx, dword [0x141dc6b98]
imul ecx, dword [0x141dc6b9c]
imul rcx, rcx, 0x10750059
shr rcx, 0x3b
or ecx, 0xd4f0934c
imul rsi, rcx, 0x22b80209
shr rsi, 0x20
sub ecx, esi
shr ecx, 1
add ecx, esi
shr ecx, 0x1e
cmp ecx, 0x4843ddff
je 0x140044ce0
sub r10, r11
jbe 0x140044e56
mov ecx, 0x864f43b9
nop dword [rax + rax]
mov esi, dword [0x141dc6ba0]
and esi, dword [0x141dc6ba4]
add esi, 0xb162909
shr esi, 1
imul rsi, rcx
shr rsi, 0x3e
or esi, 0xe76d89e8
cmp esi, 0x9aa79737
je 0x140044d30
xor esi, esi
xor edi, edi
nop
cmp r11, 0x300
jae 0x140045078
mov rbx, rax
mov ecx, r9d
shr rbx, cl
test sil, sil
jne 0x140044d76
test sil, sil
je 0x140044d85
mov byte [r8 + rdi + 8], bl
lea rcx, [r11 + 1]
and rax, rdx
add rax, rax
lea rax, [rax + rax*4]
nop word cs:[rax + rax]
mov r14d, dword [0x141dc6c40]
mov r15d, dword [0x141dc6c44]
lea ebp, [r14 + r15]
add ebp, 0xd851af0
and ebp, 0x60c00502
movzx r14d, byte [r8 + r11 + 8]
mov byte [r8 + rdi + 8], bl
cmp ebp, 0x943f91a3
ja 0x140044da0
add rax, r14
inc rdi
mov r11, rcx
cmp rdi, r10
jne 0x140044d60
nop
mov ecx, dword [0x141dc6bc8]
imul ecx, dword [0x141dc6bcc]
add ecx, 0x5a8ce835
imul rcx, rcx, 0x4a21e8c3
shr rcx, 0x3d
xor ecx, 0x41a035ae
cmp ecx, 0x33306abe
jb 0x140044de0
test rax, rax
jne 0x140044e62
mov qword [r8], r10
mov eax, 0xd77935bf
nop dword [rax]
mov ecx, dword [str.yJ_]
add ecx, dword [0x141dc6bdc]
imul ecx, ecx, 0x9147906b
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x13ae8ce9
cmp ecx, 0x489a2fa5
ja 0x140044e20
test r10, r10
jne 0x140044fb0
jmp 0x1400451b1
test rax, rax
je 0x140045043
xor r10d, r10d
mov r11b, 1
mov esi, 0x9d27b853
mov edi, 0xa0974383
nop
mov rbx, rax
mov ecx, r9d
shr rbx, cl
cmp r10, 0x300
jae 0x140044ef0
mov ecx, dword [0x141dc6c20]
add ecx, dword [0x141dc6c24]
imul ecx, ecx, 0xfcd339dc
cmp ecx, 0xc41dbcf9
jae 0x140044eb0
mov byte [r8 + r10 + 8], bl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6c28]
xor ecx, dword [0x141dc6c2c]
and ecx, 0x936804a3
add ecx, 0xf0ce012b
mov byte [r8 + r10 + 8], bl
cmp ecx, 0x12c4704f
jb 0x140044eb0
nop word cs:[rax + rax]
test r11b, r11b
je 0x140044ee0
inc r10
jmp 0x140044f4a
test bl, bl
je 0x140044f4a
mov ecx, dword [0x141dc6c08]
sub ecx, dword [str.iv_]
add ecx, 0x93d71079
shr ecx, 1
imul rcx, rcx, 0x136bb0fb
shr rcx, 0x3a
cmp ecx, 0xfb693f95
ja 0x140044fa0
nop
mov ecx, dword [0x141dc6c10]
or ecx, dword [0x141dc6c14]
imul rcx, rdi
shr rcx, 0x3e
or ecx, 0x40a19d04
mov byte [r8 + 0x30c], 1
cmp ecx, 0x8c30a51b
je 0x140044fa0
and rax, rdx
add rax, rax
lea rax, [rax + rax*4]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6c18]
and ecx, dword [0x141dc6c1c]
mov rbx, rcx
imul rbx, rsi
shr rbx, 0x20
sub ecx, ebx
shr ecx, 1
add ecx, ebx
shr ecx, 0x1e
xor ecx, 0x721bda97
cmp ecx, 0x5d732a60
jb 0x140044f60
test rax, rax
jne 0x140044e70
jmp 0x140044fad
mov byte [r8 + 0x30c], 1
jmp 0x140044f20
mov qword [r8], r10
mov eax, dword [0x141dc6be0]
xor edx, edx
div dword [0x141dc6be4]
nop
mov eax, dword [0x141dc6be8]
xor edx, edx
div dword [0x141dc6bec]
xor eax, 0xbc3f055a
add eax, 0x559bc13b
cmp eax, 0xdc7dc36f
ja 0x140044fc0
cmp r10, 0x300
ja 0x140045098
dec r10
mov eax, 0x9bb3750d
nop word cs:[rax + rax]
cmp byte [r8 + r10 + 8], 0
jne 0x1400451b1
mov qword [r8], r10
nop
mov ecx, dword [0x141dc6c00]
add ecx, dword [0x141dc6c04]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0xefefcd6f
add ecx, 0x5d0636fb
cmp ecx, 0x6795ffd5
ja 0x140045010
add r10, 0xffffffffffffffff
jb 0x140045000
jmp 0x1400451b1
mov qword [r8], 0
nop word [rax + rax]
mov eax, dword [0x141dc6bd0]
sub eax, dword [0x141dc6bd4]
imul rax, rax, 0x4f9ff3af
shr rax, 0x3e
or eax, 0x7e7f97ec
cmp eax, 0xd5f701cb
je 0x140045050
jmp 0x1400451b1
mov eax, dword [0x141dc6c30]
and eax, dword [0x141dc6c34]
xor eax, 0xbbd9dc7
imul eax, eax, 0x97f6395a
cmp eax, 0xec9bdfea
jne 0x1400450e6
jmp 0x140045112
mov eax, dword [0x141dc6bf0]
or eax, dword [0x141dc6bf4]
and eax, 0xa5ba4257
xor eax, 0xe5c09211
cmp eax, 0x1d0c6b77
jae 0x1400450c0
ud2
mov eax, dword [0x141dc6bf8]
add eax, dword [0x141dc6bfc]
xor eax, 0xaf43fa52
add eax, 0x7ee6f9b0
or eax, 0x5a78796f
ud2
mov eax, dword [0x141dc6c38]
imul eax, dword [0x141dc6c3c]
imul rax, rax, 0x5cbb9401
shr rax, 0x3e
or eax, 0x337c358e
imul eax, eax, 0x4cb984d9
ud2
ud2
mov eax, dword [0x141dc6bb0]
add eax, dword [0x141dc6bb4]
imul eax, eax, 0x20922599
or eax, 0x2ae9f35f
mov qword [r8], 0
mov dword [r8 + 0x308], 0
cmp eax, 0xe3b83e51
jbe 0x14004515c
mov qword [r8], 0
mov dword [r8 + 0x308], 0
jmp 0x140045118
mov eax, dword [0x141dc6bb8]
imul eax, dword [0x141dc6bbc]
add eax, 0x7383d0f9
cmp eax, 0x4a00fe83
jbe 0x140045180
mov byte [r8 + 0x30c], 0
nop dword [rax]
mov eax, dword [0x141dc6bc0]
add eax, dword [0x141dc6bc4]
or eax, 0xe41067e1
imul eax, eax, 0x7732b220
imul rax, rax, 0x2cc142af
shr rax, 0x3d
mov byte [r8 + 0x30c], 0
cmp eax, 0x5d052fb9
jae 0x140045180
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret