Function at 0x180031810
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movzx ebx, byte [rsp + 0x88]
mov r14, r9
imul eax, edx, 0x1ea
mov r9, r8
mov r8, rcx
mov dword [rsp + 0x20], edx
mov r15d, edx
mov dword [rsp + 0x28], eax
cmp edx, eax
ja 0x180031b94
mov r13, qword [rsp + 0x30]
movabs r10, 0xaaaaaaaaaaaaaaab
mov rdi, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x88]
mov rsi, qword [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
cmp r15d, 0xbed
ja 0x180031963
je 0x180031b94
cmp r15d, 0x2b
je 0x1800318fe
cmp r15d, 0x40
je 0x1800318db
cmp r15d, 0x4b
jne 0x180031b79
mov rcx, qword [r14 + 0x10]
mov rax, r10
add rcx, 2
mul rcx
mov rax, rdx
shr rax, 1
shl rax, 2
mov qword [rsp + 0x30], rax
jmp 0x180031b79
xor ecx, ecx
lea rax, [r14 + 0x18]
cmp dword [rax], 0
jne 0x180031baf
inc rcx
add rax, 4
cmp rcx, 2
jl 0x1800318e1
mov bl, 1
jmp 0x180031b79
mov rcx, qword [r14]
mov rdx, qword [r9]
mov rax, qword [rcx]
cmp rax, qword [rdx]
jne 0x180031bb3
mov r8, qword [r8]
cmp rax, qword [r8]
jne 0x180031bb3
mov r9, qword [rsp + 0xa0]
mov r9, qword [r9]
cmp rax, qword [r9]
jne 0x180031bb3
mov rdx, qword [rdx + 0x28]
mov r9, qword [r9 + 0x28]
mov r8, qword [r8 + 0x28]
mov rcx, qword [rcx + 0x28]
mov rax, qword [rdx]
call qword [rax + 0xe0]
mov r9, qword [rsp + 0x90]
movabs r10, 0xaaaaaaaaaaaaaaab
movzx ebx, al
jmp 0x180031b71
cmp r15d, 0x11c0
je 0x180031b94
cmp r15d, 0x14cd
je 0x180031a58
cmp r15d, 0x294f
jne 0x180031b79
cmp r13, qword [r14 + 0x10]
jae 0x180031b79
mov r15d, dword [rsp + 0x24]
mov r8d, 0xc4
nop
mov eax, r8d
sub eax, 0xc2
je 0x1800319d5
sub eax, 1
je 0x1800319d0
cmp eax, 1
jne 0x180031a39
movzx r12d, byte [rsi]
lea rax, [r13 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x1800319cc
movzx ebp, byte [rsi + 1]
jmp 0x180031a39
xor ebp, ebp
jmp 0x180031a39
xor r15d, r15d
jmp 0x180031a39
mov rax, qword [0x180358e70]
mov ecx, r12d
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, ebp
mov byte [rdi], cl
mov ecx, r12d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x180358e70]
movzx ecx, byte [rcx + rax]
lea rax, [r13 + 1]
mov byte [rdi + 1], cl
cmp rax, qword [r14 + 0x10]
jae 0x180031a2c
mov ecx, ebp
mov eax, r15d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180358e70]
movzx edx, byte [rcx + rax]
jmp 0x180031a2e
mov dl, 0x3d
mov byte [rdi + 2], dl
mov byte [rdi + 3], 0x3d
add rdi, 4
dec r8d
cmp r8d, 0xc1
ja 0x1800319a0
mov dword [rsp + 0x24], r15d
mov r15d, dword [rsp + 0x20]
jmp 0x180031b71
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
mov rcx, r9
call fcn.18009c340
cmp qword [r14 + 0x18], 0x10
mov rsi, r14
jb 0x180031a75
mov rsi, qword [r14]
mov r9, qword [rsp + 0x90]
mov rdi, r9
cmp qword [r9 + 0x18], 0x10
jb 0x180031a8a
mov rdi, qword [r9]
movabs r10, 0xaaaaaaaaaaaaaaab
xor r13d, r13d
mov rax, r10
mul qword [r14 + 0x10]
shr rdx, 1
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x180031b71
dec rcx
mov rax, r10
mul rcx
shr rdx, 1
inc rdx
lea r13, [rdx + rdx*2]
nop dword [rax]
nop word [rax + rax]
mov r8d, 0xc4
mov eax, r8d
sub eax, 0xc3
je 0x180031b53
cmp eax, 1
jne 0x180031b57
mov rax, qword [0x180358e70]
movzx ecx, byte [rsi]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rdi], cl
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x180358e70]
movzx ecx, byte [rcx + rax]
mov byte [rdi + 1], cl
movzx ecx, byte [rsi + 1]
movzx eax, byte [rsi + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180358e70]
movzx ecx, byte [rcx + rax]
mov byte [rdi + 2], cl
movzx ecx, byte [rsi + 2]
mov rax, qword [0x180358e70]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [rdi + 3], cl
add rdi, 4
jmp 0x180031b57
add rsi, 3
dec r8d
cmp r8d, 0xc2
ja 0x180031ad6
sub rdx, 1
jne 0x180031ad0
mov r8, qword [rsp + 0x80]
imul eax, dword [rsp + 0x88], 0x46
add r15d, eax
mov dword [rsp + 0x20], r15d
cmp r15d, dword [rsp + 0x28]
jbe 0x180031890
movzx eax, bl
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor al, al
jmp 0x180031b97
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3