Function at 0x1400521b0
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, 0x18
mov r9, rdx
mov r8, rcx
mov eax, 0xdcbb75a1
nop dword [rax + rax]
mov ecx, dword [0x140213678]
add ecx, dword [0x14021367c]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0xd39b7a79
add ecx, 0xf6467a8e
cmp ecx, 0x234d4e4
jb 0x1400521d0
mov rsi, qword [r8]
nop dword [rax + rax]
mov eax, dword [0x140213680]
xor edx, edx
div dword [0x140213684]
imul eax, eax, 0xe3852078
shr eax, 4
imul rax, rax, 0x80e86f3
shr rax, 0x36
or eax, 0x1f795d94
cmp eax, 0x3ef31c00
ja 0x140052200
test rsi, rsi
je 0x140052efa
and r9d, 0x3f
lea rax, [0x140202e38]
movzx edx, word [rax + r9*2]
mov ecx, edx
and ecx, 0x7ff
cmp ecx, 0x51d
jae 0x140052ce3
shr edx, 0xb
mov qword [rsp], rdx
movzx edx, cx
mov qword [rsp + 0x10], r9
movzx eax, word [rax + r9*2 + 2]
mov ecx, eax
not ecx
or ecx, 0x7ff
add eax, ecx
inc eax
movzx ecx, ax
lea r10, [0x140202eba]
add r10, rdx
sub rcx, rdx
xor ebx, ebx
mov r14d, 0xd7e12aa3
mov r15d, 0xe93d0377
mov r13d, 0xb502bf55
mov ebp, 0xa7329f4d
nop word [rax + rax]
mov eax, dword [0x140213698]
xor eax, dword [0x14021369c]
or eax, 0x60ac50fa
imul r11, rax, 0x1c2a7955
shr r11, 0x3c
or r11d, 0x45966728
test rcx, rcx
sete al
lea rdx, [0x1402033d6]
cmp r10, rdx
sete dl
cmp r11d, 0x3b9c59af
je 0x1400522b0
or al, dl
jne 0x140052723
lea rax, [r10 + 1]
mov qword [rsp + 8], rax
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rdi, rbx
xor rdi, 1
add rdi, rbx
sub rdi, rax
nop word cs:[rax + rax]
mov eax, dword [0x1402136a0]
mov edx, dword [0x1402136a4]
mov r11d, edx
not r11d
mov r12d, eax
and r12d, r11d
or r11d, eax
not r11d
imul r11d, r12d
mov r12d, eax
and r12d, edx
or eax, edx
imul eax, r12d
add eax, r11d
imul rax, r14
shr rax, 0x3d
or eax, 0xac70e970
imul rax, r15
shr rax, 0x3e
cmp eax, 0x924576db
je 0x140052320
movzx r11d, byte [r10]
mov eax, dword [0x1402136a8]
xor edx, edx
div dword [0x1402136ac]
mov eax, dword [0x1402136b0]
mov edx, dword [0x1402136b4]
not eax
not edx
mov r12d, eax
or r12d, edx
and edx, eax
not edx
and edx, r12d
mov eax, edx
not eax
and eax, 0xaf7c3f9d
and edx, 0x5083c062
sub edx, eax
mov eax, edx
xor eax, 0x10253210
xor edx, 0xc4000800
and edx, 0xc7c04d48
and eax, 0x383fb2b7
or eax, edx
cmp eax, 0xe55c24dc
je 0x14005237f
cmp rbx, rsi
je 0x140052729
nop word [rax + rax]
mov eax, dword [0x1402136b8]
mov edx, dword [0x1402136bc]
mov r12d, edx
and r12d, eax
add eax, edx
sub eax, r12d
and eax, 0x1040111
add eax, 0x298cb8ea
cmp eax, 0xe058f07c
ja 0x1400523e0
cmp rbx, 0x300
je 0x140052cab
mov eax, dword [0x1402136c0]
xor edx, edx
div dword [0x1402136c4]
mov eax, dword [0x1402136c8]
add eax, dword [0x1402136cc]
mov edx, 0xedef7ef7
imul rax, rdx
shr rax, 0x3f
or eax, 0x6b79e02c
mov edx, eax
and edx, 0x6b68a001
add edx, edx
sub eax, edx
cmp eax, 0x5684bd66
je 0x140052423
movzx eax, byte [r8 + rbx + 8]
mov r9d, dword [0x1402136d0]
mov r12d, dword [0x1402136d4]
mov edx, r9d
xor edx, r12d
not edx
and edx, r12d
add edx, edx
sub r12d, edx
add r12d, r9d
and r12d, 0x27b7c058
imul edx, r12d, 0xd8d4f3c9
cmp edx, 0x9bfe175f
je 0x14005245a
cmp al, r11b
jne 0x14005268e
nop word [rax + rax]
mov eax, dword [0x1402136d8]
xor edx, edx
div dword [str.eC7u]
xor eax, 0xc4142c0
or eax, 0x33a4303c
shr eax, 2
imul rax, rax, 0x444c89c5
shr rax, 0x3a
cmp eax, 0xab2a6220
ja 0x1400524a0
cmp rcx, 1
je 0x140052723
add rcx, 0xfffffffffffffffe
mov eax, dword [0x1402136e0]
mov edx, dword [0x1402136e4]
not eax
not edx
or edx, eax
mov eax, edx
not eax
mov r9d, eax
and r9d, 0x742345ad
and edx, 0x8bdcba52
imul edx, r9d
mov r9d, eax
and r9d, 0x8bdcba52
or eax, 0x8bdcba52
imul eax, r9d
add eax, edx
add eax, 0xe0a21bfd
cmp eax, 0xf49b628b
ja 0x1400524db
nop word cs:[rax + rax]
mov eax, dword [0x1402136e8]
or eax, dword [0x1402136ec]
add eax, 0x483fa0ca
mov edx, eax
not edx
mov r9d, eax
and r9d, 0xd4cc10a6
and edx, 0x2b33ef59
imul edx, r9d
mov r9d, eax
and r9d, 0x2b33ef59
or eax, 0x2b33ef59
imul eax, r9d
add eax, edx
imul rax, r13
shr rax, 0x3f
cmp eax, 0xc8b65331
ja 0x140052530
lea rax, [0x1402033d6]
cmp qword [rsp + 8], rax
je 0x140052723
nop
mov eax, dword [0x1402136f0]
mov edx, dword [0x1402136f4]
mov r9d, eax
xor r9d, edx
not r9d
or eax, edx
and eax, r9d
mov edx, eax
xor edx, 0xd5682151
or eax, 0x2114008
and eax, edx
and eax, 0xd7796159
mov edx, eax
xor edx, 0xaa8019b6
or eax, 0x55796049
and eax, edx
cmp eax, 0xb32a24e8
je 0x140052590
cmp rdi, rsi
je 0x140052729
mov eax, dword [0x1402136f8]
mov edx, dword [0x1402136fc]
mov r9d, edx
not r9d
mov r11d, eax
and r11d, r9d
or r9d, eax
not r9d
imul r9d, r11d
mov r11d, eax
and r11d, edx
or eax, edx
imul eax, r11d
add eax, r9d
mov edx, eax
xor edx, 0x1c997193
and eax, 0x3668e6c
add eax, eax
sub eax, edx
imul eax, eax, 0x63b7a5aa
and eax, 0x1d8a594c
cmp eax, 0x62c3a938
ja 0x1400525dd
add rbx, 2
mov rax, qword [rsp + 8]
movzx r11d, byte [rax]
add r10, 2
movzx eax, byte [r8 + rdi + 8]
nop dword [rax + rax]
mov edx, dword [0x140213700]
mov r9d, dword [0x140213704]
mov edi, edx
xor edi, r9d
not edi
or edx, r9d
and edx, edi
and edx, 0x7b73c48
add edx, 0xed4ac289
imul rdx, rbp
shr rdx, 0x3e
cmp edx, 0x2f06e462
ja 0x140052650
cmp al, r11b
je 0x1400522b0
movabs rcx, 0x3db04e9c9c9e9357
mov rdi, qword [rsp]
nop dword [rax]
mov edx, dword [0x140213720]
mov r9d, dword [0x140213724]
mov r10d, edx
and r10d, r9d
add r10d, r10d
add edx, r9d
sub edx, r10d
mov r9d, edx
and r9d, 0x7b0c12ee
or edx, 0x7b0c12ee
add edx, r9d
mov r9d, edx
not r9d
and r9d, 0x907bb650
mov r10d, edx
and r10d, 0x6f8449af
imul r10d, r9d
mov r9d, edx
and r9d, 0x907bb650
or edx, 0x907bb650
imul edx, r9d
add edx, r10d
imul r9d, edx, 0xfbde52ce
cmp al, r11b
mov rdx, rcx
sbb rdx, 0
cmp r9d, 0x8897822d
je 0x1400526a0
add rdx, rdi
sub rdx, rcx
jmp 0x140052730
mov rdx, qword [rsp]
jmp 0x140052730
mov rdx, qword [rsp]
dec rdx
movabs rbx, 0x7ca489e0079a9364
mov rax, rdx
and rax, rsi
mov qword [rsp], rdx
mov r14, rdx
or r14, rsi
add r14, rax
xor r15d, r15d
mov r12d, 0x8fae81d9
mov r13d, 0xa85b3953
mov ebp, 0xb92e7b4b
mov r11d, 0xce819713
xor edi, edi
nop dword [rax]
mov eax, dword [0x140213730]
mov ecx, dword [0x140213734]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0x469b3aa8
imul rax, r12
shr rax, 0x3f
or eax, 0x81fa0662
cmp eax, 0xe9bbddc1
ja 0x140052770
cmp rsi, 0x301
jae 0x140052c5b
dec rsi
dec r14
test r15b, r15b
jne 0x1400527b2
movzx eax, byte [r8 + rsi + 8]
mov rcx, qword [rsp + 0x10]
shl rax, cl
sub rax, rbx
add rdi, rbx
mov rcx, rdi
add rcx, rax
mov rax, rcx
movabs rdx, 0xcccccccccccccccd
mul rdx
mov rdi, rdx
shr rdi, 3
mov rax, rdi
not rax
mov edx, edi
and edx, 9
and rax, 0xfffffffffffffff6
imul rax, rdx
mov rdx, rdi
and rdx, 0xfffffffffffffff6
mov r10, rdi
or r10, 0xfffffffffffffff6
imul r10, rdx
add r10, rax
mov eax, dword [0x1402137b0]
or eax, dword [0x1402137b4]
imul rax, r13
shr rax, 0x3f
imul eax, eax, 0x69696c4
mov edx, eax
xor edx, 0x4237337f
and eax, 0x5c8cc80
add eax, eax
sub eax, edx
cmp eax, 0x5433d11f
jb 0x140052810
add r10, rcx
cmp r14, 0x300
jae 0x140052950
nop word cs:[rax + rax]
mov eax, dword [0x1402137d8]
sub eax, dword [0x1402137dc]
or eax, 0xaffeff5f
add eax, 0x800f97f8
cmp eax, 0x5131da58
ja 0x140052860
mov edx, dword [0x1402137e0]
mov eax, dword [0x1402137e4]
mov r9d, edx
or r9d, eax
not r9d
not edx
not eax
and eax, edx
or eax, r9d
not eax
mov edx, 0xe4f01309
imul rax, rdx
shr rax, 0x3e
mov edx, eax
not edx
mov r9d, eax
and r9d, 0xfffffffe
and edx, 0x9f163a55
imul edx, r9d
mov r9d, eax
and r9d, 1
or eax, 0x9f163a55
imul eax, r9d
add eax, edx
xor eax, 0x1d8f25dc
cmp eax, 0x61a53b34
jae 0x1400528f0
mov byte [r8 + r14 + 8], r10b
nop word cs:[rax + rax]
mov eax, dword [0x1402137e8]
xor edx, edx
div dword [0x1402137ec]
imul eax, eax, 0xf7a1ffbf
add eax, 0x20b8df69
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x69756a73
and edx, 0x968a958c
imul edx, r9d
mov r9d, eax
and r9d, 0x968a958c
or eax, 0x968a958c
imul eax, r9d
add eax, edx
mov byte [r8 + r14 + 8], r10b
cmp eax, 0x38a1deaf
je 0x1400528f0
jmp 0x1400529e0
mov eax, dword [0x1402137c0]
imul eax, dword [0x1402137c4]
lea edx, [rax - 0x1746e755]
not edx
or edx, 0xee7b6054
add eax, edx
add eax, 0xe8b918ac
imul rax, r11
shr rax, 0x3d
cmp eax, 0x87336976
je 0x140052950
test r10, r10
je 0x1400529e0
test r15b, r15b
je 0x140052993
mov byte [r8 + 0x30c], 1
mov byte [r8 + 0x30c], 1
test r15b, r15b
jne 0x14005298b
mov eax, dword [0x1402137c8]
and eax, dword [0x1402137cc]
lea edx, [rax - 0x29f2ed26]
mov r9d, edx
and r9d, 0x99e1989
xor edx, 0xf661e676
add eax, edx
add eax, 0xd60d12da
sub eax, r9d
cmp eax, 0x90f7037a
je 0x1400529a0
nop word cs:[rax + rax]
mov eax, dword [0x1402137d0]
sub eax, dword [0x1402137d4]
add eax, 0x4a6da4f7
imul rax, rbp
shr rax, 0x3e
cmp eax, 0xaeec695c
je 0x1400529e0
test rsi, rsi
jne 0x140052770
cmp rcx, 0xa
mov rsi, qword [rsp]
jb 0x140052bd1
mov r9, rsi
nop word [rax + rax]
mov rax, rdi
movabs rcx, 0xcccccccccccccccd
mul rcx
mov rcx, rdx
dec r9
shr rcx, 3
lea rax, [rcx + rcx]
lea rax, [rax + rax*4]
mov r10, rdi
sub r10, rax
cmp r9, 0x300
jae 0x140052ac0
mov eax, dword [0x140213798]
mov edx, dword [0x14021379c]
mov r11d, eax
not r11d
or eax, edx
not edx
and edx, r11d
not eax
or eax, edx
mov edx, eax
not edx
mov r11d, edx
and r11d, 0xc44f626b
and eax, 0x3bb09d94
imul eax, r11d
mov r11d, edx
and r11d, 0x3bb09d94
or edx, 0x3bb09d94
imul edx, r11d
add edx, eax
imul eax, edx, 0xd9ea0bbc
add eax, 0x2ecd1dc8
cmp eax, 0xf1a967e9
ja 0x140052b4e
jmp 0x140052b10
mov eax, dword [0x140213778]
xor edx, edx
div dword [0x14021377c]
nop
mov eax, dword [0x140213780]
xor eax, dword [0x140213784]
imul eax, eax, 0x906965a7
add eax, 0x83a744d3
cmp eax, 0xc87e8f83
ja 0x140052ad0
test r10, r10
je 0x140052b8c
mov byte [r8 + 0x30c], 1
jmp 0x140052b8c
mov eax, dword [0x1402137a0]
mov edx, dword [0x1402137a4]
not eax
not edx
or edx, eax
not edx
add edx, 0xd9c1acd7
mov eax, edx
and eax, 0x1a66d3fa
add eax, eax
sub edx, eax
add edx, 0x1a66d3fa
and edx, 0xb558b390
mov byte [r8 + r9 + 8], r10b
cmp edx, 0xcd3d6fc5
jbe 0x140052b60
mov byte [r8 + r9 + 8], r10b
jmp 0x140052b10
mov eax, dword [0x1402137a8]
sub eax, dword [0x1402137ac]
xor eax, 0x133c95b6
add eax, 0x1c66a80a
mov edx, eax
and edx, 0x74b6cb08
or eax, 0x74b6cb08
add eax, edx
cmp eax, 0xbc4ad5cd
je 0x140052b60
mov eax, dword [0x140213788]
xor edx, edx
div dword [0x14021378c]
nop word [rax + rax]
mov eax, dword [0x140213790]
imul eax, dword [0x140213794]
xor eax, 0x21820d63
and eax, 0x21aa9d73
imul eax, eax, 0x80d36c96
cmp eax, 0x96d8801b
jb 0x140052ba0
cmp rdi, 0xa
mov rdi, rcx
jae 0x140052a20
mov rcx, qword [r8]
add rcx, rsi
mov eax, dword [0x140213738]
imul eax, dword [0x14021373c]
mov edx, eax
not edx
and edx, 0xdb05292
mov r9d, eax
and r9d, 0xf24fad6d
imul r9d, edx
mov edx, eax
and edx, 0xdb05292
or eax, 0xdb05292
imul eax, edx
add eax, r9d
mov edx, eax
and edx, 0x4064c66
add edx, edx
sub eax, edx
add eax, 0x84064c67
mov edx, eax
not edx
and edx, 0x10ee4586
mov r9d, eax
and r9d, 0xef11ba79
imul r9d, edx
mov edx, eax
and edx, 0x10ee4586
or eax, 0x10ee4586
imul eax, edx
add eax, r9d
cmp eax, 0xa9792b9c
ja 0x140052d94
jmp 0x140052d3e
ud2
mov eax, dword [0x140213708]
sub eax, dword [0x14021370c]
add eax, 0x46b58e75
mov ecx, eax
xor ecx, 0x913bea1b
xor eax, 0x17f24bf9
add eax, ecx
and ecx, 0x79365e1d
sub eax, ecx
cmp eax, 0xc66a2095
ja 0x140052ebf
jmp 0x140052e6b
mov eax, dword [0x140213688]
xor eax, dword [0x14021368c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfe21f62d
and ecx, 0x1de09d2
imul ecx, edx
mov edx, eax
and edx, 0x1de09d2
or eax, 0x1de09d2
imul eax, edx
lea edx, [rax + rcx]
add edx, 0x20cb04c0
add eax, ecx
not edx
or edx, 0x22a83f4
add eax, edx
add eax, 0x20cb04c0
cmp eax, 0x1e9f5c80
je 0x140052e67
jmp 0x140052e02
mov eax, dword [0x140213740]
and eax, dword [0x140213744]
mov r9d, eax
xor r9d, 0x48c38c51
xor eax, 0x83105188
and eax, 0x933c718c
and r9d, 0x6cc38e73
sub r9d, eax
add r9d, 0x1b712fbe
cmp rcx, 0x300
mov eax, 0x300
cmovb rax, rcx
mov edx, dword [r8 + 0x308]
add edx, esi
mov qword [r8], rax
cmp r9d, 0xf6b53ab2
jbe 0x140052da9
cmp rcx, 0x300
mov eax, 0x300
cmovb rax, rcx
mov qword [r8], rax
jmp 0x140052d3e
mov ecx, dword [0x140213748]
mov r9d, ecx
not r9d
or r9d, dword [0x14021374c]
add ecx, r9d
inc ecx
mov r9d, ecx
not r9d
or r9d, 0xb026a12c
and r9d, 0xfc36b3bc
and ecx, 0x3090441
or ecx, r9d
mov r9d, ecx
and r9d, 0xea10b424
or ecx, 0xead0bc26
add ecx, r9d
cmp ecx, 0x66403a56
je 0x140052f98
jmp 0x140052f41
mov eax, dword [0x140213690]
mov ecx, dword [0x140213694]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
xor ecx, 0x204004
xor eax, 0xf11a9400
and eax, 0xfddeb710
and ecx, 0x22148ee
or ecx, eax
xor ecx, 0x3e17614a
shr ecx, 1
imul rax, rcx, 0x40a71129
shr rax, 0x3b
ud2
ud2
mov eax, dword [0x140213710]
sub eax, dword [0x140213714]
mov ecx, eax
xor ecx, 0xe5a3e47b
add ecx, eax
and eax, 0x1a5c1b84
sub ecx, eax
mov eax, 0xcca858f7
imul rax, rcx
shr rax, 0x3e
mov ecx, eax
not ecx
mov edx, eax
and edx, 1
and ecx, 0x4b14b2c6
imul ecx, edx
mov edx, eax
and edx, 0xfffffffe
or eax, 0x4b14b2c6
imul eax, edx
add eax, ecx
ud2
ud2
mov eax, 0xaad57f77
nop
mov ecx, dword [0x14021372c]
add ecx, dword [0x140213728]
imul rcx, rax
shr rcx, 0x3f
not ecx
and ecx, 0x60404111
or ecx, 0x10486e0
xor ecx, 0x96804dc
cmp ecx, 0x2fca63ee
jb 0x140052f00
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [0x140213750]
mov r9d, dword [0x140213754]
mov r10d, ecx
not r10d
mov r11d, r9d
not r11d
mov esi, r10d
and esi, 0xba425f18
and ecx, 0x45bda0e7
or ecx, esi
or r10d, r11d
and r11d, 0xba425f18
and r9d, 0x45bda0e7
or r9d, r11d
xor r9d, ecx
not r10d
or r10d, r9d
mov dword [r8 + 0x308], edx
cmp r10d, 0x64a4b533
jne 0x140052fa1
mov dword [r8 + 0x308], edx
jmp 0x140052f41
test rax, rax
je 0x140052efa
mov ecx, 0xd725659f
nop
cmp byte [r8 + rax + 7], 0
jne 0x140052efa
dec rax
mov edx, dword [0x140213758]
mov r9d, dword [0x14021375c]
mov r10d, r9d
not r10d
mov r11d, edx
and r11d, r10d
or r10d, edx
not r10d
imul r10d, r11d
mov r11d, edx
and r11d, r9d
or edx, r9d
imul edx, r11d
add edx, r10d
imul rdx, rcx
shr rdx, 0x3c
mov r9d, edx
xor r9d, 2
and r9d, edx
xor r9d, 0x33021367
add r9d, 0xec9e8011
jb 0x140053020
mov qword [r8], rax
nop word [rax + rax]
mov edx, dword [str.E3g]
mov r9d, dword [0x140213764]
mov r10d, edx
and r10d, r9d
xor edx, r9d
lea edx, [rdx + r10*2]
xor edx, 0x113ea1b5
mov r9d, edx
and r9d, 0x3f06c30b
add r9d, r9d
sub edx, r9d
mov qword [r8], rax
cmp edx, 0xb87031be
je 0x140053020
nop dword [rax + rax]
mov edx, dword [0x140213768]
mov r9d, dword [0x14021376c]
mov r10d, edx
or r10d, r9d
not edx
not r9d
and r9d, edx
not r9d
and r9d, r10d
xor r9d, 0xe3a08ac
add r9d, 0x3443a9e5
mov edx, r9d
and edx, 0x14ca3eb
add edx, edx
sub r9d, edx
add r9d, 0x814ca3eb
cmp r9d, 0x8c8ab195
ja 0x140053060
nop dword [rax]
mov edx, dword [0x140213770]
mov r9d, dword [0x140213774]
mov r10d, edx
and r10d, r9d
xor edx, r9d
lea edx, [rdx + r10*2]
and edx, 0x6d5cd112
add edx, 0x12b70bae
and edx, 0x7b3a547a
cmp edx, 0x2fd8b8a
jb 0x1400530b0
test rax, rax
jne 0x140052fb0
jmp 0x140052efa