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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
and r9d, 0x3f
mov eax, dword [0x14158ec88]
xor edx, edx
div dword [0x14158ec8c]
mov r8, rcx
nop word cs:[rax + rax]
mov eax, dword [0x14158ec94]
add eax, dword [0x14158ec90]
imul eax, eax, 0x42bc6c21
add eax, 0x4bcc9681
or eax, 0xcf133576
cmp eax, 0x5af22331
jb 0x140095200
mov r10, qword [r8]
nop word cs:[rax + rax]
mov eax, dword [0x14158ec98]
sub eax, dword [0x14158ec9c]
add eax, 0x80eda5d3
xor eax, 0xa56132
or eax, 0xea1a9ec4
cmp eax, 0x253692e2
jb 0x140095230
movabs rsi, 0x3dab2aafb04b4bbd
xor ebx, ebx
mov r14d, 0xa5ccd387
xor edi, edi
xor r11d, r11d
nop dword [rax]
cmp rdi, r10
je 0x140095660
cmp rdi, 0x300
je 0x140095ac0
mov eax, dword [0x14158ecb8]
mov ecx, dword [0x14158ecbc]
not eax
not ecx
and ecx, eax
not ecx
mov eax, ecx
and eax, 0x288ddfce
and ecx, 0x208887c8
add ecx, ecx
sub eax, ecx
add eax, 0xe2253dc4
cmp eax, 0x90d310df
jb 0x140095286
mov rax, r11
and rax, 0xfffffffffffffff5
mov ecx, r11d
not ecx
and ecx, 0xa
imul rcx, rax
mov eax, r11d
and eax, 0xa
or r11, 0xa
imul r11, rax
add r11, rcx
movzx r12d, byte [r8 + rdi + 8]
add r12, r11
mov r15, rdi
or r15, 1
mov r11, r12
mov ecx, r9d
shr r11, cl
nop word cs:[rax + rax]
mov eax, dword [0x14158ecc0]
xor edx, edx
div dword [0x14158ecc4]
mov ecx, eax
and ecx, 0x265dbce2
xor eax, 0x265dbce2
lea eax, [rax + rcx*2]
mov ecx, eax
xor ecx, 0xb0a80084
and ecx, eax
and ecx, 0xb2ab33b6
cmp ecx, 0x89ac7b99
je 0x140095300
test r11, r11
jne 0x1400953ff
nop
mov eax, dword [0x14158ecc8]
xor edx, edx
div dword [0x14158eccc]
add eax, 0xf275dcd6
imul rax, r14
shr rax, 0x3f
mov ecx, eax
xor ecx, 0x5f787ff
add ecx, eax
cmp ecx, 0xeab69791
ja 0x140095340
cmp r15, r10
je 0x14009565a
add r12, r12
lea rdx, [r12 + r12*4]
nop dword [rax]
movzx eax, byte [r8 + r15 + 8]
mov r11, rdx
sub r11, rsi
add r11, rsi
add r11, rax
mov rax, r11
mov ecx, r9d
shr rax, cl
test bl, bl
jne 0x140095380
add rdi, 2
nop word cs:[rax + rax]
mov ecx, dword [0x14158ecd0]
xor ecx, dword [0x14158ecd4]
not ecx
and ecx, 0xbb7edb78
mov edx, ecx
not edx
xor ecx, 0xf3f606ab
and edx, 0x73f606ab
add edx, edx
sub edx, ecx
imul rcx, rdx, 0x1af7afb5
shr rcx, 0x20
sub edx, ecx
shr edx, 1
add edx, ecx
shr edx, 0x1f
cmp edx, 0xfc426763
ja 0x1400953b0
test rax, rax
je 0x140095270
jmp 0x140095405
mov r11, r12
mov rdi, r15
mov eax, dword [r8 + 0x308]
sub eax, edi
inc eax
mov dword [r8 + 0x308], eax
cmp eax, 0xfffff801
jge 0x140095460
mov eax, dword [0x14158ecf8]
or eax, dword [0x14158ecfc]
or eax, 0xde92d925
imul rax, rax, 0x3b987bc1
shr rax, 0x3c
not eax
or eax, 0xbae39fa5
cmp eax, 0xcdd96497
jae 0x140095d40
jmp 0x140095d72
mov eax, dword [0x14158ecf0]
or eax, dword [0x14158ecf4]
mov ecx, eax
and ecx, 0x5852febe
or eax, 0x5852febe
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xb1a0166d
mov edx, eax
and edx, 0x4e5fe992
imul edx, ecx
mov ecx, eax
and ecx, 0xb1a0166d
or eax, 0xb1a0166d
imul eax, ecx
add eax, edx
mov rsi, 0xffffffffffffffff
mov ecx, r9d
shl rsi, cl
cmp eax, 0x12f2e3c5
je 0x140095460
not rsi
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400954c0
sub r10, rdi
jbe 0x14009575a
xor eax, eax
nop
cmp rdi, 0x300
jae 0x140095d3e
nop dword [rax]
mov ecx, dword [0x14158edc8]
sub ecx, dword [0x14158edcc]
mov edx, ecx
not edx
mov ebx, ecx
and ebx, 0xf4b9cdf6
and edx, 0xb463209
imul edx, ebx
mov ebx, ecx
and ebx, 0xb463209
or ecx, 0xb463209
imul ecx, ebx
add ecx, edx
imul rbx, rcx, 0x2fc18d89
shr rbx, 0x3d
xor ebx, 0x38b2d615
mov rdx, r11
mov ecx, r9d
shr rdx, cl
cmp ebx, 0xd5c168e6
ja 0x1400954e0
movzx ecx, byte [r8 + rdi + 8]
mov ebx, dword [0x14158edd0]
sub ebx, dword [0x14158edd4]
mov ebp, ebx
not ebp
and ebp, 0xc5c47e12
mov r14d, ebx
and r14d, 0x3a3b81ed
imul r14d, ebp
mov ebp, ebx
and ebp, 0xc5c47e12
or ebx, 0xc5c47e12
imul ebx, ebp
add ebx, r14d
mov ebp, ebx
xor ebp, 0x81213437
and ebx, 0x81213436
or ebx, ebp
add ebx, 0x6458869b
cmp ebx, 0x2242c677
jbe 0x140095597
mov byte [r8 + rax + 8], dl
inc rdi
and r11, rsi
add r11, r11
lea r11, [r11 + r11*4]
nop word cs:[rax + rax]
mov ebp, dword [0x14158edd8]
mov ebx, dword [0x14158eddc]
mov r14d, ebp
xor r14d, ebx
not r14d
and r14d, ebx
add r14d, r14d
sub ebx, r14d
add ebx, ebp
mov ebp, ebx
not ebp
mov r14d, ebx
and r14d, 0x5be01bc
and ebp, 0xa41fe43
imul ebp, r14d
mov r14d, ebx
and r14d, 0xa41fe43
or ebx, 0xa41fe43
imul ebx, r14d
add ebx, ebp
xor ebx, 0x4265010
or ebx, 0xf318ad0f
mov byte [r8 + rax + 8], dl
cmp ebx, 0xa4e0c597
je 0x1400955b0
add r11, rcx
inc rax
cmp rax, r10
jne 0x1400954d0
test r11, r11
jne 0x1400957dd
mov eax, dword [0x14158ed40]
xor eax, dword [0x14158ed44]
and eax, 0x3bec83e9
add eax, 0x74385997
or eax, 0xde475835
cmp eax, 0xb07b2c2e
jae 0x140095b93
jmp 0x140095bc5
mov r11, r12
nop dword [rax]
mov eax, dword [0x14158eca0]
and eax, dword [0x14158eca4]
imul rax, rax, 0x5d84abdf
shr rax, 0x3e
imul eax, eax, 0xaa5119d4
add eax, 0x39a84575
cmp eax, 0xd52f6e66
ja 0x140095660
test r11, r11
je 0x140095e00
nop word cs:[rax + rax]
mov edx, dword [0x14158eca8]
sub edx, dword [0x14158ecac]
or edx, 0x40041680
and edx, 0x41ec56aa
add edx, 0x8dc2d193
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp edx, 0x361d068a
jb 0x1400956a0
nop
mov ecx, dword [0x14158ecb0]
imul ecx, dword [0x14158ecb4]
add ecx, 0x1081d65d
mov edx, ecx
not edx
mov esi, ecx
and esi, 0x51babb0e
and edx, 0xae4544f1
imul edx, esi
mov esi, ecx
and esi, 0xae4544f1
or ecx, 0xae4544f1
imul ecx, esi
add ecx, edx
cmp ecx, 0xb48739dc
je 0x1400956d0
mov rdi, r10
test rax, rax
jne 0x140095405
nop
mov rax, r11
and rax, 0xfffffffffffffff5
mov ecx, r11d
not ecx
and ecx, 0xa
imul rcx, rax
mov eax, r11d
and eax, 0xa
or r11, 0xa
imul r11, rax
add r11, rcx
inc rdi
mov rax, r11
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x140095720
jmp 0x140095405
mov eax, dword [0x14158ed10]
xor edx, edx
div dword [0x14158ed14]
nop dword [rax + rax]
mov eax, dword [0x14158ed18]
and eax, dword [0x14158ed1c]
add eax, 0x559b96fc
or eax, 0x9885094
and eax, 0xefcc73bc
cmp eax, 0x202a3285
jb 0x140095770
mov eax, 0xa28ef45f
nop word [rax + rax]
mov ecx, dword [0x14158ed20]
xor ecx, dword [0x14158ed24]
imul rcx, rcx, 0x481d0b4d
shr rcx, 0x3e
lea edx, [rcx + 0x7989e492]
add ecx, ecx
sub ecx, edx
imul rcx, rax
shr rcx, 0x38
cmp ecx, 0x6cb1db8f
ja 0x1400957a0
test r11, r11
je 0x140095a98
xor r10d, r10d
xor eax, eax
nop
test al, al
jne 0x1400957e0
xor eax, eax
mov edx, 0xa58560d1
jmp 0x140095820
and r11, rsi
mov ecx, r11d
not ecx
mov rdi, r11
and rdi, 0xfffffffffffffff5
and ecx, 0xa
imul rcx, rdi
mov edi, r11d
and edi, 0xa
or r11, 0xa
imul r11, rdi
add r11, rcx
je 0x140095a59
nop word [rax + rax]
mov ebx, dword [0x14158ed80]
or ebx, dword [0x14158ed84]
mov ecx, ebx
not ecx
mov edi, ebx
and edi, 0x9e61c5d2
and ecx, 0x619e3a2d
imul ecx, edi
mov edi, ebx
and edi, 0x619e3a2d
or ebx, 0x619e3a2d
imul ebx, edi
add ebx, ecx
mov ecx, ebx
not ecx
and ecx, 0x1337a6d6
mov edi, ebx
and edi, 0xecc85929
imul edi, ecx
mov ecx, ebx
and ecx, 0x1337a6d6
or ebx, 0x1337a6d6
imul ebx, ecx
add ebx, edi
mov ecx, ebx
not ecx
and ecx, 0x7d7acc60
mov edi, ebx
and edi, 0x8285339e
imul edi, ecx
mov ecx, ebx
and ecx, 0x7d7acc60
or ebx, 0x7d7acc60
imul ebx, ecx
add ebx, edi
mov rdi, r11
mov ecx, r9d
shr rdi, cl
cmp ebx, 0xb3fb868a
je 0x140095820
cmp r10, 0x300
jae 0x140095970
mov ecx, dword [0x14158edb8]
and ecx, dword [0x14158edbc]
not ecx
or ecx, 0x39acea58
xor ecx, 0xe91a459a
mov ebx, ecx
or ebx, 0xa569ee5d
or ecx, 0xb5edee5d
and ecx, ebx
cmp ecx, 0xa63430e8
jae 0x140095900
mov byte [r8 + r10 + 8], dil
nop dword [rax]
mov byte [r8 + r10 + 8], dil
test al, al
jne 0x140095900
inc r10
nop dword [rax]
mov ecx, dword [0x14158edc0]
or ecx, dword [0x14158edc4]
mov edi, ecx
xor edi, 0xffc6c753
xor ecx, 0x32d77b5e
and ecx, edi
mov edi, ecx
not edi
and edi, 0xfd067ba1
mov ebx, ecx
and ebx, 0x2f9845e
imul ebx, edi
mov edi, ecx
and edi, 0xfd067ba1
or ecx, 0xfd067ba1
imul ecx, edi
add ecx, ebx
cmp ecx, 0x192d6811
je 0x140095910
jmp 0x1400957ed
mov ecx, dword [str.dkd_n]
mov ebx, dword [0x14158ed94]
add ecx, ebx
add ecx, 0xf12b25fb
mov ebx, ecx
not ebx
mov ebp, ecx
and ebp, 0xfb6c5670
and ebx, 0x493a98f
imul ebx, ebp
mov ebp, ecx
and ebp, 0x493a98f
or ecx, 0x493a98f
imul ecx, ebp
add ecx, ebx
or ecx, 0xea41596
cmp ecx, 0xfb6a6b16
jb 0x140095970
test dil, dil
je 0x1400957ed
mov ecx, dword [0x14158ed98]
sub ecx, dword [0x14158ed9c]
and ecx, 0x7f6fc78e
mov edi, ecx
not edi
mov ebx, ecx
or ebx, 0xbdfe4d39
and edi, 0x400102c4
mov ebp, ebx
and ebp, 0xbf228422
imul ebp, edi
and ebx, 0x40dd4b9d
or ecx, 0xfdff4ffd
imul ecx, ebx
add ecx, ebp
cmp ecx, 0x82ddc3c
jae 0x140095a20
mov byte [r8 + 0x30c], 1
nop word cs:[rax + rax]
mov ecx, dword [0x14158eda0]
or ecx, dword [0x14158eda4]
imul rcx, rdx
shr rcx, 0x3f
imul ecx, ecx, 0xd0209630
mov edi, ecx
xor edi, 0x2c43ef60
and edi, ecx
mov byte [r8 + 0x30c], 1
cmp edi, 0x9388cf99
je 0x140095a20
jmp 0x1400957ed
mov eax, dword [0x14158eda8]
sub eax, dword [0x14158edac]
mov ecx, eax
and ecx, 0xe18dfac2
and eax, 0x2185ba40
add eax, eax
sub ecx, eax
add ecx, 0x31f5bb41
mov eax, ecx
and eax, 0x5945db01
add eax, eax
sub ecx, eax
cmp ecx, 0xbc1d2362
jne 0x140095e2d
jmp 0x140095e76
mov eax, dword [0x14158ed28]
imul eax, dword [0x14158ed2c]
imul eax, eax, 0x7ce215ca
add eax, 0xfd88163e
cmp eax, 0xa29bca01
jae 0x140095e7b
jmp 0x140095eda
mov eax, dword [0x14158ecd8]
mov ecx, dword [0x14158ecdc]
xor ecx, eax
not ecx
and ecx, eax
add ecx, 0x7f9959f
imul rax, rcx, 0x4eba1965
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1f
cmp ecx, 0x8ee392e6
jbe 0x140095b00
ud2
mov ecx, dword [0x14158ece0]
sub ecx, dword [0x14158ece4]
mov eax, ecx
not eax
or ecx, 0x98081ef3
or eax, 0x67f7e10c
and eax, ecx
mov ecx, eax
xor ecx, 0xa5c0076a
or eax, 0x5a3ff895
and eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x38e3404f
and ecx, 0xc71cbfb0
imul ecx, edx
mov edx, eax
and edx, 0xc71cbfb0
or eax, 0xc71cbfb0
imul eax, edx
add eax, ecx
ud2
mov eax, dword [0x14158ed48]
and eax, dword [0x14158ed4c]
imul eax, eax, 0xed6f407c
mov ecx, eax
xor ecx, 0x1f7329ec
and eax, 0x608cd610
add eax, eax
sub eax, ecx
and eax, 0xd2f2d500
mov qword [r8], r10
cmp eax, 0x3177bca8
jbe 0x140095bd0
mov qword [r8], r10
jmp 0x140095b93
mov eax, dword [0x14158ed50]
or eax, dword [0x14158ed54]
add eax, 0xf57e65f2
or eax, 0x9afd7b5b
cmp eax, 0x4cbac2e2
jb 0x140095bd0
test r10, r10
je 0x140095e00
nop word cs:[rax + rax]
mov eax, dword [0x14158ed58]
xor edx, edx
div dword [0x14158ed5c]
and eax, 0xa3077824
imul eax, eax, 0x9b7c48dd
add eax, 0x9d74b131
cmp eax, 0x36ae48d4
jb 0x140095c00
cmp r10, 0x300
ja 0x140095d3e
mov ecx, 0x95c25a8f
nop word [rax + rax]
mov eax, dword [0x14158ed60]
add eax, dword [0x14158ed64]
imul eax, eax, 0xd7119e48
add eax, 0x31a72aaa
xor eax, 0xb366df02
cmp eax, 0xd2c09a74
jb 0x140095c40
cmp byte [r8 + r10 + 7], 0
jne 0x140095e00
dec r10
mov eax, dword [0x14158ed68]
xor edx, edx
div dword [0x14158ed6c]
add eax, 0x84bda506
mov edx, eax
xor edx, 0xe086d1e0
and eax, 0x1f792e1f
add eax, eax
sub eax, edx
cmp eax, 0x35e1c80c
jb 0x140095cf1
nop dword [rax]
mov eax, dword [0x14158ed70]
mov edx, dword [0x14158ed74]
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
add eax, 0xc91aeadf
mov edx, eax
xor edx, 0xa0400340
and edx, eax
or edx, 0x5d87d83d
mov qword [r8], r10
cmp edx, 0xd4c1e1e5
jbe 0x140095d00
mov qword [r8], r10
jmp 0x140095ca0
mov eax, dword [0x14158ed78]
xor edx, edx
div dword [0x14158ed7c]
xor eax, 0x4d01ef37
imul rax, rcx
shr rax, 0x3b
mov edx, eax
not edx
or edx, 0x14
or eax, 0xdb2d418b
and eax, edx
cmp eax, 0xff6b3554
ja 0x140095d00
test r10, r10
jne 0x140095c40
jmp 0x140095e00
ud2
mov eax, dword [0x14158ed00]
or eax, dword [0x14158ed04]
xor eax, 0x72a19108
or eax, 0x81668e3
mov ecx, 0xdbe6a967
imul rcx, rax
shr rcx, 0x3f
mov qword [r8], 0
cmp ecx, 0xf0c6648d
jne 0x140095d7b
mov qword [r8], 0
jmp 0x140095d40
mov dword [r8 + 0x308], 0
mov byte [r8 + 0x30c], 0
mov eax, 0xac1f3e65
nop word cs:[rax + rax]
mov ecx, dword [0x14158ed08]
mov edx, dword [0x14158ed0c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
xor ecx, 0xbe3badfb
mov rdx, rcx
imul rdx, rax
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1a
cmp ecx, 0x83874c0a
je 0x140095da0
nop word cs:[rax + rax]
mov eax, dword [0x14158ed88]
and eax, dword [0x14158ed8c]
xor eax, 0xa7baa2e
add eax, 0x317a91c5
and eax, 0x9a8577eb
cmp eax, 0xf45a607c
je 0x140095e00
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x14158edb0]
mov ecx, dword [0x14158edb4]
mov edx, eax
not edx
and edx, ecx
mov r9d, ecx
not r9d
and r9d, eax
imul r9d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r9d
and eax, 0x2e2e3c65
imul eax, eax, 0x60db0b2a
and eax, 0xe8383f00
mov qword [r8], r10
cmp eax, 0x2563c111
ja 0x140095c00
mov qword [r8], r10
jmp 0x140095e2d
mov ecx, dword [0x14158ed30]
mov edx, dword [0x14158ed34]
mov eax, ecx
not eax
mov r9d, edx
not r9d
mov r10d, eax
and r10d, 0x73cc4acc
and ecx, 0xc33b533
or ecx, r10d
or eax, r9d
and r9d, 0x73cc4acc
and edx, 0xc33b533
or edx, r9d
xor edx, ecx
not eax
or eax, edx
add eax, 0x3d164ca9
xor eax, 0x44208200
or eax, 0xa35455dd
mov qword [r8], 0
cmp eax, 0xfb636390
jbe 0x140095ef0
mov qword [r8], 0
jmp 0x140095e7b
mov eax, dword [0x14158ed38]
xor edx, edx
div dword [0x14158ed3c]
mov ecx, eax
xor ecx, 0xb3b3bbb6
or eax, 0x4c4c4449
and eax, ecx
cmp eax, 0xf5ad760
je 0x140095ef0
jmp 0x140095e00