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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov r9, rdx
mov r8, rcx
and r9d, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x141f32ef0]
add eax, dword [0x141f32ef4]
and eax, 0x607b6a31
imul eax, eax, 0x4094814f
or eax, 0x64913085
cmp eax, 0x1b946621
je 0x140045ef0
mov r10, qword [r8]
xor esi, esi
nop dword [rax + rax]
mov eax, dword [0x141f32ef8]
sub eax, dword [0x141f32efc]
or eax, 0x2e1f2479
and eax, 0x2e1f6479
cmp eax, 0x8aa5dc45
je 0x140045f20
xor r11d, r11d
cmp rsi, r10
je 0x1400460ca
nop dword [rax]
mov eax, dword [0x141f32f08]
or eax, dword [0x141f32f0c]
xor eax, 0xf8524d81
imul eax, eax, 0x8ea0ad6c
cmp eax, 0x5bfca924
je 0x140045f50
nop
mov eax, dword [0x141f32f10]
add eax, dword [0x141f32f14]
or eax, 0x9bf207c6
imul eax, eax, 0x455bcae1
cmp eax, 0x973aa1a
je 0x140045f70
cmp rsi, 0x300
je 0x14004671c
add r11, r11
lea rax, [r11 + r11*4]
nop word cs:[rax + rax]
mov r11d, dword [0x141f32f20]
sub r11d, dword [0x141f32f24]
add r11d, 0x563ee4b7
and r11d, 0x1d283ffc
movzx edi, byte [r8 + rsi + 8]
add rdi, rax
mov rdx, rdi
mov ecx, r9d
shr rdx, cl
cmp r11d, 0xe0465cb1
je 0x140045fb0
mov rax, rsi
or rax, 1
mov ecx, dword [0x141f32f28]
sub ecx, dword [0x141f32f2c]
imul ecx, ecx, 0x544b22ca
and ecx, 0xfec75fd0
imul r11, rcx, 0x35f5827b
shr r11, 0x20
sub ecx, r11d
shr ecx, 1
add ecx, r11d
shr ecx, 0x1f
cmp ecx, 0xd95e5a7e
je 0x140045fee
test rdx, rdx
jne 0x140046107
nop dword [rax]
mov ecx, dword [0x141f32f30]
and ecx, dword [0x141f32f34]
and ecx, 0x95a598e8
cmp ecx, 0x6affa782
je 0x140046030
cmp rax, r10
je 0x1400460cd
mov ecx, dword [0x141f32f38]
add ecx, dword [0x141f32f3c]
or ecx, 0x184118f9
add ecx, 0x444630c2
or ecx, 0xc5d1d0dc
cmp ecx, 0x57bd9c28
je 0x14004604f
add rdi, rdi
lea rcx, [rdi + rdi*4]
movzx r11d, byte [r8 + rax + 8]
add r11, rcx
add rsi, 2
mov eax, dword [0x141f32f40]
xor eax, dword [0x141f32f44]
xor eax, 0x7d458da
imul eax, eax, 0x29094957
imul rdx, rax, 0x3849690d
shr rdx, 0x3d
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp edx, 0x98fe17c
je 0x140046089
test rax, rax
je 0x140045f40
jmp 0x14004615b
mov rdi, r11
test rdi, rdi
je 0x140046712
mov rax, rdi
mov ecx, r9d
shr rax, cl
nop
mov ecx, dword [0x141f32f00]
or ecx, dword [0x141f32f04]
add ecx, 0xfbe6c101
cmp ecx, 0x77f020e2
jb 0x1400460e0
test rax, rax
je 0x14004610f
mov r11, rdi
mov rsi, r10
jmp 0x14004615b
mov r11, rdi
mov rsi, rax
jmp 0x14004615b
mov rsi, r10
nop word cs:[rax + rax]
mov eax, dword [0x141f32f18]
xor edx, edx
div dword [0x141f32f1c]
add eax, 0xa8909f08
or eax, 0xb534d8f6
lea rcx, [rdi + rdi]
lea r11, [rcx + rcx*4]
mov rdx, r11
mov ecx, r9d
shr rdx, cl
cmp eax, 0xfbd34abe
je 0x140046120
inc rsi
mov rdi, r11
test rdx, rdx
je 0x140046120
mov eax, dword [r8 + 0x308]
sub eax, esi
inc eax
mov dword [r8 + 0x308], eax
cmp eax, 0xfffff801
jge 0x140046230
mov eax, dword [str.__UO]
or eax, dword [0x141f32f7c]
and eax, 0x963eb925
add eax, 0xcd2d5216
cmp eax, 0x70cb317c
jae 0x14004619c
mov qword [r8], 0
xor eax, eax
nop
mov qword [r8], 0
test al, al
jne 0x1400461a0
mov eax, dword [0x141f32f80]
add eax, dword [0x141f32f84]
imul rax, rax, 0x448bcb25
shr rax, 0x3b
imul eax, eax, 0x742b783d
add eax, 0x5bcf2077
cmp eax, 0xe144aee7
jbe 0x1400461df
mov dword [r8 + 0x308], 0
mov eax, 0x9139531b
nop word cs:[rax + rax]
mov ecx, dword [0x141f32f88]
sub ecx, dword [0x141f32f8c]
add ecx, 0x47b7df13
and ecx, 0xf37a0eb0
imul rcx, rax
shr rcx, 0x3d
mov dword [r8 + 0x308], 0
cmp ecx, 0x3923c35b
je 0x1400461f0
mov byte [r8 + 0x30c], 0
jmp 0x140046712
mov eax, dword [0x141f32f58]
xor eax, dword [0x141f32f5c]
or eax, 0x7ec8521c
imul eax, eax, 0x1ab57651
or eax, 0x86622945
mov rdi, 0xffffffffffffffff
mov ecx, r9d
shl rdi, cl
cmp eax, 0xb409768e
je 0x140046230
not rdi
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046270
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046280
sub r10, rsi
jbe 0x140046441
mov eax, dword [0x141f32f60]
xor edx, edx
div dword [0x141f32f64]
nop dword [rax + rax]
mov eax, dword [0x141f32f68]
and eax, dword [0x141f32f6c]
add eax, 0x551c6fb4
or eax, 0xcff5ddc7
cmp eax, 0x655322d
jb 0x1400462a0
nop dword [rax]
mov eax, dword [0x141f32f70]
xor eax, dword [0x141f32f74]
imul eax, eax, 0x6bdfca8d
add eax, 0x42a44762
cmp eax, 0xb3a13bf
ja 0x1400462c0
xor eax, eax
mov edx, 0xd9c7bd5d
mov ebx, 0x8a4dfd95
xor r14d, r14d
jmp 0x140046307
lea r11, [r11 + r11*4]
lea r11, [r12 + r11*2]
inc r14
mov rsi, rcx
cmp r14, r10
je 0x1400463d0
mov ecx, dword [0x141f32fb0]
imul ecx, dword [0x141f32fb4]
xor ecx, 0xd749df94
add ecx, 0x13667138
xor ecx, 0x3e9d78fc
cmp ecx, 0x37395dea
jb 0x140046307
cmp rsi, 0x300
jae 0x140046773
mov r15, r11
mov ecx, r9d
shr r15, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141f33018]
add ecx, dword [0x141f3301c]
shr ecx, 1
imul rcx, rdx
shr rcx, 0x3a
xor ecx, 0x877ab083
add ecx, 0x7caf76df
cmp ecx, 0x5bee0cd6
ja 0x140046350
lea rcx, [rsi + 1]
and r11, rdi
mov r12d, dword [0x141f33020]
xor r12d, dword [0x141f33024]
or r12d, 0x95fff674
imul r12, rbx
shr r12, 0x3f
cmp r12d, 0x8d9812c4
je 0x1400463c3
nop word [rax + rax]
movzx r12d, byte [r8 + rsi + 8]
mov byte [r8 + r14 + 8], r15b
test al, al
je 0x1400462f0
mov byte [r8 + r14 + 8], r15b
jmp 0x1400463b0
mov eax, dword [0x141f32f90]
imul eax, dword [0x141f32f94]
add eax, 0xf95bf734
or eax, 0xdc79b81e
add eax, 0xca86812
cmp eax, 0x517d7bd7
jb 0x1400463d0
test r11, r11
jne 0x140046470
mov qword [r8], r10
xor eax, eax
nop dword [rax]
test al, al
jne 0x140046400
nop word cs:[rax + rax]
mov eax, dword [0x141f32fb8]
or eax, dword [0x141f32fbc]
imul eax, eax, 0x7b556c3e
or eax, 0x33fdb625
add eax, 0xc4e7ec49
cmp eax, 0x54fe61c3
ja 0x140046410
test r10, r10
jne 0x1400465b2
jmp 0x140046712
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046450
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046460
test r11, r11
je 0x1400466a7
xor r10d, r10d
mov eax, dword [0x141f32fa8]
and eax, dword [0x141f32fac]
imul eax, eax, 0x702d3f68
add eax, 0x50fa526d
cmp eax, 0xc37651f4
ja 0x140046470
xor esi, esi
mov eax, dword [0x141f32fe8]
xor edx, edx
div dword [0x141f32fec]
nop
mov edx, dword [0x141f32ff0]
add edx, dword [0x141f32ff4]
xor edx, 0x10100200
or edx, 0x852bfdd5
and edx, 0xf7bbfff5
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp edx, 0x4ef6553e
jb 0x1400464a0
cmp r10, 0x300
jae 0x1400464f0
mov byte [r8 + r10 + 8], al
inc r10
jmp 0x14004657d
test sil, sil
jne 0x1400464f0
test al, al
je 0x14004657d
mov eax, dword [str.iURzZM]
xor eax, dword [0x141f32ffc]
add eax, 0x8c8f72cb
imul rax, rax, 0x11629eb1
shr rax, 0x3b
cmp eax, 0xf71e481e
jne 0x140046530
mov byte [r8 + 0x30c], 1
nop dword [rax + rax]
mov eax, dword [0x141f33000]
add eax, dword [0x141f33004]
xor eax, 0xc2054008
or eax, 0x39282ba5
add eax, 0x761d5c34
mov byte [r8 + 0x30c], 1
cmp eax, 0xabaa8400
ja 0x140046530
nop word [rax + rax]
mov eax, dword [0x141f33008]
xor eax, dword [0x141f3300c]
add eax, 0x8269df35
or eax, 0xaeff6ebf
cmp eax, 0x321174ac
jb 0x140046560
and r11, rdi
add r11, r11
lea r11, [r11 + r11*4]
mov eax, dword [0x141f33010]
xor edx, edx
div dword [0x141f33014]
xor eax, 0x72d419c0
add eax, 0x883070bd
cmp eax, 0x94d2e3b7
jb 0x140046587
test r11, r11
jne 0x140046490
mov qword [r8], r10
cmp r10, 0x300
ja 0x140046724
mov eax, 0xcbdf0461
nop word cs:[rax + rax]
cmp byte [r8 + r10 + 7], 0
jne 0x140046712
dec r10
mov ecx, dword [0x141f32fc8]
sub ecx, dword [0x141f32fcc]
and ecx, 0x804ea86
cmp ecx, 0x9970bd9c
je 0x14004662d
nop dword [rax]
mov ecx, dword [0x141f32fd0]
and ecx, dword [0x141f32fd4]
xor ecx, 0x290020
or ecx, 0xd3c6e85c
shr ecx, 1
imul rcx, rax
shr rcx, 0x39
mov qword [r8], r10
cmp ecx, 0xeef81adc
jne 0x140046640
mov qword [r8], r10
jmp 0x140046600
mov ecx, dword [0x141f32fd8]
imul ecx, dword [0x141f32fdc]
xor ecx, 0x5000
or ecx, 0xdfb5affc
cmp ecx, 0xc47e203
je 0x140046640
nop word cs:[rax + rax]
mov ecx, dword [0x141f32fe0]
imul ecx, dword [0x141f32fe4]
add ecx, 0x3c798aab
xor ecx, 0x38a05231
imul rcx, rcx, 0x4a787115
shr rcx, 0x3d
cmp ecx, 0x91e2a20a
ja 0x140046670
test r10, r10
jne 0x1400465d0
jmp 0x140046712
xor eax, eax
test al, al
je 0x1400466c0
mov qword [r8], 0
nop word cs:[rax + rax]
mov eax, dword [0x141f32f98]
mov ecx, dword [0x141f32f9c]
add eax, ecx
add eax, 0xf69a7b61
xor eax, 0x916c243b
mov qword [r8], 0
cmp eax, 0x11134d7c
jb 0x1400466c0
nop word cs:[rax + rax]
mov eax, dword [0x141f32fa0]
xor eax, dword [0x141f32fa4]
and eax, 0xe81a6e6f
add eax, 0xb563684b
xor eax, 0xb1b6d4ab
cmp eax, 0x7a2f407e
jae 0x1400466f0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor eax, eax
test al, al
je 0x14004672c
jmp 0x140046747
xor eax, eax
test al, al
je 0x140046775
jmp 0x140046798
mov eax, dword [0x141f32f48]
xor eax, dword [0x141f32f4c]
imul eax, eax, 0x54d9483c
ud2
ud2
ud2
mov eax, dword [0x141f32fc0]
and eax, dword [0x141f32fc4]
shr eax, 4
imul rax, rax, 0x9275b65
shr rax, 0x36
ud2
ud2