Function at 0x18004ff10
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x90
mov eax, dword [0x180104850]
mov r13d, r8d
mov r14, rdx
mov r15, rcx
test al, 1
jne 0x18004ff45
or eax, 1
mov dword [0x180104850], eax
mov qword [rsp + 0xc0], rbx
lea esi, [r8 + 0x7b2]
mov qword [rsp + 0x88], rbp
mov edi, r13d
mov qword [rsp + 0x80], r12
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x40], xmm9
movsd xmm9, qword [rsp + 0xd8]
cmp r13d, esi
jae 0x1800501c2
movsd xmm6, qword [0x1800ea248]
mov ebp, 0x44
movsd xmm7, qword [0x1800ea1f8]
movsd xmm8, qword [0x1800ea2c0]
mov rbx, qword [rsp + 0xd8]
lea r12d, [rbp + 0x22]
nop word [rax + rax]
cmp edi, 0x1a0
ja 0x180050100
je 0x18005063c
mov eax, edi
sub eax, 0x74
je 0x1800500d1
sub eax, 0x11
je 0x1800500ac
sub eax, 0x56
je 0x18005007e
sub eax, 0x5e
je 0x180050032
cmp eax, 0x11
jne 0x1800501b4
xor ecx, ecx
test rbx, rbx
je 0x1800501b4
nop dword [rax + rax]
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x18005001d
mov rdx, qword [r14]
movzx eax, byte [r15 + rcx*2]
mov byte [rdx + rcx], al
inc rcx
cmp rcx, rbx
jb 0x180050010
jmp 0x1800501b4
movzx eax, word [0x1800e4b70]
lea rdx, [0x1800e4b74]
mov word [0x180104807], ax
lea rcx, [0x180104800]
movzx eax, byte [0x1800e4b72]
mov r8d, 2
mov byte [0x180104809], al
call fcn.1800b1470
mov eax, 0x4c
mov word [0x18010480b], ax
mov byte [0x18010480c], 0x4d
jmp 0x1800501b4
mov eax, dword [r15]
test eax, eax
je 0x180050275
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm6
mulsd xmm0, xmm7
subsd xmm0, xmm8
call fcn.1800b5b90
movaps xmm9, xmm0
jmp 0x1800501b4
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [r15 + rbx*2], 0
jne 0x1800500b3
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.1800a3fc0
jmp 0x1800501b4
mov r8d, 4
lea rdx, [0x1800e4b80]
lea rcx, [0x180104800]
call fcn.1800b16b0
mov word [0x180104803], bp
mov dword [0x180104804], 0x474645
jmp 0x1800501b4
cmp edi, 0x1fe
je 0x1800501ad
cmp edi, 0x2c3
je 0x180050172
cmp edi, 0x388
je 0x180050157
cmp edi, 0x44d
jne 0x1800501b4
mov r8d, 3
lea rdx, [0x1800e4b84]
lea rcx, [0x18010481d]
call fcn.1800b16b0
mov eax, 0x67
mov word [0x18010481f], r12w
mov word [0x180104820], ax
jmp 0x1800501b4
mov eax, dword [str.Zabc]
mov dword [0x180104819], eax
movzx eax, byte [0x1800e4b7c]
mov byte [0x18010481d], al
jmp 0x1800501b4
movzx eax, word [0x1800e4b94]
movsd xmm0, qword [str.NOPQRSTU]
mov word [0x180104815], ax
movzx eax, word [0x1800e4b98]
mov word [0x180104817], ax
movzx eax, byte [0x1800e4b9a]
mov byte [0x180104819], al
movsd qword [0x18010480d], xmm0
jmp 0x1800501b4
mov byte [0x18010480d], 0
add edi, 0xc5
cmp edi, esi
jb 0x18004ffc0
lea eax, [r13 + 0x776]
mov dword [rsp + 0xd8], eax
cmp r13d, eax
jae 0x18005063c
mov r12, qword [rsp + 0xd8]
mov ecx, 0x73
mov rdi, qword [rsp + 0xd8]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rbx, qword [rsp + 0xd8]
mov ebp, dword [rsp + 0xd0]
mov rsi, qword [0x180104848]
lea r9d, [rcx - 6]
lea r10d, [rcx - 5]
lea r8d, [rcx - 0xb]
lea r11d, [rcx + 1]
nop
cmp r13d, 0x42f
ja 0x18005033f
je 0x18005031b
cmp r13d, 0x74
je 0x18005030e
cmp r13d, 0x133
je 0x1800502cb
cmp r13d, 0x1f2
je 0x1800502b6
cmp r13d, 0x2b1
je 0x180050282
cmp r13d, 0x370
jne 0x180050605
mov word [0x18010482c], cx
jmp 0x180050605
xorps xmm0, xmm0
movq rax, xmm0
jmp 0x180050641
movzx eax, word [0x1800e4bb8]
lea rdx, [0x1800e4bbc]
mov word [0x180104829], ax
mov r8d, 1
movzx eax, byte [0x1800e4bba]
mov byte [0x18010482b], al
mov byte [0x180104828], 0x6f
jmp 0x1800505eb
mov word [0x180104826], r9w
mov word [0x180104827], r10w
jmp 0x180050605
mov r8d, 3
lea rdx, [0x1800e4b9c]
lea rcx, [0x180104822]
call fcn.1800b16b0
mov r8d, 1
lea rdx, [0x1800e4ba0]
lea rcx, [0x180104800]
call fcn.1800b1470
mov eax, 0x6c
mov word [0x180104825], ax
jmp 0x1800505f7
mov word [0x180104821], r8w
jmp 0x180050605
mov eax, 0x75
mov word [0x18010482d], r11w
mov word [0x18010482e], ax
lea rdx, str.vwxyz01234567
lea r8d, [rax - 0x68]
jmp 0x1800505eb
cmp r13d, 0x4ee
je 0x1800505de
cmp r13d, 0x5ad
je 0x1800505b6
cmp r13d, 0x66c
je 0x180050503
cmp r13d, 0x72b
jne 0x180050605
mov r10, qword [rsp + 0x38]
xor r9d, r9d
test r10, r10
je 0x18005042f
mov rax, rdx
lea rcx, [r10 - 1]
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
nop dword [rax + rax]
mov r8d, 0xd
cmp r8d, 0xd
je 0x1800503e4
cmp r8d, 0x87b
jne 0x18005040e
movzx eax, byte [rdi + 2]
movzx ecx, byte [rdi + 1]
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + rsi]
mov byte [rbx], al
movzx eax, byte [rdi + 2]
and eax, 0x3f
movzx eax, byte [rax + rsi]
mov byte [rbx + 1], al
add rbx, 2
add rdi, 3
jmp 0x18005040e
movzx eax, byte [rdi]
shr rax, 2
movzx eax, byte [rax + rsi]
mov byte [rbx], al
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + rsi]
mov byte [rbx + 1], cl
add rbx, 2
add r8d, 0x86e
cmp r8d, 0x10dc
jbe 0x1800503a6
sub rdx, 1
jne 0x1800503a0
mov eax, dword [rsp + 0xd8]
cmp r9, qword [r15 + 0x10]
jae 0x180050605
mov r14d, dword [rsp + 0x34]
mov edx, 0x1a
mov r13d, dword [rsp + 0x30]
mov eax, edx
sub eax, 0x1a
je 0x1800504bf
sub eax, 0x67
je 0x180050492
sub eax, 0x67
je 0x180050466
cmp eax, 0x67
jne 0x1800504d5
mov byte [rbx], 0x3d
inc rbx
jmp 0x1800504d5
lea rax, [r9 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x180050489
mov eax, r13d
mov ecx, ebp
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + rsi]
mov byte [rbx], al
inc rbx
jmp 0x1800504d5
mov al, 0x3d
mov byte [rbx], al
inc rbx
jmp 0x1800504d5
mov ecx, r14d
mov eax, r14d
shr rax, 2
and ecx, 3
shl ecx, 4
xor r13d, r13d
movzx eax, byte [rax + rsi]
mov byte [rbx], al
mov eax, ebp
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + rsi]
mov byte [rbx + 1], cl
add rbx, 2
jmp 0x1800504d5
movzx r14d, byte [rdi]
lea rax, [r9 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x1800504d3
movzx ebp, byte [rdi + 1]
jmp 0x1800504d5
xor ebp, ebp
add edx, 0x67
cmp edx, 0x1b6
jb 0x180050448
mov dword [rsp + 0x30], r13d
mov r13d, dword [rsp + 0xd0]
mov dword [rsp + 0x34], r14d
mov r14, qword [rsp + 0xc8]
jmp 0x1800505fe
mov rcx, qword [r14 + 0x10]
cmp r12, rcx
ja 0x180050524
mov qword [r14 + 0x10], r12
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x18005051d
mov rax, qword [r14]
mov byte [rax + r12], 0
jmp 0x180050587
mov rdx, qword [r14 + 0x18]
mov rdi, r12
mov rax, rdx
sub rdi, rcx
sub rax, rcx
cmp rdi, rax
ja 0x180050560
mov qword [r14 + 0x10], r12
mov rax, r14
cmp rdx, 0x10
jb 0x180050549
mov rax, qword [r14]
lea rbx, [rax + rcx]
mov r8, rdi
mov rcx, rbx
xor edx, edx
call fcn.1800ae380
mov byte [rdi + rbx], 0
jmp 0x18005057d
mov r9, rdi
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.180002570
mov rsi, qword [0x180104848]
movabs rdx, 0xaaaaaaaaaaaaaaab
cmp qword [r15 + 0x18], 0x10
mov rdi, r15
jb 0x180050594
mov rdi, qword [r15]
cmp qword [r14 + 0x18], 0x10
mov rbx, r14
jb 0x1800505a1
mov rbx, qword [r14]
mov rax, rdx
mul qword [r15 + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x38], rax
jmp 0x1800505fe
mov rcx, qword [r15 + 0x10]
lea rsi, [0x180104800]
add rcx, 2
mov qword [0x180104848], rsi
mov rax, rdx
mul rcx
mov r12, rdx
shr r12, 1
shl r12, 2
jmp 0x1800505fe
mov r8d, 4
lea rdx, [0x1800e4bc8]
lea rcx, [0x180104800]
call fcn.1800b1470
mov rsi, qword [0x180104848]
mov eax, dword [rsp + 0xd8]
mov ecx, 0x73
add r13d, 0xbf
mov dword [rsp + 0xd0], r13d
movabs rdx, 0xaaaaaaaaaaaaaaab
lea r8d, [rcx - 0xb]
lea r9d, [rcx - 6]
lea r10d, [rcx - 5]
lea r11d, [rcx + 1]
cmp r13d, eax
jb 0x180050220
movq rax, xmm9
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret