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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r8, rcx
mov rax, rdx
xor rax, 0xffffffffffffffc0
or r9, 0x3f
and r9, rax
nop word [rax + rax]
mov ecx, dword [0x1402137f0]
mov eax, dword [0x1402137f4]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
and eax, 0x59577855
add eax, 0xf355907b
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x370a886b
and ecx, 0xc8f57494
imul ecx, edx
mov edx, eax
and edx, 0xc8f57094
or eax, 0xc8f57494
imul eax, edx
add eax, ecx
cmp eax, 0x3ea4a06e
jb 0x140053120
nop word cs:[rax + rax]
mov eax, dword [0x1402137f8]
mov ecx, dword [0x1402137fc]
mov edx, eax
not edx
and edx, ecx
mov r10d, ecx
not r10d
and r10d, eax
imul r10d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r10d
or eax, 0xd5b34c43
add eax, 0x2c876fd
and eax, 0xfafff7bc
xor eax, 0x5c879113
cmp eax, 0x91d08fc8
je 0x140053180
mov r10, qword [r8]
nop dword [rax]
mov eax, dword [0x140213800]
or eax, dword [0x140213804]
or eax, 0x2ffd6421
add eax, 0x6b14499b
mov ecx, eax
not ecx
or eax, 0xf3c52c38
or ecx, 0x812d3c6
and ecx, eax
cmp ecx, 0x43c14782
je 0x1400531d0
xor eax, eax
mov edx, 0x8a82fe3d
mov esi, 0xa531d46d
xor edi, edi
xor r11d, r11d
cmp rdi, r10
je 0x14005342a
nop dword [rax]
mov ecx, dword [0x140213818]
add ecx, dword [0x14021381c]
shr ecx, 1
imul rcx, rdx
shr rcx, 0x3e
add ecx, 0xf839ee97
mov ebx, ecx
not ebx
and ebx, 0x4c40044
mov ebp, ecx
and ebp, 0x9009489b
imul ebp, ebx
mov ebx, ecx
and ebx, 0x6830a604
or ecx, 0x6cf4a644
imul ecx, ebx
add ecx, ebp
cmp ecx, 0x93778e7a
jb 0x140053220
nop dword [rax]
mov ecx, dword [0x140213820]
xor ecx, dword [0x140213824]
imul rcx, rsi
shr rcx, 0x3d
mov ebx, ecx
not ebx
and ebx, 0x211cb382
mov ebp, ecx
and ebp, 0xfffffffd
imul ebp, ebx
mov ebx, ecx
and ebx, 2
or ecx, 0x211cb382
imul ecx, ebx
add ecx, ebp
mov ebx, ecx
and ebx, 0x15319486
add ebx, ebx
sub ecx, ebx
add ecx, 0x15319487
cmp ecx, 0x6b96043a
ja 0x140053270
cmp rdi, 0x300
je 0x140053bca
nop dword [rax]
mov ecx, dword [0x140213838]
imul ecx, dword [0x14021383c]
mov ebx, ecx
not ebx
or ecx, 0x8011820a
or ebx, 0x21005830
and ebx, ecx
and ebx, 0xa111da3a
xor ebx, 0x31bff62e
cmp ebx, 0x4a6d0a21
jb 0x1400532d0
mov rcx, r11
and rcx, 0xfffffffffffffff5
mov ebx, r11d
not ebx
and ebx, 0xa
imul rbx, rcx
mov ecx, r11d
and ecx, 0xa
or r11, 0xa
imul r11, rcx
add r11, rbx
movzx ecx, byte [r8 + rdi + 8]
mov ebx, ecx
and ebx, r11d
xor rcx, r11
lea rbx, [rcx + rbx*2]
mov ebp, dword [0x140213840]
add ebp, dword [0x140213844]
mov ecx, ebp
xor ecx, 0xa593a863
or ebp, 0x5a6c579c
and ebp, ecx
add ebp, 0x98f864be
mov ecx, ebp
not ecx
and ecx, 0x193fad4c
and ebp, 0xe6c052b3
sub ebp, ecx
mov r11, rbx
mov ecx, r9d
shr r11, cl
cmp ebp, 0xcf074e8c
ja 0x140053339
mov rcx, rdi
or rcx, 1
test r11, r11
jne 0x1400534d1
nop
test al, al
jne 0x140053390
cmp rcx, r10
je 0x140053430
add rbx, rbx
lea r11, [rbx + rbx*4]
movzx ecx, byte [r8 + rcx + 8]
nop word [rax + rax]
mov ebx, dword [0x140213848]
xor ebx, dword [0x14021384c]
add ebx, 0x2fc6e95e
mov ebp, ebx
xor ebp, 0x8104009f
xor ebx, 0x2c880300
and ebx, 0x2ea93b60
and ebp, 0xd156c49f
or ebp, ebx
xor ebp, 0x2a80d93
cmp ebp, 0xd83be16
jb 0x1400533b0
add r11, rcx
mov ecx, dword [0x140213850]
sub ecx, dword [0x140213854]
imul r14, rcx, 0x13b13e43
shr r14, 0x3c
mov rbx, r11
mov ecx, r9d
shr rbx, cl
cmp r14d, 0xf0bdc9b0
je 0x1400533ef
add rdi, 2
test rbx, rbx
je 0x140053210
jmp 0x140053529
mov rbx, r11
nop dword [rax]
mov eax, dword [0x140213808]
xor edx, edx
div dword [0x14021380c]
mov ecx, eax
xor ecx, 0xe400100
and ecx, 0x5fcc4540
xor eax, 0x51bff4fc
lea eax, [rax + rcx*2]
or eax, 0x773e27f8
cmp eax, 0xc228884c
je 0x140053430
test rbx, rbx
je 0x140053e9b
mov rax, rbx
mov ecx, r9d
shr rax, cl
nop word cs:[rax + rax]
mov ecx, dword [0x140213810]
or ecx, dword [0x140213814]
mov edx, ecx
xor edx, 0xa0d43006
xor ecx, 0x5128c010
and ecx, 0x5929ca91
and edx, 0xa6d6356e
or edx, ecx
cmp edx, 0xee265f47
je 0x140053480
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400534c0
test rax, rax
je 0x1400534d9
mov r11, rbx
mov rdi, r10
jmp 0x140053529
mov r11, rbx
mov rdi, rcx
jmp 0x140053529
mov rax, r10
not rax
mov rdi, r10
nop word cs:[rax + rax]
mov esi, dword [0x140213828]
sub esi, dword [0x14021382c]
add esi, 0x4c6949b6
lea rcx, [rbx + rbx]
lea r11, [rcx + rcx*4]
mov rdx, r11
mov ecx, r9d
shr rdx, cl
cmp esi, 0xd8106ca3
ja 0x1400534f0
inc rdi
dec rax
mov rbx, r11
test rdx, rdx
je 0x1400534f0
mov eax, dword [0x140213830]
imul eax, dword [0x140213834]
add eax, 0x6298b93d
imul rax, rax, 0x42ea12fb
shr rax, 0x3d
cmp eax, 0x4da3c98d
jbe 0x140053571
mov eax, dword [r8 + 0x308]
mov ecx, edi
not ecx
and ecx, eax
xor eax, edi
add ecx, ecx
sub ecx, eax
mov eax, ecx
and eax, 1
or ecx, 1
add ecx, eax
mov dword [r8 + 0x308], ecx
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [r8 + 0x308]
mov ecx, edi
not ecx
and ecx, edx
xor edx, edi
add ecx, ecx
sub ecx, edx
inc ecx
mov dword [r8 + 0x308], ecx
test al, al
jne 0x140053580
cmp ecx, 0xfffff801
jge 0x140053663
mov qword [r8], 0
mov dword [r8 + 0x308], 0
xor eax, eax
test al, al
je 0x1400535d0
mov byte [r8 + 0x30c], 0
nop dword [rax]
mov eax, dword [0x140213880]
imul eax, dword [0x140213884]
add eax, 0xa24732c9
mov byte [r8 + 0x30c], 0
cmp eax, 0x55b2eaee
jb 0x1400535d0
nop word cs:[rax + rax]
mov eax, dword [str._a19_]
mov ecx, dword [0x14021388c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x1f82f1c8
and eax, 0xe07d0e37
sub eax, ecx
mov ecx, eax
xor ecx, 0xd11c1805
xor eax, 0x28c3e3a0
mov edx, eax
and edx, 0x2ea227fa
and ecx, 0xd15dd805
imul ecx, edx
mov edx, eax
and edx, 0xd15dd805
or eax, 0xd15dd805
imul eax, edx
add eax, ecx
cmp eax, 0x46526ef3
jbe 0x140053600
jmp 0x140053e9b
mov rsi, 0xffffffffffffffff
mov ecx, r9d
shl rsi, cl
not rsi
mov eax, 0x994db7ad
nop dword [rax + rax]
mov ecx, dword [0x140213870]
xor ecx, dword [0x140213874]
mov edx, ecx
xor edx, 0x299b725f
and ecx, 0x56648da0
add ecx, ecx
sub ecx, edx
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x4a55d61c
cmp ecx, 0xd37b9ded
ja 0x140053680
sub r10, rdi
jbe 0x140053830
xor eax, eax
nop
test al, al
jne 0x1400536c0
nop word cs:[rax + rax]
mov eax, dword [0x140213878]
mov ecx, dword [0x14021387c]
add eax, ecx
add eax, 0x4a4adaa8
mov ecx, eax
or ecx, 0xa881a189
not eax
and ecx, 0xa897b9b9
and eax, 0x51204446
or eax, ecx
cmp eax, 0xc62f1315
ja 0x1400536d0
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x1402138a8]
add eax, dword [0x1402138ac]
not eax
or eax, 0xd172eff9
and eax, 0xdd76eff9
cmp eax, 0xbf46f8df
jb 0x140053710
cmp rdi, 0x300
jae 0x140053c95
nop dword [rax]
mov eax, dword [0x140213950]
xor edx, edx
div dword [0x140213954]
imul eax, eax, 0xd50022c0
mov ecx, eax
not ecx
and ecx, 0xbc103ab5
mov edx, eax
and edx, 0x43efc540
imul edx, ecx
mov ecx, eax
and ecx, 0xbc103a80
or eax, 0xbc103ab5
imul eax, ecx
add eax, edx
imul edx, eax, 0x4ee50fdc
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp edx, 0x303c4aac
je 0x140053740
mov rcx, rdi
movzx edx, byte [r8 + rdi + 8]
and edi, 1
xor rcx, 1
lea rdi, [rcx + rdi*2]
and r11, rsi
mov ecx, r11d
not ecx
mov r14, r11
and r14, 0xfffffffffffffff5
and ecx, 0xa
imul rcx, r14
mov r14d, r11d
and r14d, 0xa
or r11, 0xa
imul r11, r14
add r11, rdx
add r11, rcx
mov byte [r8 + rbx + 8], al
inc rbx
cmp rbx, r10
jne 0x140053710
test r11, r11
jne 0x1400538c2
mov eax, dword [0x1402138b0]
mov ecx, dword [0x1402138b4]
not eax
not ecx
and ecx, eax
not ecx
add ecx, 0xf0c7ab79
imul rax, rcx, 0x25908fcd
shr rax, 0x39
mov ecx, eax
xor ecx, 0x1d20e9f0
or eax, 0xf
and eax, ecx
cmp eax, 0xff54aac3
jne 0x140053d7c
jmp 0x140053d85
mov eax, dword [0x140213890]
add eax, dword [0x140213894]
or eax, 0xe11a6d14
mov ecx, eax
not ecx
or ecx, 0x750e066c
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x7fe7f7ff
xor ecx, 0x904984f5
and eax, 0x104184f5
or eax, ecx
cmp eax, 0xc14351ab
jb 0x140053830
nop dword [rax + rax]
mov eax, dword [0x140213898]
xor edx, edx
div dword [0x14021389c]
add eax, 0x461c91dd
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x2d2644
and ecx, 0xffd2d9bb
imul ecx, edx
mov edx, eax
and edx, 0xffd2d9bb
or eax, 0xffd2d9bb
imul eax, edx
add eax, ecx
or eax, 0x46edc5bc
cmp eax, 0xc7f58dd8
ja 0x140053870
test r11, r11
je 0x140053b74
xor r10d, r10d
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400538d0
jmp 0x1400539d0
mov ecx, dword [0x140213924]
mov edx, ecx
xor edx, edx
not edx
and edx, dword [0x140213920]
xor edx, ecx
mov ecx, edx
not ecx
and ecx, 0xbec851ce
mov edi, edx
and edi, 0x4137ae31
imul edi, ecx
mov ecx, edx
and ecx, 0xbec851ce
or edx, 0xbec851ce
imul edx, ecx
lea ecx, [rdx + rdi]
add ecx, 0x6b4989f4
mov edx, ecx
not edx
and edx, 0xe313418e
mov edi, ecx
and edi, 0x1cecbe70
imul edi, edx
mov edx, ecx
and edx, 0xe313418e
or ecx, 0xe313418e
imul ecx, edx
add ecx, edi
mov byte [r8 + r10 + 8], al
cmp ecx, 0xae0eb9ac
jbe 0x140053960
mov byte [r8 + r10 + 8], al
jmp 0x1400538e0
mov eax, dword [0x140213928]
sub eax, dword [0x14021392c]
or eax, 0x9ce3fcd5
imul rax, rax, 0xc2cfbff
shr rax, 0x3b
add eax, 0x90ee901b
cmp eax, 0xe16f697
jb 0x140053960
inc r10
nop dword [rax + rax]
mov eax, dword [0x140213930]
mov ecx, dword [0x140213934]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not ecx
and ecx, eax
add ecx, 0x6e80b541
xor ecx, 0x143ea300
cmp ecx, 0x249f5d3
jb 0x140053990
jmp 0x140053b03
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp r10, 0x300
jae 0x140053a30
mov ecx, dword [0x140213918]
mov edx, dword [0x14021391c]
not edx
mov edi, ecx
or edi, edx
and edx, ecx
not edx
and edx, edi
mov ecx, edx
not ecx
and ecx, 0x3bb5527c
xor edx, 0xc44aad83
lea ecx, [rdx + rcx*2]
or ecx, 0x7227930a
cmp ecx, 0x46e89753
jne 0x1400538e0
jmp 0x140053958
mov ecx, dword [0x1402138e0]
sub ecx, dword [0x1402138e4]
or ecx, 0x20c3b516
add ecx, 0xca72d0c
cmp ecx, 0x1448351b
jb 0x140053a30
test al, al
je 0x140053b03
mov eax, dword [0x1402138e8]
mov ecx, dword [0x1402138ec]
not eax
not ecx
and ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xe582243b
and ecx, 0x1a7ddbc4
imul ecx, edx
mov edx, eax
and edx, 0x1a7ddbc4
or eax, 0x1a7ddbc4
imul eax, edx
add eax, ecx
add eax, 0x12efc5fb
xor eax, 0x4fa4e250
cmp eax, 0xbe312702
jbe 0x140053ab0
mov byte [r8 + 0x30c], 1
nop word [rax + rax]
mov eax, dword [0x1402138f0]
mov ecx, dword [0x1402138f4]
add eax, ecx
add eax, 0xa729a028
mov ecx, eax
and ecx, 0x7d73289f
add ecx, ecx
sub eax, ecx
add eax, 0xcb242f98
mov byte [r8 + 0x30c], 1
cmp eax, 0x236f3c30
jb 0x140053ab0
nop word cs:[rax + rax]
mov eax, dword [0x1402138f8]
add eax, dword [0x1402138fc]
cmp eax, 0x8307de82
je 0x140053af0
and r11, rsi
add r11, r11
lea r11, [r11 + r11*4]
mov eax, dword [str.__isiP]
or eax, dword [0x140213904]
imul rax, rax, 0xf0238c9
shr rax, 0x3b
not eax
and eax, 0xbada5951
xor eax, 0x53a590d1
cmp eax, 0x8bf65962
jb 0x140053b0d
test r11, r11
jne 0x1400539d0
mov eax, dword [0x140213908]
sub eax, dword [0x14021390c]
or eax, 0x45363f84
add eax, 0x4da28313
mov ecx, 0xb1117f37
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xe1208e9a
jne 0x140053ea2
jmp 0x140053eeb
mov qword [r8], 0
nop dword [rax + rax]
mov eax, dword [0x1402138a0]
mov ecx, dword [0x1402138a4]
not eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and ecx, 0x545bc008
mov edx, eax
and edx, 0xaba43ff7
or edx, ecx
xor edx, 0x9fd8dffe
and eax, 0xcb831ff6
or eax, edx
imul eax, eax, 0x4409ba89
add eax, 0x2607507d
cmp eax, 0x8a49a93a
jbe 0x140053b80
jmp 0x140053e9b
mov eax, dword [0x140213858]
add eax, dword [0x14021385c]
imul eax, eax, 0x5bd26f42
mov ecx, eax
xor ecx, 0xebabca7a
or eax, 0x14543584
and eax, ecx
mov ecx, eax
not ecx
and ecx, 0x796ebe4e
mov edx, eax
and edx, 0x869141b0
imul edx, ecx
mov ecx, eax
and ecx, 0x796ebe4e
or eax, 0x796ebe4e
imul eax, ecx
add eax, edx
cmp eax, 0x4b1269d8
jae 0x140053c20
ud2
mov eax, dword [0x140213860]
mov ecx, dword [0x140213864]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
and eax, 0x552bd6e8
add eax, eax
neg eax
add eax, ecx
add eax, 0x54a50271
ud2
mov eax, dword [0x140213938]
mov ecx, dword [0x14021393c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
and eax, 0x507d7e8b
add eax, eax
neg eax
add eax, ecx
add eax, 0x507d7e8b
xor eax, 0x98567445
add eax, 0x2f2a693e
cmp eax, 0xbe9dc060
ja 0x140053d25
mov eax, dword [0x140213940]
mov ecx, dword [0x140213944]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not ecx
or ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x35fbb5ab
and eax, 0xca044a54
imul eax, edx
mov edx, ecx
and edx, 0xca044a54
or ecx, 0xca044a54
imul ecx, edx
add ecx, eax
imul eax, ecx, 0xe1903c75
xor eax, 0xef6a9477
ud2
ud2
ud2
mov qword [r8], r10
xor eax, eax
test al, al
je 0x140053d8a
mov qword [r8], r10
jmp 0x140053d7c
mov eax, dword [0x1402138b8]
xor edx, edx
div dword [0x1402138bc]
nop dword [rax + rax]
mov eax, dword [0x1402138c0]
xor eax, dword [0x1402138c4]
and eax, 0xe68c66f4
imul rax, rax, 0x7501269f
shr rax, 0x3a
cmp eax, 0x3e4ef218
je 0x140053da0
nop word cs:[rax + rax]
mov eax, dword [0x1402138cc]
mov ecx, eax
xor ecx, ecx
not ecx
and ecx, dword [0x1402138c8]
xor ecx, eax
imul rax, rcx, 0x6cfa922d
shr rax, 0x3a
add eax, 0x3e89b4cc
or eax, 0x2ebc637a
cmp eax, 0xeec7906
jb 0x140053dd0
test r10, r10
je 0x140053e9b
nop dword [rax]
mov eax, dword [0x1402138d0]
sub eax, dword [0x1402138d4]
mov ecx, eax
not ecx
or ecx, 0x1885000
and ecx, 0x49bc5690
and eax, 0xb0400848
sub eax, ecx
mov ecx, eax
xor ecx, 0x45962c37
or eax, 0xba6193c8
and eax, ecx
cmp eax, 0x89048f5d
ja 0x140053e10
cmp r10, 0x300
ja 0x140053d7a
dec r10
nop dword [rax]
cmp byte [r8 + r10 + 8], 0
jne 0x140053e9b
mov qword [r8], r10
mov eax, dword [0x1402138d8]
imul eax, dword [0x1402138dc]
and eax, 0x3fffffff
xor eax, 0x2b711e99
add eax, 0x754a6e75
not eax
or eax, 0xc3998c05
cmp eax, 0xe79878da
ja 0x140053e6b
add r10, 0xffffffffffffffff
jb 0x140053e60
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x140213914]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x140213910]
xor ecx, eax
mov eax, ecx
not eax
and eax, 0x8eaa1d86
and ecx, 0x7155e279
sub ecx, eax
mov eax, ecx
or eax, 0x10480c04
not ecx
and ecx, 0x2238030
and eax, 0xd5583f4e
or eax, ecx
mov qword [r8], r10
cmp eax, 0x4675302b
ja 0x140053e10
mov qword [r8], r10
jmp 0x140053ea2