Function at 0x54c380
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0xc8]
cmp r12, qword [r14 + 0x10]
jbe 0x54cd66
push rbp
mov rbp, rsp
sub rsp, 0x140
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x150], rax
mov rdx, rbx
mov rsi, rax
mov rdi, rcx
nop
jmp 0x54c3e3
mov rdx, qword [rsp + 0x158]
mov rbx, rsi
mov rax, rdi
mov rcx, r8
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov r9, qword [0x00a18308]
cmp r9, 1
jb 0x54cd55
dec r9
mov r10, qword [str._n_____BEGIN]
mov r11, qword [0x00a18310]
dec r11
neg r11
sar r11, 0x3f
and r11d, 1
add r10, r11
cmp rbx, r9
jge 0x54c422
xor r8d, r8d
nop
jmp 0x54c479
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x118], rax
nop
mov rbx, r10
mov rcx, r9
call fcn.00403560
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov r8d, eax
mov rax, qword [rsp + 0x118]
test r8b, r8b
je 0x54c4b3
mov r8, qword [0x00a18308]
lea r9, [r8 - 1]
cmp rbx, r9
jb 0x54cd4a
sub rcx, r8
sub rbx, r8
lea r8, [rcx + 1]
mov r10, r8
neg r8
sar r8, 0x3f
and r9, r8
lea r8, [rax + r9]
lea r9, [rbx + 1]
jmp 0x54c4df
mov rdi, qword [str._n_____BEGIN]
mov rsi, qword [0x00a18308]
mov r8, qword [0x00a18310]
call fcn.004a6a20
test r9b, r9b
je 0x54ca99
mov r10, r8
mov r9, rsi
mov r8, rdi
mov rax, r8
mov rbx, r9
mov rcx, r10
call fcn.0054c120
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], r8
mov rdx, qword [0x00a18348]
cmp rbx, rdx
jl 0x54c59b
mov r9, rbx
sub rbx, rdx
cmp r9, rbx
jb 0x54cd3f
mov r10, r9
sub r9, rbx
mov r11, rbx
sub rbx, rcx
sar rbx, 0x3f
and r11, rbx
add r11, rax
cmp rdx, r9
je 0x54c54b
xor edx, edx
jmp 0x54c5a0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], r10
mov rbx, qword [0x00a18340]
mov rax, r11
mov rcx, r9
call fcn.00403560
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x138]
mov r8, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xc8]
mov edx, eax
mov rax, qword [rsp + 0xe0]
jmp 0x54c5a0
mov r10, rbx
xor edx, edx
test dl, dl
je 0x54c3c2
mov rbx, qword [0x00a18348]
sub r10, rbx
cmp rcx, r10
jb 0x54cd34
mov qword [rsp + 0x50], r10
call fcn.004662e0
mov qword [rsp + 0x130], rax
lea rax, [0x006ef100]
call fcn.0040d9c0
cmp dword [0x00a6ab70], 0
jne 0x54c5ec
mov rdx, qword [rsp + 0x130]
jmp 0x54c5fc
call fcn.004725e0
mov rdx, qword [rsp + 0x130]
mov qword [r11], rdx
mov qword [rsp + 0x128], rax
mov qword [rax + 0x10], rdx
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x50]
xor eax, eax
call fcn.0046c9c0
mov rdx, qword [rsp + 0x128]
mov qword [rdx + 8], rbx
cmp dword [0x00a6ab70], 0
je 0x54c640
call fcn.00472600
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x138]
nop dword [rax + rax]
jmp 0x54cae0
mov rdx, qword [rsp + 0x128]
mov r9, qword [rdx + 0x10]
test r9, r9
je 0x54c67b
mov r9, qword [r9]
jmp 0x54c680
xor r9d, r9d
nop
test r9, r9
jne 0x54c6fa
mov rcx, qword [0x00a18328]
cmp rcx, 1
jb 0x54cd28
dec rcx
mov r9, qword [str._n_____END]
mov r10, qword [0x00a18330]
dec r10
neg r10
sar r10, 0x3f
and r10d, 1
lea rbx, [r10 + r9]
mov r9, qword [rsp + 0x98]
cmp r9, rcx
jge 0x54c6ca
xor eax, eax
jmp 0x54c6e8
nop
mov rax, qword [rsp + 0x110]
call fcn.00403560
mov rdx, qword [rsp + 0x128]
mov r9, qword [rsp + 0x98]
test al, al
je 0x54c702
mov r10, qword [0x00a18328]
dec r10
xor eax, eax
jmp 0x54c74a
mov r9, qword [rsp + 0x98]
mov rdi, qword [str._n_____END]
mov rsi, qword [0x00a18328]
mov r8, qword [0x00a18330]
mov rax, qword [rsp + 0x110]
mov rbx, r9
mov rcx, qword [rsp + 0xa8]
call fcn.004a62a0
mov rdx, qword [0x00a18328]
lea r10, [rdx + rax]
mov rdx, qword [rsp + 0x128]
mov r9, qword [rsp + 0x98]
test rax, rax
jge 0x54c767
mov r8, qword [rsp + 0xa8]
mov rsi, r9
mov rdi, qword [rsp + 0x110]
jmp 0x54c3c2
cmp r10, r9
ja 0x54cd1d
mov rcx, r9
sub rcx, r10
mov r11, qword [rsp + 0xa8]
mov r12, r11
sub r11, r10
mov r13, r11
neg r11
sar r11, 0x3f
and r10, r11
mov r11, qword [0x00a18348]
mov r15, qword [rsp + 0x50]
add r11, r15
mov rbx, rdx
mov rdx, qword [rsp + 0x110]
add r10, rdx
cmp rcx, r11
jge 0x54c7c5
mov r8, r12
mov rsi, r9
mov rdi, rdx
nop dword [rax]
jmp 0x54c3c2
jb 0x54cd15
mov qword [rsp + 0x48], rax
mov rsi, r13
sub r13, r11
mov qword [rsp + 0x78], r13
mov rdi, r13
neg r13
sar r13, 0x3f
and r13, r11
sub rcx, r11
mov qword [rsp + 0x70], rcx
add r13, r10
mov qword [rsp + 0xf0], r13
nop dword [rax + rax]
cmp r15, r11
jle 0x54c80a
xor r8d, r8d
jmp 0x54c882
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xf8], r10
mov qword [rsp + 0x40], r11
nop
mov rax, r10
mov rbx, qword [rsp + 0xe0]
mov rcx, r15
call fcn.00403560
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0xf8]
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xf0]
mov r8d, eax
mov rax, qword [rsp + 0x48]
test r8b, r8b
je 0x54c931
mov r15, qword [0x00a18348]
cmp r15, r11
jg 0x54c925
mov r8, r11
sub r11, r15
cmp r11, r8
ja 0x54cd0a
mov qword [rsp + 0xd8], r11
sub r8, r11
sub r11, rsi
sar r11, 0x3f
mov rsi, r13
mov r13, qword [rsp + 0xd8]
and r13, r11
add r10, r13
cmp r15, r8
je 0x54c8d7
xor r8d, r8d
jmp 0x54c92b
mov rbx, qword [0x00a18340]
mov rax, r10
mov rcx, r8
call fcn.00403560
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa8]
mov r8d, eax
mov rax, qword [rsp + 0x48]
jmp 0x54c92b
mov rsi, r13
xor r8d, r8d
xor r8d, 1
jmp 0x54c93a
mov rsi, r13
mov r8d, 1
test r8b, r8b
je 0x54c94d
mov r8, r12
mov rsi, r9
mov rdi, rdx
jmp 0x54c3c2
mov rax, rsi
mov rbx, rcx
mov rcx, rdi
call fcn.0054c120
nop dword [rax + rax]
test rbx, rbx
je 0x54c985
mov r8, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x110]
nop dword [rax]
jmp 0x54c3c2
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
ja 0x54cd05
mov rax, qword [rsp + 0x110]
mov rbx, rcx
mov rcx, rdx
call fcn.0054c280
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rdx, qword [0x00a23288]
cmp dword [rdx + 0x140], 0xffffffff
jne 0x54c9fd
mov rdx, rbx
shr rbx, 2
lea rsi, [rbx + rbx*2]
and edx, 3
lea rdx, [rdx + rdx*2]
mov r8, rdx
shl rdx, 1
sar rdx, 0x3f
shr rdx, 0x3d
lea rdx, [rdx + r8*2]
sar rdx, 3
add rdx, rsi
jmp 0x54ca05
shr rbx, 2
lea rdx, [rbx + rbx*2]
mov qword [rsp + 0x38], rdx
lea rax, [0x006b9d80]
mov rbx, rdx
mov rcx, rbx
call fcn.0046bf80
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x128]
mov qword [rdx + 0x20], rdi
mov qword [rdx + 0x28], rdi
cmp dword [0x00a6ab70], 0
je 0x54ca4a
call fcn.00472600
mov qword [r11], rax
mov r10, qword [rdx + 0x18]
mov qword [r11 + 8], r10
mov qword [rdx + 0x18], rax
mov rax, qword [0x00a23288]
mov rbx, qword [rdx + 0x18]
mov rcx, rdi
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
call fcn.0054ba40
test rbx, rbx
je 0x54cc45
mov r8, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x110]
jmp 0x54c3c2
xor eax, eax
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
add rsp, 0x140
pop rbp
ret
mov qword [rax], rdx
mov rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x100]
nop
test rax, rax
je 0x54ccd5
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0xa8], rcx
mov rdx, rax
mov rax, rbx
mov rbx, rdx
call fcn.0054c120
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r8
mov rdx, qword [str.::_n_]
mov r9, qword [0x00a18368]
mov r10, qword [0x00a18370]
mov rdi, rdx
mov rsi, r9
mov r8, r10
call fcn.004a6a20
test r9b, r9b
je 0x54c665
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x120], rdi
call fcn.004a5b80
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x90], rbx
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0xb8]
call fcn.004a5b80
mov rcx, rbx
mov rbx, rax
xor eax, eax
call fcn.0046c9c0
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rdx + 0x10]
mov qword [rsp + 0x130], rsi
mov rcx, qword [rsp + 0x90]
xor eax, eax
mov rbx, qword [rsp + 0x108]
call fcn.0046c9c0
mov rcx, rax
mov rdi, rbx
lea rax, [0x006cbd20]
mov rbx, qword [rsp + 0x130]
call fcn.00468940
mov rdx, qword [rsp + 0xd8]
mov qword [rax + 8], rdx
cmp dword [0x00a6ab70], 0
jne 0x54cc25
mov rdx, qword [rsp + 0x138]
nop dword [rax]
jmp 0x54cabc
call fcn.00472600
mov rdx, qword [rsp + 0x138]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
nop dword [rax]
jmp 0x54cabc
mov rsi, qword [rsp + 0x128]
mov rdx, qword [rsi + 0x28]
cmp rax, rdx
ja 0x54ccfd
mov qword [rsi + 0x20], rax
mov rdx, qword [0x00a18328]
mov rdi, qword [rsp + 0x48]
lea rax, [rdi + rdx]
lea rax, [rax - 1]
add rdx, rdi
mov rcx, qword [rsp + 0x98]
nop dword [rax]
cmp rcx, rax
jb 0x54ccf8
mov rsi, qword [rsp + 0xa8]
sub rsi, rdx
sub rcx, rdx
lea rdx, [rsi + 1]
mov rsi, rdx
neg rdx
lea rbx, [rcx + 1]
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0x110]
add rax, rdx
mov rcx, rsi
call fcn.0054c120
mov rax, qword [rsp + 0x128]
mov rbx, rdi
mov rcx, rsi
mov rdi, r8
add rsp, 0x140
pop rbp
ret
xor eax, eax
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
add rsp, 0x140
pop rbp
ret
call fcn.00472a60
mov rcx, rax
call fcn.00472a20
call fcn.00472a20
mov rax, r11
mov rcx, r8
call fcn.00472a60
mov rax, r11
call fcn.00472a60
mov rax, r10
mov rcx, r9
call fcn.00472a60
mov eax, 1
xor ecx, ecx
call fcn.00472a60
mov rdx, rcx
mov rcx, r10
call fcn.00472a20
mov rax, rbx
mov rcx, r9
call fcn.00472a60
mov rax, r9
mov rcx, rbx
call fcn.00472a60
mov eax, 1
xor ecx, ecx
nop dword [rax]
call fcn.00472a60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004706c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.0054c380