Function at 0x40b9fc
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm6
mov ebx, r9d
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rbp, qword [rsp + 0x170]
lea r13, [rcx + 0x18]
xorps xmm6, xmm6
test rbp, rbp
jle 0x40ba6a
test rdi, rdi
je 0x40ba6a
mov eax, ebx
and al, 0xe
cmp al, 2
jne 0x40ba6a
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Interface
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rdx
mov rcx, rsi
call dbg.(*fmt.pp).handleMethods
test al, 1
jne 0x40c5dd
movups xmmword [r13], xmm6
mov qword [rsi + 0x30], r14
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x38], bl
test rdi, rdi
je case.0x40bb1c.0
test dil, 3
je 0x40baff
test rbp, rbp
jne 0x40bb42
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).UnsafePointer
test rax, rax
je 0x40bb42
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Elem
test rax, rax
je 0x40bb42
mov r15, rax
and eax, 3
jne 0x40bb42
movzx eax, byte [r15]
and eax, 0x1f
cmp eax, 0x1a
ja 0x40bb42
mov ebp, ecx
mov ecx, 0x6c00000
bt ecx, eax
jae 0x40bb42
mov r12, rdx
mov rcx, rsi
mov dl, 0x26
call dbg.(*fmt.buffer).writeByte
mov r14, r12
mov ebx, ebp
mov ebp, 1
mov rdi, r15
jmp 0x40ba32
movzx eax, byte [rdi]
and eax, 0x1f
cmp eax, 0x1a
ja case.default.0x40bb1c
lea rdx, [0x0040c644]
movsxd rcx, dword [rdx + rax*4]
add rcx, rdx
jmp rcx
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Elem
test rax, rax
je 0x40c142
mov r15, rax
mov r14, rdx
mov ebx, ecx
inc rbp
jmp 0x40baf7
test dil, 3
jne 0x40bb65
mov al, byte [rdi]
and al, 0x1f
cmp al, 0x19
ja 0x40bdbb
movzx eax, al
mov ecx, 0x36c0000
bt ecx, eax
jae 0x40bdbb
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).UnsafePointer
mov rbx, rax
cmp byte [rsi + 0x50], 1
jne 0x40bbcd
mov rcx, rsi
mov dl, 0x28
call dbg.(*fmt.buffer).writeByte
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
lea rdx, [0x004157fe]
mov r8d, 2
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
test rbx, rbx
je 0x40bc6f
mov rcx, rsi
mov rdx, rbx
mov r8b, 1
call dbg.(*fmt.pp).fmt0x64
jmp 0x40bc84
test rbx, rbx
je 0x40bca9
mov r8b, byte [rsi + 0x4c]
xor r8b, 1
mov rcx, rsi
mov rdx, rbx
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmt0x64
test rbp, rbp
je 0x40bcdd
lea rdx, [0x00416747]
mov r8d, 5
jmp 0x40bcea
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Uint
mov rcx, rsi
mov rdx, rax
xor r8d, r8d
jmp 0x40bc4f
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Int
mov rcx, rsi
mov rdx, rax
mov r8b, 1
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmtInteger
lea rdx, [0x00415800]
mov r8d, 3
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x29
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.buffer).writeByte
add rsi, 0x40
lea rdx, [0x00416747]
mov r8d, 5
mov rcx, rsi
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.fmt).padString
lea rdx, [0x00415814]
mov r8d, 0x17
mov rcx, rsi
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.buffer).writeString
cmp byte [rsi + 0x50], 1
jne 0x40c0e0
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov al, byte [rdi]
and al, 0x1f
cmp al, 0x16
jne 0x40bd4b
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).IsNil
test al, 1
jne 0x40c162
mov rcx, rsi
mov dl, 0x7b
call dbg.(*fmt.buffer).writeByte
inc rbp
xor r15d, r15d
lea r12, [0x00415834]
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Len
cmp r15, rax
jge 0x40c5a3
test r15, r15
je 0x40bd8f
mov r8d, 2
mov rcx, rsi
mov rdx, r12
call dbg.(*fmt.buffer).writeString
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
mov r9, r15
call dbg.(reflect.Value).Index
mov r8, rdx
mov r9d, ecx
mov qword [rsp + 0x20], rbp
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.pp).printValue
inc r15
jmp 0x40bd62
mov byte [rsi + 0xb3], 1
lea rdx, [0x004157d9]
mov r8d, 2
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov edx, 0x76
call dbg.(*fmt.buffer).writeRune
mov rcx, rsi
mov dl, 0x28
call dbg.(*fmt.buffer).writeByte
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x40c16e
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x3d
call dbg.(*fmt.buffer).writeByte
mov rdx, qword [rsi + 0x18]
mov r8, qword [rsi + 0x20]
mov rcx, rsi
call dbg.(*fmt.pp).printArg
jmp 0x40c5cc
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Bool
mov rcx, rsi
mov edx, eax
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmtBool
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Complex
movaps xmm2, xmm1
mov r9d, 0x80
jmp 0x40c086
cmp byte [rsi + 0x50], 1
jne 0x40c1b7
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).IsNil
test al, 1
jne 0x40c162
mov rcx, rsi
mov dl, 0x7b
call dbg.(*fmt.buffer).writeByte
jmp 0x40c1cc
cmp byte [rsi + 0x50], 1
jne 0x40bedd
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x7b
call dbg.(*fmt.buffer).writeByte
inc rbp
mov qword [rsp + 0x58], rbp
xor r15d, r15d
mov rcx, rdi
call dbg.(*reflect.rawType).NumField
cmp r15, rax
jge 0x40c5a3
test r15, r15
je 0x40bf2f
cmp byte [rsi + 0x50], 1
jne 0x40bf25
mov r8d, 2
mov rcx, rsi
lea rdx, [0x00415834]
call dbg.(*fmt.buffer).writeString
jmp 0x40bf2f
mov rcx, rsi
mov dl, 0x20
call dbg.(*fmt.buffer).writeByte
cmp byte [rsi + 0x4f], 1
je 0x40bf3b
cmp byte [rsi + 0x50], 0
je 0x40bf75
lea rcx, [rsp + 0xa8]
mov rdx, rdi
mov r8, r15
call dbg.(*reflect.rawType).rawField
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x40bf75
mov rdx, qword [rsp + 0xa8]
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x3a
call dbg.(*fmt.buffer).writeByte
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
mov r9, r15
call dbg.(reflect.Value).Field
mov rbp, rdx
mov r13d, ecx
test rax, rax
je 0x40bfcf
mov r12, rax
test r12b, 3
jne 0x40bfd2
mov al, byte [r12]
and al, 0x1f
cmp al, 0x14
jne 0x40bfd2
mov rcx, r12
mov rdx, rbp
mov r8d, r13d
call dbg.(reflect.Value).IsNil
test al, 1
jne 0x40bfd2
mov rcx, r12
mov rdx, rbp
mov r8d, r13d
call dbg.(reflect.Value).Elem
mov r12, rax
mov rbp, rdx
mov r13d, ecx
jmp 0x40bfd2
xor r12d, r12d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r12
mov r8, rbp
mov r9d, r13d
call dbg.(*fmt.pp).printValue
inc r15
jmp 0x40bef2
mov rcx, rsi
mov dl, 0x3f
call dbg.(*fmt.buffer).writeByte
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x3f
jmp 0x40bc89
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Float
mov r8d, 0x20
jmp 0x40c049
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Float
mov r8d, 0x40
mov rcx, rsi
movaps xmm1, xmm0
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmtFloat
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Complex
movaps xmm2, xmm1
mov r9d, 0x40
mov rcx, rsi
movaps xmm1, xmm0
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmtComplex
mov rcx, rdi
mov rdx, r14
call dbg.(reflect.Value).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp dbg.(*fmt.pp).fmtString
mov rcx, rsi
mov dl, 0x5b
call dbg.(*fmt.buffer).writeByte
inc rbp
xor r15d, r15d
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Len
cmp r15, rax
jge 0x40c5ad
test r15, r15
je 0x40c116
mov rcx, rsi
mov dl, 0x20
call dbg.(*fmt.buffer).writeByte
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
mov r9, r15
call dbg.(reflect.Value).Index
mov r8, rdx
mov r9d, ecx
mov qword [rsp + 0x20], rbp
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.pp).printValue
inc r15
jmp 0x40c0f0
cmp byte [rsi + 0x50], 1
jne 0x40bc0d
mov rcx, rdi
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
lea rdx, [0x0041582f]
jmp 0x40bc14
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x40c5b7
call dbg.(*reflect.rawType).String
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x3d
call dbg.(*fmt.buffer).writeByte
mov r9b, byte [rsi + 0x38]
mov rdx, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
and qword [rsp + 0x20], 0
mov rcx, rsi
call dbg.(*fmt.pp).printValue
jmp 0x40c5cc
lea rdx, [0x0041582b]
mov r8d, 4
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
mov al, byte [rdi]
and al, 0x1f
cmp al, 0x19
jne 0x40c5fe
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call dbg.(reflect.Value).Len
mov r15, rax
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r15, rax
ja 0x40c603
imul r12, r15, 0x18
mov edx, 0x187
mov rcx, r12
call dbg.runtime.alloc
mov qword [rsp + 0x50], rax
mov edx, 0x187
mov rcx, r12
call dbg.runtime.alloc
mov qword [rsp + 0x40], rax
mov al, byte [rdi]
and al, 0x1f
cmp al, 0x19
jne 0x40c608
mov qword [rsp + 0x38], r15
mov rcx, rdi
call dbg.(*reflect.rawType).key
test rax, rax
je 0x40c5fe
xor r13d, r13d
movzx ecx, byte [rax]
test al, 3
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x58], rbp
je 0x40c262
test cl, cl
setns r15b
jmp 0x40c280
mov edx, ecx
and edx, 0x1f
cmp edx, 0x11
je 0x40c27d
cmp edx, 0x14
jne 0x40c25a
test cl, 0x20
je 0x40c27d
cmp word [rax + 2], 0
jne 0x40c25a
xor r15d, r15d
mov ecx, 0x58
mov edx, 0xdd97
call dbg.runtime.alloc
mov rbp, rax
mov ecx, 0x28
mov edx, 0x48b
call dbg.runtime.alloc
mov qword [rbp], rdi
mov qword [rbp + 8], r14
mov byte [rbp + 0x10], bl
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x18], rax
mov dword [rsp + 0x6c], r15d
mov byte [rbp + 0x51], r15b
xor eax, eax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov r15b, 2
mov rbx, qword [rbp]
mov rcx, rbx
call dbg.(*reflect.rawType).key
mov rcx, rax
call dbg.reflect.New
mov r14, rax
mov rdi, rdx
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rdx
mov byte [rbp + 0x30], r15b
mov rcx, rbx
call dbg.(*reflect.rawType).elem
mov rcx, rax
call dbg.reflect.New
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rdx
mov byte [rbp + 0x48], r15b
mov rcx, qword [rbp + 8]
test byte [rbp + 0x10], 1
je 0x40c321
mov rcx, qword [rcx]
mov rbx, qword [rbp + 0x28]
mov r9, qword [rbp + 0x40]
mov rdx, qword [rsp + 0x70]
mov r8, rbx
call dbg.runtime.hashmapNext
and al, 1
mov byte [rbp + 0x50], al
je 0x40c41d
cmp byte [rsp + 0x6c], 0
je 0x40c353
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov cl, 2
jmp 0x40c361
mov rcx, r14
mov rdx, rdi
mov r8b, 2
call dbg.(reflect.Value).Elem
and qword [rsp + 0x88], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x88], cl
mov edi, 0x18
mov qword [rsp + 0x28], rdi
mov ebx, 1
mov qword [rsp + 0x20], rbx
mov rcx, r12
lea rdx, [rsp + 0x78]
mov r8, r13
mov r9, qword [rsp + 0x38]
call sym.runtime.sliceAppend
mov r12, rax
mov r13, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x40]
mov r8b, byte [rbp + 0x48]
call dbg.(reflect.Value).Elem
and qword [rsp + 0xa0], 0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rdx
mov byte [rsp + 0xa0], cl
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x90]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
call sym.runtime.sliceAppend
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x60], rcx
jmp 0x40c2d2
mov ecx, 0x30
mov edx, 0x48d
call dbg.runtime.alloc
mov r14, rax
mov qword [rax], r12
mov qword [rax + 8], r13
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0x18], rax
mov rax, qword [rsp + 0x48]
mov qword [r14 + 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [r14 + 0x28], rax
xor edx, edx
mov rbp, qword [rsp + 0x58]
lea rdi, [rdx + 0x14]
mov rcx, r14
cmp rdi, r13
jg 0x40c47a
mov r8, rdi
call dbg.sort.insertionSort
mov rdx, rdi
jmp 0x40c461
mov r8, r13
call dbg.sort.insertionSort
mov ebx, 0x14
cmp rbx, r13
jge 0x40c4c7
lea r15, [rbx + rbx]
xor edx, edx
lea rdi, [r15 + rdx]
lea r8, [rbx + rdx]
cmp rdi, r13
jg 0x40c4af
mov rcx, r14
mov r9, rdi
call dbg.sort.symMerge
mov rdx, rdi
jmp 0x40c492
mov rbx, r15
cmp r8, r13
jge 0x40c487
mov rcx, r14
mov r9, r13
call dbg.sort.symMerge
mov rbx, r15
jmp 0x40c487
inc rbp
xor ebx, ebx
test r13, r13
mov eax, 0
cmovg rax, r13
mov qword [rsp + 0x38], rax
xor r15d, r15d
mov qword [rsp + 0x50], r12
cmp qword [rsp + 0x38], r15
je 0x40c59d
cmp r13, r15
je 0x40c5f9
lea rax, [r15 - 1]
mov dil, byte [r12 + rbx + 0x10]
mov r14, qword [r12 + rbx]
mov r12, qword [r12 + rbx + 8]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x40c541
cmp byte [rsi + 0x50], 1
jne 0x40c537
mov r8d, 2
mov rcx, rsi
lea rdx, [0x00415834]
call dbg.(*fmt.buffer).writeString
jmp 0x40c541
mov rcx, rsi
mov dl, 0x20
call dbg.(*fmt.buffer).writeByte
mov qword [rsp + 0x20], rbp
mov rcx, rsi
mov rdx, r14
mov r8, r12
mov r9d, edi
call dbg.(*fmt.pp).printValue
mov rcx, rsi
mov dl, 0x3a
call dbg.(*fmt.buffer).writeByte
cmp r15, qword [rsp + 0x48]
jae 0x40c5f9
mov rax, qword [rsp + 0x40]
mov r9b, byte [rax + rbx + 0x10]
mov rdx, qword [rax + rbx]
mov r8, qword [rax + rbx + 8]
mov qword [rsp + 0x20], rbp
mov rcx, rsi
call dbg.(*fmt.pp).printValue
inc r15
add rbx, 0x18
mov r12, qword [rsp + 0x50]
jmp 0x40c4e5
cmp byte [rsi + 0x50], 1
jne 0x40c5ad
mov rcx, rsi
mov dl, 0x7d
jmp 0x40bc89
mov rcx, rsi
mov dl, 0x5d
jmp 0x40bc89
lea rdx, [0x00416747]
mov r8d, 5
mov rcx, rsi
call dbg.(*fmt.buffer).writeString
mov rcx, rsi
mov dl, 0x29
call dbg.(*fmt.buffer).writeByte
mov byte [rsi + 0xb3], 0
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call dbg.runtime.lookupPanic
call dbg.runtime.nilPanic
call dbg.runtime.slicePanic
mov ecx, 0x18
mov edx, 0x87
call dbg.runtime.alloc
mov cl, byte [rdi]
and cl, 0x1f
lea rdx, [0x0040f4d0]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov byte [rax + 0x10], cl
lea rcx, [0x00416f18]
mov rdx, rax
call dbg.runtime._panic
int3