Function at 0x180026770
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r9, r8
mov r8, qword [rdx]
test r8, r8
je 0x180026e2c
mov rax, qword [rdx + 8]
test rax, rax
je 0x180026e2c
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x180026e2c
add rcx, r8
jb 0x180026e2c
mov r14, r8
sub r14, rax
jb 0x180026e2c
mov rax, rcx
shr rax, 0x3d
jne 0x180026e2c
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [rax - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, eax
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea esi, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne esi, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [rsi - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, esi
mov rcx, rbx
shr rcx, 0x3c
mov rsi, rbx
shl rsi, 4
test rcx, rcx
cmovne rsi, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov rbx, rsi
shr rbx, 0x3e
lea rdx, [rsi*4]
lea r10d, [rcx - 2]
test rbx, rbx
cmovne rdx, rsi
cmovne r10d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r10d, ecx
sub ax, r10w
js 0x180026e2c
and eax, 0x3f
mov rsi, 0xffffffffffffffff
mov ecx, eax
shr rsi, cl
cmp r14, rsi
ja 0x180026e2c
mov ecx, eax
shl r14, cl
cmp r8, rsi
ja 0x180026e2c
mov ecx, 0xffffffa0
sub ecx, r10d
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rsi, rcx, 0x7b4dc993
mov rcx, rsi
shr rcx, 0x3f
sar rsi, 0x2a
add esi, ecx
cmp esi, 0x51
jae 0x180026e2c
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rdi
mov ecx, eax
shl r8, cl
mov eax, esi
shl rax, 4
lea r9, [0x180193060]
mov rbp, qword [rax + r9]
movzx ecx, word [rax + r9 + 0xa]
mov dword [rsp], ecx
mov r11, rdx
shr r11, 0x20
mov edx, edx
mov ecx, ebp
shr rbp, 0x20
mov rdi, rbp
imul rdi, rdx
mov r15, rcx
imul r15, r11
imul rdx, rcx
shr rdx, 0x20
mov esi, r15d
add rsi, rdx
mov r13d, edi
add r13, rsi
add r10w, word [rax + r9 + 8]
mov r9, r14
shr r9, 0x20
mov eax, r14d
mov rdx, rbp
imul rdx, r9
mov qword [rsp + 0x30], rdx
mov r12, rbp
imul r12, rax
imul r9, rcx
imul rax, rcx
shr rax, 0x20
mov edx, r9d
add rdx, rax
mov eax, r12d
add rax, rdx
mov rsi, r8
shr rsi, 0x20
mov edx, r8d
mov rbx, rbp
imul rbx, rdx
mov r8, rcx
imul r8, rsi
imul rcx, rdx
shr rcx, 0x20
mov edx, r8d
add rdx, rcx
mov r14d, ebx
add r14, rdx
mov rcx, rbp
mov qword [rsp + 0x78], r11
imul rcx, r11
sub r13, 0xffffffff80000000
shr r15, 0x20
shr rdi, 0x20
shr r13, 0x20
neg r10d
sub rax, 0xffffffff80000000
shr r9, 0x20
shr r12, 0x20
shr rax, 0x20
mov qword [rsp + 0x40], rbp
imul rbp, rsi
sub r14, 0xffffffff80000000
shr r8, 0x20
mov qword [rsp + 0x50], r8
add rbp, r8
shr rbx, 0x20
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x38], rcx
add rcx, r15
add rcx, rdi
mov qword [rsp + 0x60], r13
lea r8, [rcx + r13]
inc r8
and r10d, 0x3f
mov r13, r8
mov ecx, r10d
shr r13, cl
mov edx, 1
shl rdx, cl
mov qword [rsp + 0x48], rbx
add rbp, rbx
mov rbx, r14
shr rbx, 0x20
mov qword [rsp + 0x80], rdx
lea r15, [rdx - 1]
cmp r13d, 0x2710
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x58], rsi
jae 0x180026a6a
cmp r13d, 0x64
jae 0x180026a91
xor ecx, ecx
cmp r13d, 0xa
setae cl
lea r14d, [rcx + rcx*8]
inc r14d
jmp 0x180026af2
cmp r13d, 0xf4240
jae 0x180026aaf
cmp r13d, 0x186a0
setb cl
mov edx, 0x2710
mov r14d, 0x186a0
cmovb r14d, edx
xor cl, 5
jmp 0x180026af2
cmp r13d, 0x3e8
setb cl
mov edx, 0x64
mov r14d, 0x3e8
cmovb r14d, edx
xor cl, 3
jmp 0x180026af2
cmp r13d, 0x5f5e100
jae 0x180026ad6
cmp r13d, 0x989680
setb cl
mov edx, 0xf4240
mov r14d, 0x989680
cmovb r14d, edx
xor cl, 7
jmp 0x180026af2
cmp r13d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r14d, 0x3b9aca00
cmovb r14d, edx
xor cl, 9
mov edx, dword [rsp]
add rbp, rbx
mov qword [rsp + 0x28], rbp
mov rsi, r8
and rsi, r15
mov r11, r8
movzx ebp, cl
mov ecx, ebp
sub ecx, edx
inc ecx
mov dword [rsp + 0x1c], ecx
mov rcx, qword [rsp + 0x30]
add rcx, r9
add rcx, r12
add rcx, rax
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x30], rcx
sub r11, rcx
inc r11
mov qword [rsp], r11
and r11, r15
xor edi, edi
mov r9d, 0xcccccccd
mov eax, r13d
xor edx, edx
div r14d
add al, 0x30
mov r13d, edx
mov rdx, r13
mov ecx, r10d
shl rdx, cl
mov rcx, qword [rsp + 0x20]
mov byte [rcx + rdi], al
lea r8, [rdx + rsi]
mov r12, qword [rsp]
sub r12, r8
ja 0x180026b90
cmp rbp, rdi
je 0x180026c95
mov eax, r14d
imul rax, r9
shr rax, 0x23
inc rdi
cmp r14d, 0xa
mov r14d, eax
jae 0x180026b40
jmp 0x180026e2c
mov r11d, r14d
mov ecx, r10d
shl r11, cl
cmp rdi, 0x11
jae 0x180026e2c
mov r9, qword [rsp + 0x10]
sub r9, qword [rsp + 0x28]
lea r10, [r9 + 1]
dec r9
cmp r12, r11
setb bpl
cmp r9, r8
mov r13, qword [rsp + 0x20]
jbe 0x180026d7d
cmp r12, r11
jb 0x180026d7d
mov rcx, r9
mov qword [rsp + 0x10], r10
mov r9, qword [rsp + 0x70]
mov r12, qword [rsp + 0x68]
lea r10, [r12 + r9]
mov rbp, qword [rsp + 0x60]
add r10, rbp
add r10, qword [rsp + 0x38]
mov r14, r10
sub r14, qword [rsp + 0x28]
sub r14, rdx
sub r14, rsi
lea r15, [rsi + r11]
mov r13, qword [rsp + 0x50]
add r13, r15
add r13, qword [rsp + 0x48]
add r13, rbx
mov r8, qword [rsp + 0x58]
sub r8, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x40]
imul rbx, r8
add rbx, r13
mov r13, qword [rsp + 0x20]
sub rbx, r12
sub rbx, r9
sub rbx, rbp
sub r10, qword [rsp + 0x30]
sub r10, r15
sub r10, rdx
add r10, 2
nop word [rax + rax]
lea r8, [rdx + r15]
mov r12, rcx
cmp r8, rcx
jb 0x180026c69
lea r9, [rdx + rbx]
cmp r14, r9
jb 0x180026d70
dec al
mov byte [r13 + rdi], al
sub r10, r11
setb bpl
add rsi, r11
cmp r8, r12
jae 0x180026c8d
sub r14, r11
add rbx, r11
add r15, r11
test bpl, bpl
je 0x180026c50
add rdx, rsi
jmp 0x180026d75
inc rdi
mov r8d, 1
mov r12, qword [rsp + 0x20]
mov r13, qword [rsp + 0x10]
nop dword [rax + rax]
cmp rdi, 0x10
ja 0x180026e2c
mov rax, r8
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r15
lea rcx, [r8 + r8]
lea r8, [rcx + rcx*4]
mov r14, r11
add r14, r11
lea r11, [r14 + r14*4]
mov ecx, r10d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [r12 + rdi], cl
inc rdi
mov r9, r11
sub r9, rsi
jbe 0x180026cb0
sub r13, qword [rsp + 0x28]
imul r13, r8
lea rcx, [r8 + r13]
mov r15, qword [rsp + 0x80]
cmp r9, r15
setb bl
jb 0x180026db9
sub r13, r8
mov r8, r13
sub r8, rsi
jbe 0x180026db9
add dl, 0x2f
mov r9, r15
sub r9, r13
lea r14, [r14 + r14*4]
sub r14, r15
sub r14, rsi
nop word [rax + rax]
lea r10, [rsi + r15]
cmp r10, r13
jb 0x180026d52
lea rbx, [r9 + rsi]
cmp r8, rbx
jb 0x180026db7
mov byte [r12 + rdi - 1], dl
sub r14, r15
setb bl
cmp r10, r13
jae 0x180026dbc
dec dl
sub r8, r15
mov rsi, r10
test bl, bl
je 0x180026d40
jmp 0x180026dbc
add rdx, rsi
xor ebp, ebp
mov r8, rdx
mov r10, qword [rsp + 0x10]
mov rax, r10
sub rax, r8
jbe 0x180026d97
test bpl, bpl
jne 0x180026d97
add r11, r8
sub r11, r10
jb 0x180026df6
cmp rax, r11
jae 0x180026df6
cmp r8, 2
jb 0x180026df6
mov rax, qword [rsp]
add rax, 0xfffffffffffffffc
cmp r8, rax
ja 0x180026df6
inc rdi
mov rax, qword [rsp + 8]
mov qword [rax], r13
jmp 0x180026e0c
xor ebx, ebx
mov r10, rsi
mov rdx, rcx
sub rdx, r10
jbe 0x180026dd5
test bl, bl
jne 0x180026dd5
add r15, r10
sub r15, rcx
jb 0x180026df6
cmp rdx, r15
jae 0x180026df6
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
ja 0x180026df6
shl rax, 3
lea rax, [rax + rax*4]
sub r11, rax
cmp r10, r11
jbe 0x180026e04
mov rax, qword [rsp + 8]
mov qword [rax], 0
jmp 0x180026e18
mov rax, qword [rsp + 8]
mov qword [rax], r12
mov qword [rax + 8], rdi
mov ecx, dword [rsp + 0x1c]
mov word [rax + 0x10], cx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2