Function at 0x7ff77208ef70
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov eax, dword [0x7ff772230ad0]
mov ebp, dword [0x7ff772230ad4]
lea ebx, [rax - 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete byte [rsp + 0xe]
cmp ebp, 0xa
setl byte [rsp + 0xf]
movsxd rbx, r8d
imul r10, rbx, 0x5ac5242b
mov rax, r10
sar rax, 0x27
mov rbp, r10
shr rbp, 0x3f
lea esi, [rax + rbp]
imul edi, esi, 0x169
sub ebx, edi
movsxd rdi, ebx
imul r14, rdi, 0x6bca1af3
mov rbx, r14
shr rbx, 0x3f
sar r14, 0x23
add r14d, ebx
lea ebx, [r14 + r14*8]
lea ebx, [r14 + rbx*2]
sub edi, ebx
mov qword [rsp + 0x10], rdi
sar r10, 0x29
add r10d, ebp
add eax, ebp
add eax, 3
test esi, esi
cmovns eax, esi
and eax, 0xfffffffc
sub esi, eax
mov qword [rsp + 0x18], rsi
mov eax, 0x2c8fa07f
mov r13d, 0x6d4908c4
lea r15, [0x7ff772232ab0]
nop
cmp eax, 0x4e0f86dc
jg 0x7ff77208f070
cmp eax, 0x27c38fb7
je 0x7ff77208fab9
cmp eax, 0x2c8fa07f
jne 0x7ff77208f020
mov sil, byte [rsp + 0xe]
mov al, byte [rsp + 0xf]
mov ebx, esi
xor bl, al
mov edi, 0x4e0f86dd
mov ebp, 0x5d9482f9
cmovne edi, ebp
test al, al
mov eax, edi
cmovne eax, ebp
test sil, sil
cmove eax, edi
jmp 0x7ff77208f020
cmp eax, 0x4e0f86dd
je 0x7ff77208f153
cmp eax, 0x5d9482f9
jne 0x7ff77208f020
mov eax, dword [0x7ff772230ad8]
mov r12d, dword [0x7ff772230adc]
lea esi, [rax - 1]
imul esi, eax
mov r9d, esi
xor r9d, 0xfffffffe
test r9d, esi
sete bl
cmp r12d, 0xa
setl al
xor al, bl
mov eax, 0x1a17eaee
cmovne eax, r13d
test r9d, esi
movsx r8d, byte [rdx]
sete byte [rsp + 6]
mov r11d, eax
cmove r11d, r13d
cmp r12d, 0xa
setl byte [rsp + 7]
cmovge r11d, eax
add r8d, 0xffffffd0
mov edi, 0xe11fa909
nop dword [rax]
cmp edi, 0x1a17eaed
jle 0x7ff77208f100
cmp edi, 0x1a17eaee
je 0x7ff77208f142
cmp edi, 0x6d4908c4
jne 0x7ff77208f0e0
jmp 0x7ff77208f22c
cmp edi, 0xbd75f064
je 0x7ff77208f149
cmp edi, 0xe11fa909
jne 0x7ff77208f0e0
movzx r13d, byte [rsp + 6]
movzx ebx, byte [rsp + 7]
mov eax, r13d
xor al, bl
mov eax, 0x1a17eaee
mov ebp, 0xbd75f064
cmovne eax, ebp
test bl, bl
mov edi, eax
cmovne edi, ebp
test r13b, r13b
mov r13d, 0x6d4908c4
cmove edi, eax
jmp 0x7ff77208f0e0
mov edi, 0xbd75f064
jmp 0x7ff77208f0e0
mov dword [rsp + 8], r8d
mov edi, r11d
jmp 0x7ff77208f0e0
movsx r11d, byte [rdx]
mov eax, dword [0x7ff772230ad8]
mov r8d, dword [0x7ff772230adc]
lea esi, [rax - 1]
imul esi, eax
mov edi, esi
xor edi, 0xfffffffe
add r11d, 0xffffffd0
test edi, esi
sete byte [rsp + 6]
sete r9b
mov r12d, 0x1a17eaee
cmove r12d, r13d
cmp r8d, 0xa
setl byte [rsp + 7]
setl al
mov ebx, 0x1a17eaee
cmovge r12d, ebx
xor al, r9b
cmovne r12d, r13d
mov ebp, 0xe11fa909
nop dword [rax]
cmp ebp, 0x1a17eaed
jle 0x7ff77208f1d0
cmp ebp, 0x1a17eaee
je 0x7ff77208f21b
cmp ebp, 0x6d4908c4
jne 0x7ff77208f1b0
jmp 0x7ff77208f2cc
cmp ebp, 0xbd75f064
je 0x7ff77208f222
cmp ebp, 0xe11fa909
jne 0x7ff77208f1b0
movzx r9d, byte [rsp + 6]
movzx ebx, byte [rsp + 7]
mov eax, r9d
xor al, bl
test bl, bl
mov ebp, 0x1a17eaee
mov r15d, 0xbd75f064
cmovne ebp, r15d
test r9b, r9b
mov ebx, 0x1a17eaee
cmove ebp, ebx
test al, al
cmovne ebp, r15d
lea r15, [0x7ff772232ab0]
jmp 0x7ff77208f1b0
mov ebp, 0xbd75f064
jmp 0x7ff77208f1b0
mov dword [rsp + 8], r11d
mov ebp, r12d
jmp 0x7ff77208f1b0
test r9d, esi
mov ebx, dword [rsp + 8]
movsx esi, byte [rdx + 1]
sete byte [rsp + 6]
cmp r12d, 0xa
setl byte [rsp + 7]
lea edi, [rbx + rbx*8]
lea r8d, [rbx + rdi*2]
add esi, 0xffffffd0
mov edi, 0xe11fa909
nop word cs:[rax + rax]
nop
cmp edi, 0x1a17eaed
jle 0x7ff77208f280
cmp edi, 0x1a17eaee
je 0x7ff77208f2bc
cmp edi, 0x6d4908c4
jne 0x7ff77208f260
jmp 0x7ff77208f36c
cmp edi, 0xbd75f064
je 0x7ff77208f2c3
cmp edi, 0xe11fa909
jne 0x7ff77208f260
movzx r9d, byte [rsp + 6]
movzx eax, byte [rsp + 7]
mov ebx, r9d
xor bl, al
mov ebx, 0x1a17eaee
mov ebp, 0xbd75f064
cmovne ebx, ebp
test al, al
mov edi, ebx
cmovne edi, ebp
test r9b, r9b
cmove edi, ebx
jmp 0x7ff77208f260
mov edi, 0xbd75f064
jmp 0x7ff77208f260
mov dword [rsp + 8], esi
mov edi, r11d
jmp 0x7ff77208f260
test edi, esi
mov ebp, dword [rsp + 8]
movsx esi, byte [rdx + 1]
sete byte [rsp + 6]
cmp r8d, 0xa
setl byte [rsp + 7]
lea ebx, [rbp + rbp*8]
lea r9d, [rbp + rbx*2]
add esi, 0xffffffd0
mov edi, 0xe11fa909
nop word cs:[rax + rax]
nop
cmp edi, 0x1a17eaed
jle 0x7ff77208f320
cmp edi, 0x1a17eaee
je 0x7ff77208f35c
cmp edi, 0x6d4908c4
jne 0x7ff77208f300
jmp 0x7ff77208f558
cmp edi, 0xbd75f064
je 0x7ff77208f363
cmp edi, 0xe11fa909
jne 0x7ff77208f300
movzx r8d, byte [rsp + 6]
movzx eax, byte [rsp + 7]
mov ebx, r8d
xor bl, al
mov ebx, 0x1a17eaee
mov ebp, 0xbd75f064
cmovne ebx, ebp
test al, al
mov edi, ebx
cmovne edi, ebp
test r8b, r8b
cmove edi, ebx
jmp 0x7ff77208f300
mov edi, 0xbd75f064
jmp 0x7ff77208f300
mov dword [rsp + 8], esi
mov edi, r12d
jmp 0x7ff77208f300
add r8d, r14d
mov eax, dword [rsp + 8]
lea ebp, [rax + rax*8]
lea edi, [rax + rbp*2]
add edi, dword [rsp + 0x10]
movsxd rbp, r8d
mov bl, byte [r15 + rbp*2]
lea rsi, [0x7ff772232c80]
mov r8b, byte [rsi + rbp*2]
add rbp, rbp
mov eax, r8d
not al
and al, 0x74
and r8b, 0x8b
or r8b, al
mov eax, ebx
not al
and al, 0x74
and bl, 0x8b
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx], ax
movabs rbx, 0xdb61f5b3b727de09
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
movabs rbp, 0xdb61f5b3b727de08
xor rax, rbp
mov bl, byte [rax + r15]
mov r8b, byte [rax + rsi]
mov eax, r8d
not al
and al, 0x3d
and r8b, 0xc2
or r8b, al
mov eax, ebx
not al
and al, 0x3d
and bl, 0xc2
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx + 2], ax
movsxd rax, edi
mov bl, byte [r15 + rax*2]
mov r8b, byte [rsi + rax*2]
lea rbp, [rax + rax]
mov eax, r8d
not al
and al, bl
not bl
and bl, r8b
or bl, al
movzx eax, bl
mov word [rcx + 4], ax
movabs rbx, 0xf5caa4e006b82f60
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
lea rbp, [rbx + 1]
xor rbp, rax
mov al, byte [rbp + r15]
mov r8b, byte [rbp + rsi]
mov ebx, r8d
not bl
and bl, 0xbb
and r8b, 0x44
or r8b, bl
mov ebx, eax
not bl
and bl, 0xbb
and al, 0x44
or al, bl
xor al, r8b
movzx eax, al
mov word [rcx + 6], ax
mov eax, dword [0x7ff772230ad8]
mov r12d, dword [0x7ff772230adc]
lea esi, [rax - 1]
imul esi, eax
mov r11d, esi
xor r11d, 0xfffffffe
test r11d, esi
sete al
cmp r12d, 0xa
setl bl
xor bl, al
mov ebx, 0x1a17eaee
cmovne ebx, r13d
test r11d, esi
movsx r9d, byte [rdx + 4]
sete byte [rsp + 6]
mov r8d, ebx
cmove r8d, r13d
cmp r12d, 0xa
setl byte [rsp + 7]
cmovge r8d, ebx
add r9d, 0xffffffd0
mov edi, 0xe11fa909
nop dword [rax]
cmp edi, 0x1a17eaed
jle 0x7ff77208f500
cmp edi, 0x1a17eaee
je 0x7ff77208f547
cmp edi, 0x6d4908c4
jne 0x7ff77208f4e0
jmp 0x7ff77208f73b
cmp edi, 0xbd75f064
je 0x7ff77208f54e
cmp edi, 0xe11fa909
jne 0x7ff77208f4e0
movzx r13d, byte [rsp + 6]
movzx ebx, byte [rsp + 7]
mov eax, ebx
xor al, r13b
test bl, bl
mov edi, 0x1a17eaee
mov ebp, 0xbd75f064
cmovne edi, ebp
test r13b, r13b
mov r13d, 0x6d4908c4
mov ebx, 0x1a17eaee
cmove edi, ebx
test al, al
cmovne edi, ebp
jmp 0x7ff77208f4e0
mov edi, 0xbd75f064
jmp 0x7ff77208f4e0
mov dword [rsp + 8], r9d
mov edi, r8d
jmp 0x7ff77208f4e0
add r9d, r14d
mov eax, dword [rsp + 8]
lea ebx, [rax + rax*8]
lea edi, [rax + rbx*2]
add edi, dword [rsp + 0x10]
movsxd rbp, r9d
mov bl, byte [r15 + rbp*2]
lea rsi, [0x7ff772232c80]
mov r8b, byte [rsi + rbp*2]
add rbp, rbp
mov eax, r8d
not al
and al, 0x8e
and r8b, 0x71
or r8b, al
mov eax, ebx
not al
and al, 0x8e
and bl, 0x71
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx], ax
movabs rbx, 0xd14927aa982a17c1
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
movabs rbp, 0xd14927aa982a17c0
xor rax, rbp
mov bl, byte [rax + r15]
mov r8b, byte [rax + rsi]
mov eax, r8d
not al
and al, 0xcd
and r8b, 0x32
or r8b, al
mov eax, ebx
not al
and al, 0xcd
and bl, 0x32
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx + 2], ax
movsxd rax, edi
mov bl, byte [r15 + rax*2]
mov r8b, byte [rsi + rax*2]
lea rbp, [rax + rax]
mov eax, r8d
not al
and al, bl
not bl
and bl, r8b
or bl, al
movzx eax, bl
mov word [rcx + 4], ax
movabs rbx, 0xba8f38e34cec599e
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
lea rbp, [rbx + 1]
xor rbp, rax
mov al, byte [rbp + r15]
mov r8b, byte [rbp + rsi]
mov ebx, r8d
not bl
and bl, 0xf
and r8b, 0xf0
or r8b, bl
mov ebx, eax
not bl
and bl, 0xf
and al, 0xf0
or al, bl
xor al, r8b
movzx eax, al
mov word [rcx + 6], ax
movsx r8d, byte [rdx + 4]
mov eax, dword [0x7ff772230ad8]
mov r12d, dword [0x7ff772230adc]
lea esi, [rax - 1]
imul esi, eax
mov r9d, esi
xor r9d, 0xfffffffe
add r8d, 0xffffffd0
test r9d, esi
sete byte [rsp + 6]
sete bl
mov ebp, 0x1a17eaee
cmove ebp, r13d
cmp r12d, 0xa
setl byte [rsp + 7]
setl al
mov edi, 0x1a17eaee
cmovge ebp, edi
xor al, bl
cmovne ebp, r13d
mov edi, 0xe11fa909
nop
cmp edi, 0x1a17eaed
jle 0x7ff77208f6e0
cmp edi, 0x1a17eaee
je 0x7ff77208f72b
cmp edi, 0x6d4908c4
jne 0x7ff77208f6c0
jmp 0x7ff77208f7dd
cmp edi, 0xbd75f064
je 0x7ff77208f732
cmp edi, 0xe11fa909
jne 0x7ff77208f6c0
movzx r11d, byte [rsp + 6]
movzx eax, byte [rsp + 7]
mov ebx, eax
xor bl, r11b
test al, al
mov edi, 0x1a17eaee
mov r15d, 0xbd75f064
cmovne edi, r15d
test r11b, r11b
mov eax, 0x1a17eaee
cmove edi, eax
test bl, bl
cmovne edi, r15d
lea r15, [0x7ff772232ab0]
jmp 0x7ff77208f6c0
mov edi, 0xbd75f064
jmp 0x7ff77208f6c0
mov dword [rsp + 8], r8d
mov edi, ebp
jmp 0x7ff77208f6c0
mov ebp, dword [rsp + 8]
shl ebp, 2
test r11d, esi
movsx r11d, byte [rdx + 5]
sete byte [rsp + 6]
cmp r12d, 0xa
setl byte [rsp + 7]
add r11d, 0xffffffd0
mov edi, 0xe11fa909
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp edi, 0x1a17eaed
jle 0x7ff77208f790
cmp edi, 0x1a17eaee
je 0x7ff77208f7cc
cmp edi, 0x6d4908c4
jne 0x7ff77208f770
jmp 0x7ff77208f884
cmp edi, 0xbd75f064
je 0x7ff77208f7d3
cmp edi, 0xe11fa909
jne 0x7ff77208f770
movzx r9d, byte [rsp + 6]
movzx eax, byte [rsp + 7]
mov ebx, r9d
xor bl, al
mov ebx, 0x1a17eaee
mov esi, 0xbd75f064
cmovne ebx, esi
test al, al
mov edi, ebx
cmovne edi, esi
test r9b, r9b
cmove edi, ebx
jmp 0x7ff77208f770
mov edi, 0xbd75f064
jmp 0x7ff77208f770
mov dword [rsp + 8], r11d
mov edi, r8d
jmp 0x7ff77208f770
mov edi, dword [rsp + 8]
shl edi, 2
test r9d, esi
movsx r8d, byte [rdx + 5]
sete byte [rsp + 6]
cmp r12d, 0xa
setl byte [rsp + 7]
add r8d, 0xffffffd0
mov esi, 0xe11fa909
nop word cs:[rax + rax]
nop dword [rax]
cmp esi, 0x1a17eaed
jle 0x7ff77208f830
cmp esi, 0x1a17eaee
je 0x7ff77208f874
cmp esi, 0x6d4908c4
jne 0x7ff77208f810
jmp 0x7ff77208f9a8
cmp esi, 0xbd75f064
je 0x7ff77208f87b
cmp esi, 0xe11fa909
jne 0x7ff77208f810
movzx r9d, byte [rsp + 6]
movzx eax, byte [rsp + 7]
mov ebx, eax
xor bl, r9b
test al, al
mov esi, 0x1a17eaee
mov r11d, 0xbd75f064
cmovne esi, r11d
test r9b, r9b
mov eax, 0x1a17eaee
cmove esi, eax
test bl, bl
cmovne esi, r11d
jmp 0x7ff77208f810
mov esi, 0xbd75f064
jmp 0x7ff77208f810
mov dword [rsp + 8], r8d
mov esi, ebp
jmp 0x7ff77208f810
add ebp, r10d
mov eax, dword [rsp + 8]
mov rbx, qword [rsp + 0x18]
lea esi, [rbx + rax*4]
movsxd rax, ebp
mov bl, byte [r15 + rax*2]
lea rdi, [0x7ff772232c80]
mov r8b, byte [rdi + rax*2]
lea rbp, [rax + rax]
mov eax, r8d
not al
and al, bl
not bl
and bl, r8b
or bl, al
movzx eax, bl
mov word [rcx + 8], ax
movabs rbx, 0x2e1fc8685464bc33
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
movabs rbp, 0x2e1fc8685464bc32
xor rax, rbp
mov bl, byte [rax + r15]
mov r8b, byte [rax + rdi]
mov eax, r8d
not al
and al, bl
not bl
and bl, r8b
or bl, al
movzx eax, bl
mov word [rcx + 0xa], ax
movsxd rbp, esi
mov bl, byte [r15 + rbp*2]
mov r8b, byte [rdi + rbp*2]
mov eax, r8d
not al
and al, 0x6a
and r8b, 0x95
or r8b, al
mov eax, ebx
not al
and al, 0x6a
and bl, 0x95
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx + 0xc], ax
mov al, byte [r15 + rbp*2 + 1]
mov r8b, byte [rdi + rbp*2 + 1]
mov ebx, r8d
not bl
and bl, 7
and r8b, 0xf8
or r8b, bl
mov ebx, eax
not bl
and bl, 7
and al, 0xf8
or al, bl
xor al, r8b
movzx eax, al
mov word [rcx + 0xe], ax
mov word [rcx + 0x10], 0
mov eax, dword [0x7ff772230ad0]
lea ebp, [rax - 1]
imul ebp, eax
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete r8b
mov eax, 0x4e0f86dd
mov edi, 0x27c38fb7
cmove eax, edi
cmp dword [0x7ff772230ad4], 0xa
mov ebp, 0x4e0f86dd
cmovge eax, ebp
setl bl
xor bl, r8b
cmovne eax, edi
jmp 0x7ff77208f020
add edi, r10d
mov eax, dword [rsp + 8]
mov rbp, qword [rsp + 0x18]
lea esi, [rbp + rax*4]
movsxd rbp, edi
mov bl, byte [r15 + rbp*2]
lea rdi, [0x7ff772232c80]
mov r8b, byte [rdi + rbp*2]
add rbp, rbp
mov eax, r8d
not al
and al, 0x23
and r8b, 0xdc
or r8b, al
mov eax, ebx
not al
and al, 0x23
and bl, 0xdc
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx + 8], ax
movabs rbx, 0xb64cdf56531e1b8
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
lea rbp, [rbx + 1]
xor rbp, rax
mov al, byte [rbp + r15]
mov r8b, byte [rbp + rdi]
mov ebx, r8d
not bl
and bl, al
not al
and al, r8b
or al, bl
movzx eax, al
mov word [rcx + 0xa], ax
movsxd rbp, esi
mov bl, byte [r15 + rbp*2]
mov r8b, byte [rdi + rbp*2]
add rbp, rbp
mov eax, r8d
not al
and al, 0xcc
and r8b, 0x33
or r8b, al
mov eax, ebx
not al
and al, 0xcc
and bl, 0x33
or bl, al
xor bl, r8b
movzx eax, bl
mov word [rcx + 0xc], ax
movabs rbx, 0x2153106e1d37f1f5
mov rax, rbx
not rax
and rax, rbp
not rbp
and rbp, rbx
or rax, rbp
movabs rbp, 0x2153106e1d37f1f4
xor rax, rbp
mov bl, byte [rax + r15]
mov r8b, byte [rax + rdi]
mov eax, r8d
not al
and al, bl
not bl
and bl, r8b
or bl, al
movzx eax, bl
mov word [rcx + 0xe], ax
mov word [rcx + 0x10], 0
mov eax, 0x5d9482f9
jmp 0x7ff77208f020
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret