Function at 0x54b580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x54b9c6
push rbp
mov rbp, rsp
sub rsp, 0xd0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], rcx
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x70], 0
jmp 0x54b5f8
mov rsi, qword [rsp + 0x70]
nop dword [rax]
cmp qword [rsp + 0xa8], rsi
jg 0x54b60f
jmp 0x54b84b
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0xa0]
add rsi, qword [rsp + 0x70]
movzx esi, byte [rsi]
mov dword [rsp + 0x38], esi
cmp esi, 0x80
jl 0x54b637
jmp 0x54b63e
inc qword [rsp + 0x70]
jmp 0x54b663
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
call sym.runtime.decoderune
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x70], rbx
jmp 0x54b663
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x48], rcx
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x2c], eax
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rdx]
call rcx
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x2c], eax
sete byte [rsp + 0x1f]
je 0x54b693
jmp 0x54b6a2
cmp dword [rsp + 0x2c], 0xfffd
setne byte [rsp + 0x1f]
jmp 0x54b6a4
jmp 0x54b6a4
cmp byte [rsp + 0x1f], 0
jne 0x54b6ad
jmp 0x54b6b2
jmp 0x54b768
mov qword [rsp + 0x40], 0
cmp dword [rsp + 0x2c], 0xfffd
je 0x54b6ca
jmp 0x54b76f
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
nop
cmp rcx, rax
jae 0x54b6ea
jmp 0x54b9c0
sub rcx, rax
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and rax, rcx
add rax, rdx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rbx
call sym.unicode_utf8.DecodeRuneInString
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x78], rbx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rcx
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rcx
cmp rcx, 1
setne byte [rsp + 0x1f]
jne 0x54b74c
jmp 0x54b75b
mov esi, dword [rsp + 0x24]
cmp dword [rsp + 0x2c], esi
sete byte [rsp + 0x1f]
jmp 0x54b75d
jmp 0x54b75d
cmp byte [rsp + 0x1f], 0
jne 0x54b766
jmp 0x54b76d
jmp 0x54b768
jmp 0x54b5f8
jmp 0x54b77f
mov eax, dword [rsp + 0x2c]
call sym.unicode_utf8.RuneLen
mov qword [rsp + 0x40], rax
jmp 0x54b77f
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x78], rbx
add rbx, 4
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.Grow
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
cmp rdx, rcx
jae 0x54b7bc
jmp 0x54b9b9
jmp 0x54b7be
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rcx
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.WriteString
cmp dword [rsp + 0x24], 0
jge 0x54b7e4
jmp 0x54b7f7
mov ebx, dword [rsp + 0x24]
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.WriteRune
jmp 0x54b7f9
jmp 0x54b7f9
mov rax, qword [rsp + 0x48]
add rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
cmp rcx, rax
jae 0x54b825
nop dword [rax]
jmp 0x54b9b4
sub rcx, rax
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and rax, rcx
lea rcx, [rdx + rax]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rbx
jmp 0x54b84d
jmp 0x54b84d
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.Cap
mov qword [rsp + 0x78], rax
nop
test rax, rax
je 0x54b867
jmp 0x54b890
mov rax, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rbx
add rsp, 0xd0
pop rbp
ret
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x60], 0
jmp 0x54b8bb
mov rsi, qword [rsp + 0xa8]
cmp qword [rsp + 0x60], rsi
jl 0x54b8cf
jmp 0x54b97e
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x58], rsi
mov rsi, qword [rsp + 0xa0]
add rsi, qword [rsp + 0x60]
movzx esi, byte [rsi]
mov dword [rsp + 0x34], esi
cmp esi, 0x80
jl 0x54b8f7
jmp 0x54b8fe
inc qword [rsp + 0x60]
jmp 0x54b923
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
call sym.runtime.decoderune
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x60], rbx
jmp 0x54b923
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rdx]
call rcx
mov dword [rsp + 0x20], eax
nop dword [rax]
test eax, eax
jge 0x54b946
jmp 0x54b975
cmp eax, 0x80
jl 0x54b94f
jmp 0x54b962
mov ebx, eax
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.WriteByte
nop
jmp 0x54b973
mov ebx, eax
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.WriteRune
jmp 0x54b973
jmp 0x54b977
jmp 0x54b977
jmp 0x54b979
jmp 0x54b8bb
lea rax, [rsp + 0xb0]
call sym.strings._Builder_.String
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rbx
add rsp, 0xd0
pop rbp
ret
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAlen
nop
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.strings.Map