Function at 0x180031300
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r10d, r9d
mov r11, r8
mov rdi, rcx
mov eax, dword [0x18007eba0]
test al, 1
jne 0x180031345
or eax, 1
mov dword [0x18007eba0], eax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
xor eax, eax
mov qword [rbp - 0x18], rax
mov r15d, r9d
lea r12d, [r9 + 0x14]
lea rcx, [0x180000000]
cmp r9d, r12d
jae 0x1800316dd
lea r14d, [r9 - 0x1d]
lea ebx, [rax + 0x45]
mov esi, 0x4e4d
mov r13, qword [rbp - 0x58]
mov r10d, 0x41
mov r9d, 0x504f
lea r8d, [r10 + 0x25]
mov edx, 0x615a
cmp r14d, 0x35
ja case.default.0x1800313b3
movzx eax, byte [rcx + r14 + 0x31c74]
mov ecx, dword [rcx + rax*4 + 0x31c24]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov eax, 0x42
mov word [0x18007eb51], ax
mov eax, 0x4443
mov word [0x18007eb52], ax
jmp case.0x1800313b3.19
mov word [0x18007eb69], dx
jmp case.0x1800313b3.19
mov r9, r11
xor r8d, r8d
xor edx, edx
mov ecx, 0xc6
call fcn.180023ea0
inc rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x10], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov ecx, 0x113
call fcn.18000c540
mov r13, rax
jmp case.0x1800313b3.19
test r13, r13
je 0x180031438
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x58], rax
mov r9, r13
mov r8, r11
mov edx, 0x9a
lea rcx, [rbp - 0x58]
call fcn.180014430
mov qword [rbp - 0x50], r13
jmp case.0x1800313b3.19
mov word [0x18007eb6f], r8w
mov dword [0x18007eb70], 0x6a696867
jmp case.0x1800313b3.19
mov word [0x18007eb5e], r9w
jmp case.0x1800313b3.19
mov word [0x18007eb50], r10w
jmp case.0x1800313b3.19
mov eax, 0x4b
mov word [0x18007eb5a], ax
mov eax, 0x4c
mov word [0x18007eb5b], ax
jmp case.0x1800313b3.19
mov byte [rbp - 0x50], 0
jmp case.0x1800313b3.19
mov word [0x18007eb54], bx
jmp case.0x1800313b3.19
mov eax, 0x51
mov word [0x18007eb60], ax
mov eax, 0x5352
mov word [0x18007eb61], ax
jmp case.0x1800313b3.19
mov word [0x18007eb5c], si
jmp case.0x1800313b3.19
mov dword [0x18007eb55], 0x484746
mov eax, 0x4a49
mov word [0x18007eb58], ax
jmp case.0x1800313b3.19
xor r9d, r9d
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x28]
call fcn.180019b70
test al, al
jne 0x180031530
mov ecx, 0xc7
nop word [rax + rax]
mov eax, ecx
sub eax, 0xc6
je case.0x1800313b3.2
cmp eax, 1
jne 0x180031526
mov byte [rbp - 0x50], 0
dec ecx
cmp ecx, 0xc5
ja 0x180031510
mov rbx, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x20]
cmp rbx, rsi
je 0x1800316b1
xor eax, eax
mov word [rbp - 0x40], ax
lea r8d, [rax + 1]
lea rdx, [0x1800643d4]
lea rcx, [rbp - 0x40]
call fcn.1800470dc
mov r8d, 1
lea rdx, [0x1800643ec]
lea rcx, [rbp - 0x40]
call fcn.1800470dc
mov eax, dword [0x180064402]
mov dword [rbp - 0x3c], eax
movzx eax, word [0x180064406]
mov word [rbp - 0x38], ax
xor eax, eax
mov word [rbp - 0x36], ax
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
cmp dword [rbx + 0x4c], eax
jne 0x1800316a1
mov rax, qword [rbp + 0x48]
mov eax, dword [rax]
cmp dword [rbx + 0x58], eax
jne 0x1800316a1
lea rcx, [rbx + 0x74]
mov r8d, 5
lea rdx, [rbp - 0x40]
call fcn.18004716c
test eax, eax
jne 0x1800316a1
mov r8d, 0x82
nop word [rax + rax]
mov eax, r8d
sub eax, 0x80
je case.0x1800313b3.2
sub eax, 1
je 0x180031690
cmp eax, 1
jne 0x180031694
mov rdx, rdi
mov rax, rbx
mov ecx, 4
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x180031600
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
mov ecx, dword [rax + 0x70]
mov dword [rdx + 0x70], ecx
jmp 0x180031694
mov byte [rbp - 0x50], 1
dec r8d
cmp r8d, 0x7f
ja 0x1800315d0
add rbx, 0x274
cmp rbx, rsi
jne 0x180031541
mov esi, 0x4e4d
mov ebx, 0x45
lea rcx, [0x180000000]
inc r15d
inc r14d
mov r11, qword [rbp + 0x50]
cmp r15d, r12d
jb 0x18003137a
mov r10d, dword [rbp + 0x58]
mov rdx, qword [rbp + 0x48]
imul r13d, r10d, 0x6e0
mov dword [rbp - 0x2c], r13d
cmp r10d, r13d
ja case.0x1800313b3.2
imul r9d, r10d, 0x58
mov dword [rbp - 0x60], r9d
mov ecx, 0x6f6e
movabs r8, 0xaaaaaaaaaaaaaaab
mov rdi, qword [rbp - 0x58]
mov r15, qword [rbp - 0x48]
mov r9, qword [0x18007eb98]
mov rsi, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x58]
mov r12d, dword [rbp + 0x58]
mov r14d, dword [rbp + 0x58]
mov eax, dword [rbp - 0x60]
nop word [rax + rax]
cmp r10d, 0xed75
ja 0x1800318e4
je 0x1800318d3
cmp r10d, 0x76dd
ja 0x18003185d
je 0x180031842
cmp r10d, 0x45
je 0x180031825
cmp r10d, 0x17fd
je 0x180031814
cmp r10d, 0x2fb5
je 0x180031808
cmp r10d, 0x476d
je 0x1800317eb
cmp r10d, 0x5f25
jne 0x180031b89
mov dword [0x18007eb7b], 0x75747372
jmp 0x180031b89
mov dword [0x18007eb6c], 0x656463
jmp case.0x1800313b3.19
mov dword [0x18007eb66], 0x595857
jmp case.0x1800313b3.19
mov eax, 0x62
mov word [0x18007eb6b], ax
jmp case.0x1800313b3.19
mov eax, 0x54
mov word [0x18007eb63], ax
mov eax, 0x5655
mov word [0x18007eb64], ax
jmp case.0x1800313b3.19
mov edx, 0x70
mov word [0x18007eb79], dx
mov edx, 0x71
mov word [0x18007eb7a], dx
jmp 0x180031b89
mov word [0x18007eb77], cx
jmp 0x180031b89
mov edx, 0x6d
mov word [0x18007eb76], dx
jmp 0x180031b89
mov edx, 0x6b
mov word [0x18007eb74], dx
mov edx, 0x6c
mov word [0x18007eb75], dx
jmp 0x180031b89
mov edx, 0x76
mov word [0x18007eb7f], dx
mov dword [0x18007eb80], 0x797877
jmp 0x180031b89
cmp r10d, 0x8e95
je 0x1800318c4
cmp r10d, 0xa64d
je 0x1800318b3
cmp r10d, 0xbe05
je 0x180031896
cmp r10d, 0xd5bd
jne 0x180031b89
mov edx, 0x37
mov word [0x18007eb8b], dx
jmp 0x180031b89
mov edx, 0x34
mov word [0x18007eb88], dx
mov edx, 0x3635
mov word [0x18007eb89], dx
jmp 0x180031b89
mov edx, 0x3332
mov word [0x18007eb86], dx
jmp 0x180031b89
mov dword [0x18007eb83], 0x31307a
jmp 0x180031b89
mov edx, 0x3938
mov word [0x18007eb8c], dx
jmp 0x180031b89
cmp r10d, 0x1640d
ja 0x18003199a
je 0x180031984
cmp r10d, 0x1052d
je 0x18003196c
cmp r10d, 0x11ce5
je 0x180031959
cmp r10d, 0x1349d
jne 0x180031b89
mov rcx, qword [r11 + 0x10]
add rcx, 2
mov rax, r8
mul rcx
shr rdx, 1
shl rdx, 2
xor r8d, r8d
mov rcx, qword [rbp + 0x48]
call fcn.18003a090
mov r9, qword [0x18007eb98]
mov r10d, dword [rbp + 0x58]
mov eax, dword [rbp - 0x60]
mov ecx, 0x6f6e
movabs r8, 0xaaaaaaaaaaaaaaab
jmp 0x180031b89
lea r9, [0x18007eb50]
mov qword [0x18007eb98], r9
jmp 0x180031b89
mov edx, 0x2f2b
mov word [0x18007eb8e], dx
mov byte [0x18007eb90], 0
jmp 0x180031b89
mov rdi, r11
cmp qword [r11 + 0x18], 0x10
jb 0x180031b89
mov rdi, qword [r11]
jmp 0x180031b89
cmp r10d, 0x17bc5
je 0x180031b7c
cmp r10d, 0x1937d
je 0x180031b65
cmp r10d, 0x1ab35
je 0x180031a98
cmp r10d, 0x1c2ed
jne 0x180031b89
cmp rsi, qword [r11 + 0x10]
jae 0x180031b89
xor eax, eax
mov edx, eax
lea r8d, [rax + 6]
mov r13d, dword [rbp - 0x30]
xor r10d, r10d
lea r15, [0x180000000]
nop
cmp edx, 5
ja case.default.0x180031a06
mov eax, edx
mov ecx, dword [r15 + rax*4 + 0x31cac]
add rcx, r15
jmp rcx
mov r13d, r10d
mov eax, r12d
shr rax, 2
movzx eax, byte [rax + r9]
jmp 0x180031a76
lea rax, [rsi + 1]
cmp rax, qword [r11 + 0x10]
jae 0x180031a2a
movzx r14d, byte [rdi + 1]
jmp case.default.0x180031a06
mov r14d, r10d
jmp case.default.0x180031a06
mov byte [rbx], 0x3d
jmp 0x180031a78
movzx r12d, byte [rdi]
jmp case.default.0x180031a06
mov ecx, r12d
and ecx, 3
shl ecx, 4
mov eax, r14d
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rbx], cl
jmp 0x180031a78
lea rax, [rsi + 1]
cmp rax, qword [r11 + 0x10]
jae 0x180031a74
mov ecx, r14d
and ecx, 0xf
mov eax, r13d
shr eax, 6
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r9]
jmp 0x180031a76
mov al, 0x3d
mov byte [rbx], al
inc rbx
inc edx
sub r8, 1
jne 0x1800319f0
mov dword [rbp - 0x30], r13d
mov r15, qword [rbp - 0x48]
mov r13d, dword [rbp - 0x2c]
jmp 0x18003193e
xor esi, esi
test r15, r15
je 0x180031b89
lea rcx, [r15 - 1]
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea rsi, [rdx + rdx*2]
nop word [rax + rax]
mov r8d, 0x82
cmp r8d, 0x82
je 0x180031b31
cmp r8d, 0xb2c
je 0x180031af9
cmp r8d, 0x15d6
je 0x180031af0
cmp r8d, 0x2080
jne 0x180031b42
add rdi, 3
jmp 0x180031b42
movzx eax, byte [rdi + 2]
and eax, 0x3f
jmp 0x180031b38
movzx ecx, byte [rdi]
and ecx, 3
shl ecx, 4
movzx eax, byte [rdi + 1]
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rbx], cl
movzx ecx, byte [rdi + 2]
shr ecx, 6
movzx eax, byte [rdi + 1]
and eax, 0xf
lea eax, [rcx + rax*4]
movzx eax, byte [rax + r9]
mov byte [rbx + 1], al
add rbx, 2
jmp 0x180031b42
movzx eax, byte [rdi]
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rbx], al
inc rbx
add r8d, 0xaaa
cmp r8d, 0x2aa8
jbe 0x180031ac6
sub rdx, 1
jne 0x180031ac0
jmp 0x180031942
mov rax, r8
mul qword [r11 + 0x10]
shr rdx, 1
lea r15, [rdx + rdx*2]
mov qword [rbp - 0x48], r15
mov eax, dword [rbp - 0x60]
jmp 0x180031b89
mov rbx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x180031b89
mov rbx, qword [rdx]
add r10d, eax
mov dword [rbp + 0x58], r10d
cmp r10d, r13d
mov r11, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
jbe 0x180031730
mov r8, qword [rbp - 0x28]
test r8, r8
je 0x180031bfc
mov rcx, qword [rbp - 0x18]
sub rcx, r8
movabs rax, 0x342da7f2f4960343
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x274
mov rax, r8
cmp rdx, 0x1000
jb 0x180031bf4
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180031c1b
mov rcx, r8
call fcn.180040b40
mov rax, qword [rbp - 0x50]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180046e04
int3