Function at 0x4c6920
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x4c9647
sub rsp, 0x1d0
mov qword [rsp + 0x1c8], rbp
lea rbp, [rsp + 0x1c8]
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
mov rdx, qword [rax + 0x30]
mov r10, qword [rax + 0x38]
cmp qword [rax + 0x378], 1
jne 0x4c6a25
test sil, sil
jne 0x4c6a25
mov r11, qword [0x005bb770]
mov r12, qword [0x005bb778]
cmp rdi, r12
jae 0x4c963b
shl rdi, 5
mov r12, qword [r11 + rdi]
mov r13, qword [r11 + rdi + 8]
mov r15, qword [r11 + rdi + 0x10]
mov r11, qword [r11 + rdi + 0x18]
sub rdx, r15
lea rdx, [r12 + rdx]
lea rdx, [rdx - 1]
test r12, r12
je 0x4c9636
mov rdi, rax
mov rax, rdx
cmp r12, 0xffffffffffffffff
je 0x4c69cd
cqo
idiv r12
jmp 0x4c69d2
neg rax
xor edx, edx
sub r10, r11
lea rdx, [r13 + r10]
lea rdx, [rdx - 1]
nop
test r13, r13
je 0x4c9631
mov r8, rax
mov rax, rdx
cmp r13, 0xffffffffffffffff
je 0x4c69fc
cqo
idiv r13
jmp 0x4c6a01
neg rax
xor edx, edx
test r8, r8
je 0x4c6a0b
test rax, rax
jne 0x4c6a2e
xor eax, eax
xor ebx, ebx
mov rcx, rax
mov rdi, rbx
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rdi, rax
mov r8, rdx
mov rax, r10
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0xd8], rax
mov rdx, qword [rdi + 0x60]
dec rdx
nop dword [rax]
cmp rdx, 0xe
ja 0x4c71d4
mov byte [rsp + 0x1f8], sil
lea r9, [0x0052a180]
jmp qword [r9 + rdx*8]
xor edx, edx
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
xor edx, edx
mov qword [rsp + 0x188], rdx
xor edx, edx
mov qword [rsp + 0x158], rdx
xor edx, edx
mov qword [rsp + 0x178], rdx
xor edx, edx
test sil, sil
jne 0x4c72d4
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0x170], r11
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x160], r10
mov qword [rsp + 0x190], r13
imul r9, r8
lea rsi, [r9 + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rsi + r9]
lea rcx, [rcx + 7]
sar rcx, 3
inc rcx
mov qword [rsp + 0x98], rcx
lea rax, [0x004d98a0]
mov rbx, rcx
call fcn.00447280
mov qword [rsp + 0x1b8], rax
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
lea rax, [0x004d98a0]
call fcn.00447280
mov rdx, qword [rsp + 0xf0]
lea rsi, [rdx + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rdx, [rdx + rsi]
lea rdx, [rdx + 7]
sar rdx, 3
mov qword [rsp + 0xe8], rdx
xor ecx, ecx
xor ebx, ebx
mov rsi, qword [rsp + 0x1b8]
jmp 0x4c730f
mov rax, r15
mov rbx, qword [rsp + 0x188]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rcx, qword [rsp + 0xb0]
inc rcx
mov rdx, qword [rsp + 0xe8]
mov rbx, r9
mov rsi, r11
mov rax, r10
mov r9, qword [rsp + 0xd8]
nop word [rax + rax]
cmp rcx, r9
jge 0x4c7aa1
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rbx
nop
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x1e8]
mov rcx, rsi
mov rdi, qword [rsp + 0x98]
mov rsi, rdi
mov r8, rsi
call fcn.0047bae0
test rbx, rbx
jne 0x4c79e7
mov r8, qword [rsp + 0x98]
cmp r8, 1
jb 0x4c9625
lea rsi, [r8 - 1]
mov rcx, rsi
neg rsi
sar rsi, 0x3f
and esi, 1
mov r10, qword [rsp + 0x1b0]
lea rax, [r10 + rsi]
cmp r8, 1
jb 0x4c9615
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x1a8], rax
mov r11, qword [rsp + 0x1a0]
lea rdi, [r11 + rsi]
movzx r12d, byte [r10]
cmp r12b, 1
ja 0x4c73f9
nop dword [rax + rax]
test r12b, r12b
je 0x4c746d
mov rdx, qword [rsp + 0xe8]
mov rbx, rdx
jmp 0x4c95e8
cmp r12b, 2
jne 0x4c7406
xor edx, edx
jmp 0x4c95c0
cmp r12b, 3
jne 0x4c7420
mov r12, qword [rsp + 0xe8]
xor edx, edx
jmp 0x4c9522
cmp r12b, 4
jne 0x4c79c5
mov rbx, rcx
mov rsi, rcx
mov r8, rcx
mov r9, qword [rsp + 0xe8]
nop dword [rax + rax]
call fcn.004c5260
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x98]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1c0]
mov r13, qword [r12 + 0x60]
dec r13
nop dword [rax]
cmp r13, 0xe
ja 0x4c79a8
lea rdx, [0x0052a200]
jmp qword [rdx + r13*8]
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
nop dword [rax + rax]
jmp 0x4c72f3
xor eax, eax
xor ebx, ebx
lea rcx, [0x005296f8]
lea rdi, [0x00528db8]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0xe0], rbx
mov rdx, qword [0x005c4538]
nop
cmp qword [0x005c4530], rbx
je 0x4c7a0d
xor eax, eax
jmp 0x4c7a2b
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.004033c0
mov rcx, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xe0]
test al, al
jne 0x4c7a65
mov rdx, qword [0x005c4588]
cmp qword [0x005c4580], rbx
je 0x4c7a43
xor eax, eax
jmp 0x4c7a61
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.004033c0
mov rcx, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xe0]
test al, al
je 0x4c7a87
xor eax, eax
xor ebx, ebx
lea rcx, [0x005296f8]
lea rdi, [0x00528d88]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x188]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
movzx r15d, byte [rdx + rdi]
shr r15b, 1
add r13d, r15d
mov byte [rax + rdx], r13b
inc rdx
cmp rdx, r12
jge 0x4c9535
cmp rdx, rcx
jae 0x4c95a5
movzx r13d, byte [rdx + rax]
jb 0x4c9510
jmp 0x4c959d
mov rdx, r12
jmp 0x4c9560
mov rbx, r15
movzx r15d, byte [r15 + rdi]
add r15, r12
mov rsi, r15
shr r15, 0x3f
add r15, rsi
sar r15, 1
add r13d, r15d
mov byte [rax + rbx], r13b
lea r12, [rbx + 1]
nop dword [rax]
cmp r12, rcx
jge 0x4c746d
jae 0x4c9595
movzx r13d, byte [r12 + rax]
mov r15, r12
sub r12, rdx
cmp r12, rcx
jae 0x4c958d
movzx r12d, byte [r12 + rax]
cmp r15, rcx
jb 0x4c953a
mov rax, r15
call fcn.0045f2a0
mov rax, r12
call fcn.0045f2a0
mov rax, r12
call fcn.0045f2a0
mov rax, rdx
call fcn.0045f2a0
mov rax, rdx
call fcn.0045f2a0
movzx r13d, byte [rdx + rax]
add r12d, r13d
mov byte [rax + rdx], r12b
inc rdx
nop dword [rax]
cmp rdx, rcx
jge 0x4c746d
movzx r12d, byte [rdx + rdi]
jb 0x4c95ad
mov rax, rdx
call fcn.0045f2a0
movzx r15d, byte [rdx + rax]
add r12d, r15d
mov byte [rax + r13], r12b
lea rdx, [r13 + 1]
cmp rdx, rcx
jge 0x4c746d
jae 0x4c960d
movzx r12d, byte [rdx + rax]
mov r13, rdx
sub rdx, rbx
nop
cmp rdx, rcx
jb 0x4c95d8
mov rax, rdx
call fcn.0045f2a0
mov rax, rdx
call fcn.0045f2a0
mov eax, 1
xor ecx, ecx
nop dword [rax]
call fcn.0045f360
mov eax, 1
xor ecx, ecx
call fcn.0045f360
call fcn.004337e0
call fcn.004337e0
mov rax, rdi
mov rcx, r12
call fcn.0045f2a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
call fcn.0045cbc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
nop
jmp fcn.004c6920