Function at 0x1800024d0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov dword [rbp - 0xc], r8d
mov qword [rbp + 0x38], rcx
mov rbx, qword [rdx + 8]
mov qword [rbp], rbx
add rbx, 3
jb 0x1800034ba
mov r13, qword [rdx]
mov rsi, rbx
shr rsi, 2
lea rdi, [rsi + rsi*2]
mov eax, 1
cmp rbx, 4
jb 0x18000254c
test rdi, rdi
js 0x18000360e
movzx eax, byte [0x180050131]
mov edx, 1
mov rcx, rdi
call fcn.180003790
test rax, rax
je 0x180003615
mov r15, rdi
mov qword [rbp + 0x28], rdi
mov r14, rax
mov qword [rbp + 0x20], rax
mov rcx, r13
mov rdx, qword [rbp]
call fcn.1800038a0
mov qword [rbp - 8], rax
mov ecx, 6
mov rax, qword [rbp - 8]
mul rcx
jo 0x1800034d4
mov r12, rax
test rax, rax
je 0x1800025be
cmp r15, r12
jae 0x180002608
add rsi, rsi
lea rax, [rsi + rsi*2]
cmp rax, r12
cmovbe rax, r12
cmp rax, 9
mov edi, 8
cmovae rdi, rax
mov rdx, rdi
not rdx
shr rdx, 0x3f
cmp rbx, 4
jae 0x1800025c6
mov qword [rbp - 0x58], 0
jmp 0x1800025d6
mov rsi, r14
mov rdi, r15
jmp 0x180002623
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x50], r15
lea rcx, [rbp - 0x30]
lea r9, [rbp - 0x60]
mov r8, rdi
call fcn.180002440
cmp qword [rbp - 0x30], 0
mov rcx, qword [rbp - 0x28]
je 0x180002e6f
movabs rax, 0x8000000000000001
cmp rcx, rax
jne 0x18000369b
mov rdi, r15
lea r8, [r12 - 1]
mov rsi, r14
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [r14 + r12 - 1], 0
mov ecx, dword [rbp - 0xc]
shr ecx, 0x10
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x20], rsi
call fcn.1800038d0
mov rdx, qword [rbp]
and edx, 7
cmp rdx, 5
ja case.default.0x180002659
lea rcx, [0x1800426a0]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
mov r10b, 1
mov rdx, qword [rbp]
sub rdx, 1
jb 0x180002678
movzx r8d, byte [r13 + rdx]
cmp r8, 0x3d
jne 0x180002ed8
jmp 0x180003251
mov edx, 0xa
jmp case.default.0x180002659
mov edx, 8
jmp case.default.0x180002659
mov edx, 0xc
jmp case.default.0x180002659
mov edx, 0xb
xor r8d, r8d
mov r11, qword [rbp]
sub r11, rdx
mov ecx, 0
mov qword [rbp + 8], rcx
cmovb r11, r8
cmp r11, 0x20
mov qword [rbp + 0x10], r12
jb 0x180002b2c
lea r10, [r11 - 0x20]
xor r9d, r9d
xor ecx, ecx
mov qword [rbp + 8], rcx
mov qword [rbp - 0x18], r11
cmp r9, 0xffffffffffffffe0
je 0x180003598
lea rcx, [r9 + 0x20]
cmp rcx, qword [rbp]
ja 0x1800035c2
mov rdx, qword [rbp + 8]
add rdx, 0x1a
cmp rdx, r12
ja 0x1800035e7
movzx r8d, byte [r13 + r9]
movzx edx, byte [rax + r8]
cmp rdx, 0xff
je 0x18000324e
movzx r8d, byte [r13 + r9 + 1]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x180003138
movzx r8d, byte [r13 + r9 + 2]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x180003140
movzx r8d, byte [r13 + r9 + 3]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x180003149
movzx r8d, byte [r13 + r9 + 4]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x180003152
movzx r8d, byte [r13 + r9 + 5]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x18000315b
movzx r8d, byte [r13 + r9 + 6]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x180003164
movzx r8d, byte [r13 + r9 + 7]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x18000316d
shl rsi, 0x34
shl rdx, 0x3a
or rdx, rsi
shl rdi, 0x2e
shl rbx, 0x28
or rbx, rdi
or rbx, rdx
shl r14, 0x22
shl r15, 0x1c
or r15, r14
shl r12, 0x16
or r12, r15
or r12, rbx
shl r11, 0x10
or r11, r12
bswap r11
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 8]
mov qword [rdx + r8], r11
movzx r8d, byte [r13 + r9 + 8]
movzx edx, byte [rax + r8]
cmp rdx, 0xff
je 0x180003176
movzx r8d, byte [r13 + r9 + 9]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x18000317f
movzx r8d, byte [r13 + r9 + 0xa]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x180003188
movzx r8d, byte [r13 + r9 + 0xb]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x180003191
movzx r8d, byte [r13 + r9 + 0xc]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x18000319f
movzx r8d, byte [r13 + r9 + 0xd]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x1800031ae
movzx r8d, byte [r13 + r9 + 0xe]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x1800031bd
movzx r8d, byte [r13 + r9 + 0xf]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x1800031cc
shl rsi, 0x34
shl rdx, 0x3a
or rdx, rsi
shl rdi, 0x2e
shl rbx, 0x28
or rbx, rdi
or rbx, rdx
shl r14, 0x22
shl r15, 0x1c
or r15, r14
shl r12, 0x16
or r12, r15
or r12, rbx
shl r11, 0x10
or r11, r12
bswap r11
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 8]
mov qword [rdx + r8 + 6], r11
movzx r8d, byte [r13 + r9 + 0x10]
movzx edx, byte [rax + r8]
cmp rdx, 0xff
je 0x1800031de
movzx r8d, byte [r13 + r9 + 0x11]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x1800031ea
movzx r8d, byte [r13 + r9 + 0x12]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800031fc
movzx r8d, byte [r13 + r9 + 0x13]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x180003202
movzx r8d, byte [r13 + r9 + 0x14]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x180003208
movzx r8d, byte [r13 + r9 + 0x15]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x18000320e
movzx r8d, byte [r13 + r9 + 0x16]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x180003214
movzx r8d, byte [r13 + r9 + 0x17]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x18000321a
shl rsi, 0x34
shl rdx, 0x3a
or rdx, rsi
shl rdi, 0x2e
shl rbx, 0x28
or rbx, rdi
or rbx, rdx
shl r14, 0x22
shl r15, 0x1c
or r15, r14
shl r12, 0x16
or r12, r15
or r12, rbx
shl r11, 0x10
or r11, r12
bswap r11
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 8]
mov qword [rdx + r8 + 0xc], r11
movzx r8d, byte [r13 + r9 + 0x18]
movzx edx, byte [rax + r8]
cmp rdx, 0xff
je 0x180003220
movzx r8d, byte [r13 + r9 + 0x19]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x180003226
movzx r8d, byte [r13 + r9 + 0x1a]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x18000322c
movzx r8d, byte [r13 + r9 + 0x1b]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x180003232
movzx r8d, byte [r13 + r9 + 0x1c]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x180003238
movzx r8d, byte [r13 + r9 + 0x1d]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x18000323e
movzx r8d, byte [r13 + r9 + 0x1e]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x180003244
movzx r8d, byte [r13 + r9 + 0x1f]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x18000324a
shl rsi, 0x34
shl rdx, 0x3a
or rdx, rsi
shl rdi, 0x2e
shl rbx, 0x28
or rbx, rdi
or rbx, rdx
shl r14, 0x22
shl r15, 0x1c
or r15, r14
shl r12, 0x16
or r12, r15
or r12, rbx
shl r11, 0x10
or r11, r12
bswap r11
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 8]
mov qword [rdx + r8 + 0x12], r11
add r8, 0x18
mov qword [rbp + 8], r8
add qword [rbp - 8], 0xfffffffffffffffc
mov r9, rcx
cmp rcx, r10
mov r12, qword [rbp + 0x10]
mov r11, qword [rbp - 0x18]
jbe 0x1800026cd
jmp 0x180002b2e
xor ecx, ecx
cmp r11, 8
jb 0x180002ca3
add r11, 0xfffffffffffffff8
cmp rcx, r11
jae 0x180002ca3
lea rdx, [rcx + 8]
cmp rcx, 0xfffffffffffffff8
je 0x1800034f9
cmp rdx, qword [rbp]
ja 0x180003521
mov r8, qword [rbp + 8]
lea r9, [r8 + 8]
cmp r8, 0xfffffffffffffff7
ja 0x180003549
cmp r9, r12
ja 0x180003571
movzx r8d, byte [r13 + rcx]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x18000312d
movzx r8d, byte [r13 + rcx + 1]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x1800030db
movzx r8d, byte [r13 + rcx + 2]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x1800030e1
movzx r8d, byte [r13 + rcx + 3]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x1800030e7
movzx r8d, byte [r13 + rcx + 4]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x1800030ed
movzx r8d, byte [r13 + rcx + 5]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x18000311d
movzx r8d, byte [r13 + rcx + 6]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x180003123
mov r10, r11
movzx r8d, byte [r13 + rcx + 7]
movzx r11d, byte [rax + r8]
cmp r11, 0xff
je 0x180003129
shl rsi, 0x34
shl r9, 0x3a
or r9, rsi
shl rbx, 0x2e
shl rdi, 0x28
or rdi, rbx
or rdi, r9
shl r14, 0x22
shl r15, 0x1c
or r15, r14
shl r12, 0x16
or r12, r15
or r12, rdi
shl r11, 0x10
or r11, r12
bswap r11
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 8]
mov qword [r8 + rcx], r11
dec qword [rbp - 8]
add rcx, 6
mov qword [rbp + 8], rcx
mov r15, rdx
mov rcx, rdx
mov r11, r10
cmp rdx, r10
mov r12, qword [rbp + 0x10]
jb 0x180002b45
jmp 0x180002ca6
mov r15, rcx
mov rdx, qword [rbp - 8]
cmp rdx, 2
jb 0x180002e77
mov r10, qword [rbp]
sub r10, r15
dec rdx
mov qword [rbp - 8], rdx
cmp r15, qword [rbp]
ja 0x180003624
mov rcx, qword [rbp + 8]
lea r11, [rcx + 6]
cmp rcx, 0xfffffffffffffff9
ja 0x18000364c
cmp r11, r12
ja 0x180003674
cmp qword [rbp], r15
je 0x180003340
movzx r8d, byte [r13 + r15]
movzx edx, byte [rax + r8]
cmp rdx, 0xff
je 0x1800031d6
cmp r10, 2
jb 0x180003365
movzx r8d, byte [r13 + r15 + 1]
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x18000319a
cmp r10, 2
jbe 0x180003390
movzx r8d, byte [r13 + r15 + 2]
movzx ebx, byte [rax + r8]
cmp rbx, 0xff
je 0x1800031a8
cmp r10, 3
jbe 0x1800033bb
movzx r8d, byte [r13 + r15 + 3]
movzx r9d, byte [rax + r8]
cmp r9, 0xff
je 0x1800031b7
cmp r10, 4
jbe 0x1800033e6
movzx r8d, byte [r13 + r15 + 4]
movzx esi, byte [rax + r8]
cmp rsi, 0xff
je 0x1800031c6
cmp r10, 5
jbe 0x180003411
mov qword [rbp - 0x18], r11
movzx r8d, byte [r13 + r15 + 5]
movzx r14d, byte [rax + r8]
cmp r14, 0xff
je 0x1800031d2
cmp r10, 6
jbe 0x18000343c
mov r11, r15
movzx r8d, byte [r13 + r15 + 6]
movzx r15d, byte [rax + r8]
cmp r15, 0xff
je 0x1800031e4
cmp r10, 7
jbe 0x180003467
movzx r8d, byte [r13 + r11 + 7]
movzx r12d, byte [rax + r8]
cmp r12, 0xff
je 0x1800031f0
shl rdx, 0x3a
shl rdi, 0x34
or rdi, rdx
shl rbx, 0x2e
or rbx, rdi
shl r9, 0x28
or r9, rbx
shl rsi, 0x22
or rsi, r9
shl r14, 0x1c
or r14, rsi
shl r15, 0x16
or r15, r14
shl r12, 0x10
or r12, r15
bswap r12
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 8]
mov dword [r8 + rcx], r12d
shr r12, 0x20
mov word [r8 + rcx + 4], r12w
add r11, 8
add r10, 0xfffffffffffffff8
mov r14, qword [rbp - 0x18]
mov qword [rbp + 8], r14
dec qword [rbp - 8]
mov r12, qword [rbp + 0x10]
mov r15, r11
jne 0x180002cc2
jmp 0x180002e7b
mov r14, rcx
jmp 0x18000260b
mov r14, qword [rbp + 8]
mov rdx, qword [rbp]
cmp r15, rdx
ja 0x1800036c8
xor edi, edi
cmp r15, rdx
jne 0x180002eec
mov rdx, r15
xor r8d, r8d
xor r11d, r11d
xor esi, esi
xor eax, eax
xor r13d, r13d
xor r12d, r12d
xor r15d, r15d
xor r10d, r10d
xor ecx, ecx
mov r9, rsi
shl r9, cl
shr r9, cl
test dword [rbp - 0xc], 0x100
jne 0x180002f97
test r9, r9
je 0x180002f97
lea r9, [rdx + r11]
dec r9
mov r10b, 2
jmp 0x180003251
cmp byte [rax + r8], 0xff
mov rsi, qword [rbp + 0x38]
je 0x18000307b
jmp 0x180003255
add rdx, r13
add r13, r15
xor ecx, ecx
xor r12d, r12d
xor r11d, r11d
xor esi, esi
xor r10d, r10d
mov qword [rbp], rsi
mov r9d, edi
xor esi, esi
nop dword [rax + rax]
movzx r8d, byte [r13 + rsi]
cmp r8, 0x3d
jne 0x180002f48
lea rbx, [r10 + rsi]
test bl, 2
je 0x180003086
lea r8, [r9 + rsi]
test r8d, r8d
cmove r12, rbx
lea r8, [rsi + r13]
inc r8
inc rsi
cmp r8, rdx
jne 0x180002f10
jmp 0x18000309f
add r9, rsi
test r9d, r9d
jg 0x180003324
movzx edi, byte [rax + r8]
cmp rdi, 0xff
je 0x180003335
add r13, rsi
inc r13
add r10, rsi
inc r10
inc r11
imul ecx, r11d, 0x3a
shl rdi, cl
mov rsi, qword [rbp]
or rsi, rdi
mov ecx, r8d
mov edi, r9d
cmp r13, rdx
jne 0x180002eff
jmp 0x1800030a6
test dil, dil
je 0x1800030f6
cmp r14, qword [rbp + 0x10]
jae 0x180003492
mov rcx, rsi
shr rcx, 0x38
mov rdx, qword [rbp + 0x30]
mov byte [rdx + r14], cl
lea rcx, [r14 + 1]
test al, al
je 0x1800030f3
cmp rcx, qword [rbp + 0x10]
jae 0x180003495
mov rax, rsi
shr rax, 0x30
mov rcx, qword [rbp + 0x30]
mov byte [rcx + r14 + 1], al
lea rcx, [r14 + 2]
test r13b, r13b
je 0x1800030f3
cmp rcx, qword [rbp + 0x10]
jae 0x180003495
mov rax, rsi
shr rax, 0x28
mov rcx, qword [rbp + 0x30]
mov byte [rcx + r14 + 2], al
lea rcx, [r14 + 3]
test r12b, r12b
je 0x1800030f3
cmp rcx, qword [rbp + 0x10]
jae 0x180003495
mov rax, rsi
shr rax, 0x20
mov rcx, qword [rbp + 0x30]
mov byte [rcx + r14 + 3], al
lea rcx, [r14 + 4]
test r15b, r15b
je 0x1800030f3
cmp rcx, qword [rbp + 0x10]
jae 0x180003495
mov eax, esi
shr eax, 0x18
mov rcx, qword [rbp + 0x30]
mov byte [rcx + r14 + 4], al
lea rcx, [r14 + 5]
test r10b, r10b
je 0x1800030f3
cmp rcx, qword [rbp + 0x10]
jae 0x180003495
shr esi, 0x10
mov rax, qword [rbp + 0x30]
mov byte [rax + r14 + 5], sil
add r14, 6
jmp 0x1800030f6
mov r9, rdx
xor r10d, r10d
jmp 0x180003255
add edi, esi
test edi, edi
cmovg rbx, r12
add rbx, r15
mov r8b, 0x3d
xor r10d, r10d
mov r9, rbx
jmp 0x180003251
mov r8d, ecx
mov rsi, qword [rbp]
cmp r11, 8
ja case.0x1800030c1.1
mov rdx, r15
lea rax, [0x1800426b8]
movsxd rcx, dword [rax + r11*4]
add rcx, rax
jmp rcx
xor edi, edi
xor eax, eax
xor r13d, r13d
xor r12d, r12d
xor r15d, r15d
xor r10d, r10d
mov rcx, r11
jmp 0x180002eaa
or rcx, 1
jmp 0x18000312d
or rcx, 2
jmp 0x18000312d
or rcx, 3
jmp 0x18000312d
or rcx, 4
jmp 0x18000312d
mov r14, rcx
mov rax, qword [rbp + 0x10]
cmp rax, r14
cmovb r14, rax
mov rax, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x38]
mov qword [rsi], rax
mov rax, qword [rbp + 0x18]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r14
jmp 0x180003280
or rcx, 5
jmp 0x18000312d
or rcx, 6
jmp 0x18000312d
or rcx, 7
xor r10d, r10d
mov r9, rcx
jmp 0x180003251
inc r9
jmp 0x18000324e
add r9, 2
jmp 0x18000324e
add r9, 3
jmp 0x18000324e
add r9, 4
jmp 0x18000324e
add r9, 5
jmp 0x18000324e
add r9, 6
jmp 0x18000324e
add r9, 7
jmp 0x18000324e
add r9, 8
jmp 0x18000324e
add r9, 9
jmp 0x18000324e
add r9, 0xa
jmp 0x18000324e
add r9, 0xb
jmp 0x18000324e
inc r15
jmp 0x1800031d6
add r9, 0xc
jmp 0x18000324e
add r15, 2
jmp 0x1800031d6
add r9, 0xd
jmp 0x18000324e
add r15, 3
jmp 0x1800031d6
add r9, 0xe
jmp 0x18000324e
add r15, 4
jmp 0x1800031d6
add r9, 0xf
jmp 0x18000324e
add r15, 5
xor r10d, r10d
mov r9, r15
jmp 0x180003251
add r9, 0x10
jmp 0x18000324e
add r11, 6
jmp 0x1800031f4
add r9, 0x11
jmp 0x18000324e
add r11, 7
xor r10d, r10d
mov r9, r11
jmp 0x180003251
add r9, 0x12
jmp 0x18000324e
add r9, 0x13
jmp 0x18000324e
add r9, 0x14
jmp 0x18000324e
add r9, 0x15
jmp 0x18000324e
add r9, 0x16
jmp 0x18000324e
add r9, 0x17
jmp 0x18000324e
add r9, 0x18
jmp 0x18000324e
add r9, 0x19
jmp 0x18000324e
add r9, 0x1a
jmp 0x18000324e
add r9, 0x1b
jmp 0x18000324e
add r9, 0x1c
jmp 0x18000324e
add r9, 0x1d
jmp 0x18000324e
add r9, 0x1e
jmp 0x18000324e
add r9, 0x1f
xor r10d, r10d
mov rsi, qword [rbp + 0x38]
mov byte [rsi + 8], r10b
mov byte [rsi + 9], r8b
mov qword [rsi + 0x10], r9
mov qword [rsi], 0
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x180003280
mov r8d, 1
mov rcx, qword [rbp + 0x30]
call fcn.1800037a0
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 0x20
mov dil, 1
xor r15d, r15d
mov al, 1
mov r13b, 1
mov r12b, 1
xor r10d, r10d
jmp 0x180002eaa
mov ecx, 8
mov dil, 1
xor eax, eax
xor r13d, r13d
jmp 0x1800032e9
mov ecx, 0x28
mov dil, 1
xor r10d, r10d
mov al, 1
mov r13b, 1
mov r12b, 1
mov r15b, 1
jmp 0x180002eaa
mov ecx, 0x10
mov dil, 1
xor r13d, r13d
mov al, 1
xor r12d, r12d
jmp 0x1800032fe
mov ecx, 0x18
mov dil, 1
xor r12d, r12d
mov al, 1
mov r13b, 1
xor r15d, r15d
xor r10d, r10d
jmp 0x180002eaa
mov ecx, 0x30
mov dil, 1
mov al, 1
mov r13b, 1
mov r12b, 1
mov r15b, 1
mov r10b, 1
jmp 0x180002eaa
add r12, r15
mov r8b, 0x3d
xor r10d, r10d
mov r9, r12
jmp 0x180003251
add r15, r10
add r15, rsi
jmp 0x1800031d6
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x1800423d8]
xor ecx, ecx
xor edx, edx
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x1800423f0]
mov ecx, 1
mov edx, 1
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042408]
mov ecx, 2
mov edx, 2
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042420]
mov ecx, 3
mov edx, 3
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042438]
mov ecx, 4
mov edx, 4
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042450]
mov ecx, 5
mov edx, 5
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042468]
mov ecx, 6
mov edx, 6
call fcn.18001efc0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042480]
mov ecx, 7
mov edx, 7
call fcn.18001efc0
jmp 0x18000374a
mov rcx, r14
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042538]
mov rdx, qword [rbp + 0x10]
call fcn.18001efc0
jmp 0x18000374a
lea rcx, str.decoded_length_calculation_overflow
lea r8, [0x1800424c0]
mov edx, 0x23
call fcn.18001ee20
ud2
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x20], r14
lea rcx, str.Overflow_when_calculating_output_buffer_length
lea r8, [0x180042688]
mov edx, 0x2e
call fcn.18001ee20
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042508]
mov rcx, 0xfffffffffffffff8
call fcn.18001f380
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042508]
mov rcx, rdx
mov rdx, qword [rbp]
call fcn.18001f310
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042520]
mov rcx, qword [rbp + 8]
mov rdx, r9
call fcn.18001f380
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042520]
mov rcx, r9
mov rdx, r12
call fcn.18001f310
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x1800424d8]
mov rcx, 0xffffffffffffffe0
xor edx, edx
call fcn.18001f380
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x1800424d8]
mov rdx, qword [rbp]
call fcn.18001f310
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x1800424f0]
mov rcx, rdx
mov rdx, r12
call fcn.18001f310
jmp 0x18000374a
call fcn.180017200
ud2
mov ecx, 1
mov rdx, rdi
call fcn.18001ee10
ud2
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042640]
mov rcx, r15
mov rdx, qword [rbp]
call fcn.18001f2a0
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042628]
mov rcx, qword [rbp + 8]
mov rdx, r11
call fcn.18001f380
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042628]
mov rcx, r11
mov rdx, r12
call fcn.18001f310
jmp 0x18000374a
test rcx, rcx
jne 0x1800036b2
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x20], r14
call fcn.180017200
jmp 0x18000374a
mov rdx, qword [rbp - 0x20]
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x20], r14
call fcn.18001ee10
jmp 0x18000374a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea r8, [0x180042610]
mov rcx, r15
call fcn.18001f2a0
jmp 0x18000374a
lea rax, str.Impossible:_must_only_have_0_to_8_input_bytes_in_last_chunk__with_no_invalid_lengths
mov qword [rbp - 0x30], rax
lea rax, [0x180002420]
mov qword [rbp - 0x28], rax
lea rax, str.internal_error:_entered_unreachable_code:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
lea rdx, [0x1800425f8]
lea rcx, [rbp - 0x60]
call fcn.18001ee80
ud2