Function at 0x14019fa60
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x208]
cmp r12, qword [r14 + 0x10]
jbe 0x1401a0545
sub rsp, 0x288
mov qword [rsp + 0x280], rbp
lea rbp, [rsp + 0x280]
mov qword [rsp + 0x298], rbx
mov qword [rsp + 0x2a0], rcx
mov rdx, qword [rdi + 0x148]
nop
test rdx, rdx
je 0x14019fac9
cmp byte [rdx], 0x65
jne 0x14019fac9
lea rax, [0x14028df80]
lea rbx, [0x14028c5b0]
mov rbp, qword [rsp + 0x280]
add rsp, 0x288
ret
mov qword [rsp + 0x2b0], rsi
mov qword [rsp + 0x298], rbx
mov qword [rsp + 0x2a0], rcx
mov rdx, qword [rdi]
mov qword [rax], rdx
mov rdx, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
mov r9, qword [rdi + 0x48]
mov qword [rax + 0x160], r8
mov qword [rax + 0x168], r9
cmp dword [0x1403d7c90], 0
jne 0x14019fb13
mov qword [rax + 0x158], rdx
jmp 0x14019fb28
lea r8, [rax + 0x158]
mov r9, rdi
mov rdi, r8
call fcn.140064380
mov rdi, r9
mov qword [rsp + 0x2a8], rdi
mov qword [rsp + 0x290], rax
mov rsi, rdi
lea rdi, [rsp + 0x1a0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.140064cdc
mov rbp, qword [rbp]
mov rdi, rsp
lea rsi, [rsp + 0x1a0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.140064cdc
mov rbp, qword [rbp]
call fcn.1401a0d20
mov rdx, qword [rsp + 0x290]
mov qword [rdx + 0x1f0], rbx
mov qword [rdx + 0x1f8], rcx
cmp dword [0x1403d7c90], 0
jne 0x14019fba2
mov qword [rdx + 0x1e8], rax
nop
jmp 0x14019fbb7
lea r8, [rdx + 0x1e8]
mov rcx, rdi
mov rdi, r8
call fcn.140064260
mov rdi, rcx
nop word [rax + rax]
test rdi, rdi
jne 0x1401a00d9
mov rax, rdx
mov rbx, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x2a0]
nop dword [rax]
call fcn.14019f820
test rdi, rdi
jne 0x1401a00c3
mov qword [rsp + 0x198], rsi
mov qword [rsp + 0x138], rdi
mov r9, qword [rsp + 0x2a8]
movzx r10d, byte [r9 + 0x20]
cmp r10b, 3
ja 0x14019fd0e
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x168], rax
cmp r10b, 1
je 0x14019fc3d
cmp r10b, 3
jne 0x1401a0086
mov rbx, qword [r9 + 0x110]
mov rcx, qword [r9 + 0x118]
mov qword [rsp + 0x190], rcx
lea rax, [0x140206000]
call fcn.14000bf60
mov qword [rsp + 0x188], rax
mov rcx, qword [rsp + 0x2b0]
test rcx, rcx
je 0x14019fc85
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
nop dword [rax + rax]
test rdx, rdx
jne 0x14019fc93
mov rdx, qword [0x140382ae0]
mov rcx, qword [0x140382ae8]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0xf0], rdx
mov rbx, qword [rsp + 0x290]
mov rax, qword [rbx + 0x10]
call fcn.14000bb80
mov rcx, qword [rsp + 0x188]
mov rcx, qword [rcx + 0x20]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x168]
mov rsi, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x100]
lea r9, [0x14028dea0]
mov r10, rax
mov rax, qword [rsp + 0x190]
mov rdx, rcx
mov rcx, qword [rsp + 0x140]
call rdx
nop
test rdi, rdi
jne 0x1401a03f7
jmp 0x1401a0425
cmp r10b, 0x11
jne 0x14019fee0
mov r10, qword [r9 + 0x118]
mov r9, qword [r9 + 0x110]
lea r11, [0x1401f29a0]
cmp r9, r11
jne 0x1401a03e5
mov r9, qword [r10 + 8]
mov r11, qword [r9 + 0x10]
mov r9, qword [r9 + 8]
lea r12, [r11 - 1]
test r12, r12
jl 0x14019fda8
mov r9, qword [r9 + r11*8 - 8]
mov r11, r9
shr r9, 1
or r11, r9
mov r9, r11
shr r11, 2
or r11, r9
mov r9, r11
shr r11, 4
or r11, r9
mov r9, r11
shr r11, 8
or r11, r9
mov r9, r11
shr r11, 0x10
or r11, r9
mov r9, r11
shr r11, 0x20
or r11, r9
bsr r9, r11
mov r11, 0xffffffffffffffff
cmove r9, r11
shl r12, 6
lea r9, [r9 + r12]
lea r9, [r9 + 1]
jmp 0x14019fdab
xor r9d, r9d
lea r11, [r9 + 7]
sar r11, 0x3f
shr r11, 0x3d
lea r9, [r11 + r9]
lea r9, [r9 + 7]
sar r9, 3
cmp rbx, r9
jle 0x14019fdd2
cmp rcx, r9
jae 0x14019fdd5
jmp 0x1401a03da
mov r9, rbx
mov rdx, qword [rsp + 0x2b0]
nop dword [rax]
test rdx, rdx
je 0x14019fdf1
mov r11, qword [rdx]
mov rdx, qword [rdx + 8]
test r11, r11
jne 0x14019fdff
mov r11, qword [0x140382ae0]
mov rdx, qword [0x140382ae8]
mov rbx, rdx
mov rdi, rax
mov rsi, r9
mov r8, rcx
mov rax, r11
mov rcx, r10
call fcn.140187280
test rcx, rcx
jne 0x14019fec5
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x150], rbx
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rbx, qword [rsp + 0x160]
call fcn.14014b5c0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0x68], rcx
cmp dword [0x1403d7c90], 0
jne 0x14019fe6a
mov qword [rdi + 0x70], rax
jmp 0x14019fe76
lea rdx, [rdi + 0x70]
mov rdi, rdx
call fcn.140064260
lea rax, [0x14020c740]
nop dword [rax]
call fcn.14000e5a0
mov rbx, qword [rsp + 0x150]
call fcn.14014b5c0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0x78], rcx
cmp dword [0x1403d7c90], 0
jne 0x14019feb7
mov qword [rdi + 0x80], rax
jmp 0x14019fec5
sub rdi, 0xffffffffffffff80
nop dword [rax + rax]
call fcn.140064260
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x198]
jmp 0x1401a00ef
cmp r10b, 0x13
jne 0x1401a0020
mov rdx, qword [r9 + 0x110]
mov r9, qword [r9 + 0x118]
lea r10, [0x14020ee00]
nop
cmp rdx, r10
jne 0x1401a03c8
mov rdx, qword [rsp + 0x2b0]
test rdx, rdx
je 0x14019ff25
mov r10, qword [rdx]
mov rdx, qword [rdx + 8]
nop dword [rax]
test r10, r10
jne 0x14019ff33
mov r10, qword [0x140382ae0]
mov rdx, qword [0x140382ae8]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, r10
mov rbx, rdx
mov rcx, r9
call fcn.140172ee0
test rcx, rcx
jne 0x1401a0005
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x148], rbx
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rbx, qword [rsp + 0x158]
call fcn.14014b5c0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0x88], rcx
cmp dword [0x1403d7c90], 0
jne 0x14019ffa4
mov qword [rdi + 0x90], rax
jmp 0x14019ffb3
lea rdx, [rdi + 0x90]
mov rdi, rdx
call fcn.140064260
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rbx, qword [rsp + 0x148]
call fcn.14014b5c0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0x98], rcx
cmp dword [0x1403d7c90], 0
jne 0x14019fff4
mov qword [rdi + 0xa0], rax
jmp 0x1401a0005
add rdi, 0xa0
nop dword [rax + rax]
call fcn.140064260
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x198]
jmp 0x1401a00ef
cmp r10b, 0x16
jne 0x1401a0086
mov rdx, qword [r9 + 0x110]
mov r8, qword [r9 + 0x118]
lea r9, [0x14020eea0]
nop dword [rax + rax]
cmp rdx, r9
jne 0x1401a03b6
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, r8
call fcn.140173300
nop word [rax + rax]
test r9, r9
jne 0x1401a0105
mov qword [rsp + 0x120], r8
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x170], rdi
jmp 0x1401a0130
mov rcx, qword [rsp + 0x290]
movzx eax, byte [rcx + 9]
mov ebx, 0xa
call fcn.140077300
mov ecx, 0x16
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x14022f392]
call fcn.14004e4c0
call fcn.14000bc00
lea rcx, [0x14028e040]
jmp 0x1401a00ef
mov rax, rdi
mov rbx, rsi
mov rbp, qword [rsp + 0x280]
add rsp, 0x288
ret
mov rax, rdi
mov rbx, rsi
mov rbp, qword [rsp + 0x280]
add rsp, 0x288
ret
mov rbx, rax
mov rax, rcx
mov rbp, qword [rsp + 0x280]
add rsp, 0x288
ret
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x198]
jmp 0x1401a00ef
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
add rax, rcx
dec rbx
mov rcx, rdx
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x178], rax
test rbx, rbx
je 0x1401a01cb
cmp byte [rax], 0
je 0x1401a0117
test rbx, rbx
je 0x1401a01cb
mov qword [rsp + 0x110], rbx
movzx ecx, byte [rax]
mov dword [rsp + 0xec], ecx
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rcx, qword [rsp + 0x110]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x128]
mov qword [rax + 0x10], rdx
dec rcx
mov edx, dword [rsp + 0xec]
lea edx, [rdx + rdx]
lea edx, [rdx + 1]
bsr edx, edx
lea ecx, [rdx + rcx*8]
cmp dword [0x1403d7c90], 0
jne 0x1401a01b5
mov rdx, qword [rsp + 0x178]
mov qword [rax], rdx
jmp 0x1401a01c5
mov rdi, rax
mov rdx, qword [rsp + 0x178]
call fcn.140064380
mov word [rax + 0x18], cx
jmp 0x1401a0218
lea rax, [0x14020c740]
call fcn.14000e5a0
mov qword [rax + 8], 0
mov rcx, qword [rsp + 0x128]
mov qword [rax + 0x10], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a0202
mov rcx, qword [rsp + 0x178]
mov qword [rax], rcx
nop
jmp 0x1401a0212
mov rdi, rax
mov rcx, qword [rsp + 0x178]
call fcn.140064360
mov word [rax + 0x18], 0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0xa8], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a0242
mov qword [rdi + 0xb0], rax
nop
jmp 0x1401a0257
lea rdx, [rdi + 0xb0]
mov rbx, rdi
mov rdi, rdx
call fcn.140064260
mov rdi, rbx
mov r8, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x170]
jmp 0x1401a028b
dec r8
mov rbx, r8
neg r8
sar r8, 0x3f
and r8d, 1
add rdx, r8
dec rsi
mov r8, rbx
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x120], r8
nop dword [rax + rax]
test rsi, rsi
je 0x1401a032b
cmp byte [rdx], 0
je 0x1401a0271
test rsi, rsi
je 0x1401a032b
mov qword [rsp + 0x108], rsi
movzx ecx, byte [rdx]
mov dword [rsp + 0xec], ecx
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x120]
mov qword [rax + 0x10], rdx
dec rcx
mov edx, dword [rsp + 0xec]
lea edx, [rdx + rdx]
lea edx, [rdx + 1]
bsr edx, edx
lea ecx, [rdx + rcx*8]
cmp dword [0x1403d7c90], 0
jne 0x1401a0315
mov rdx, qword [rsp + 0x170]
mov qword [rax], rdx
jmp 0x1401a0325
mov rdi, rax
mov rdx, qword [rsp + 0x170]
call fcn.140064380
mov word [rax + 0x18], cx
jmp 0x1401a0378
lea rax, [0x14020c740]
call fcn.14000e5a0
mov qword [rax + 8], 0
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a0362
mov rcx, qword [rsp + 0x170]
mov qword [rax], rcx
nop
jmp 0x1401a0372
mov rdi, rax
mov rcx, qword [rsp + 0x170]
call fcn.140064360
mov word [rax + 0x18], 0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0xb8], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a03a5
mov qword [rdi + 0xc0], rax
nop
jmp 0x1401a0105
add rdi, 0xc0
call fcn.140064260
jmp 0x1401a0105
mov rax, rdx
mov rbx, r9
lea rcx, [0x1401fe4c0]
call fcn.14000b7c0
mov rax, rdx
mov rbx, r10
lea rcx, [0x1401fe4c0]
call fcn.14000b7c0
mov rdx, rcx
mov rcx, r9
call fcn.140064780
mov rax, r9
mov rbx, r11
lea rcx, [0x1401fe4c0]
call fcn.14000b7c0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x198]
jmp 0x1401a00ef
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
add rax, rcx
dec rbx
mov rcx, rdx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x180], rax
test rbx, rbx
je 0x1401a04c2
cmp byte [rax], 0
je 0x1401a040c
test rbx, rbx
je 0x1401a04c2
mov qword [rsp + 0x118], rbx
movzx ecx, byte [rax]
mov dword [rsp + 0xec], ecx
lea rax, [0x14020c740]
call fcn.14000e5a0
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x130]
mov qword [rax + 0x10], rdx
dec rcx
mov edx, dword [rsp + 0xec]
lea edx, [rdx + rdx]
lea edx, [rdx + 1]
bsr edx, edx
lea ecx, [rdx + rcx*8]
cmp dword [0x1403d7c90], 0
jne 0x1401a04aa
mov rdx, qword [rsp + 0x180]
mov qword [rax], rdx
jmp 0x1401a04ba
mov rdi, rax
mov rdx, qword [rsp + 0x180]
call fcn.140064380
mov word [rax + 0x18], cx
nop
jmp 0x1401a050e
lea rax, [0x14020c740]
call fcn.14000e5a0
mov qword [rax + 8], 0
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x10], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a04f8
mov rcx, qword [rsp + 0x180]
mov qword [rax], rcx
jmp 0x1401a0508
mov rdi, rax
mov rcx, qword [rsp + 0x180]
call fcn.140064360
mov word [rax + 0x18], 0
lea rcx, [0x14028ec40]
mov rdi, qword [rsp + 0x290]
mov qword [rdi + 0x58], rcx
cmp dword [0x1403d7c90], 0
jne 0x1401a0533
mov qword [rdi + 0x60], rax
jmp 0x1401a03f7
add rdi, 0x60
call fcn.140064260
nop dword [rax]
jmp 0x1401a03f7
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
nop
call fcn.140062080
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
nop
jmp fcn.14019fa60