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

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x581d56
add esp, 0xffffff80
mov eax, dword [esp + 0x88]
cmp eax, 2
jl 0x58176c
mov ecx, dword [esp + 0x84]
movzx edx, byte [ecx]
lea ebx, [eax + ecx - 1]
cmp byte [ebx], dl
jne 0x581738
lea ebx, [eax - 2]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ecx, ebx
cmp dl, 0x22
jne 0x581704
xor edx, edx
jmp 0x5817a1
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
inc edx
cmp edx, ebp
jge 0x5817af
lea ebx, [edx + ecx]
cmp byte [ebx], 0x24
jne 0x5817a0
jmp 0x581807
xor edx, edx
jmp 0x5817b4
inc edx
cmp edx, ebp
jge 0x5817c2
lea ebx, [edx + ecx]
cmp byte [ebx], 0x7b
jne 0x5817b3
jmp 0x581807
xor edx, edx
jmp 0x5817c7
inc edx
cmp edx, ebp
jge 0x581807
lea ebx, [edx + ecx]
cmp byte [ebx], 0xa
jne 0x5817c6
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x64], ecx
xor edx, edx
jmp 0x581814
inc edx
cmp edx, ebp
jge 0x581822
lea ebx, [edx + ecx]
cmp byte [ebx], 0x5c
jne 0x581813
jmp 0x581846
xor edx, edx
jmp 0x581827
inc edx
cmp edx, ebp
jge 0x581835
lea ebx, [edx + ecx]
cmp byte [ebx], 0x22
jne 0x581826
jmp 0x581846
xor edx, edx
jmp 0x58183a
inc edx
cmp edx, ebp
jge 0x581890
lea ebx, [edx + ecx]
cmp byte [ebx], 0x24
jne 0x581839
mov dword [esp + 0x24], 0
lea ecx, [0x619aa0]
mov dword [esp], ecx
mov dword [esp + 4], 0
lea edx, [eax + eax*2 - 6]
lea eax, [eax + eax*2]
shr edx, 0x1f
lea eax, [eax + edx - 6]
sar eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
xor ebp, ebp
jmp 0x5818c4
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
mov eax, esi
mov edi, ebx
mov ebx, edx
mov edx, ecx
mov ecx, ebp
mov ebp, edi
test ebx, ebx
je 0x581b17
movzx esi, byte [edx]
xchg esi, eax
cmp al, 0x24
xchg esi, eax
jne 0x581946
cmp ebx, 1
jle 0x581946
cmp byte [edx + 1], 0x7b
jne 0x581946
add ebp, 2
cmp ecx, ebp
jae 0x581926
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x78], edx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x5c]
mov word [ebp + eax - 2], 0x7b24
add ebx, 0xfffffffe
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
add edx, ebx
mov ebx, 1
jmp 0x581b79
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x581ae3
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0x68], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov byte [esp + 8], 0x22
call sym.github.com_hashicorp_hcl_hcl_strconv.unquoteChar
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x581ab7
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xc]
cmp eax, 0x80
jl 0x58199e
movzx ebx, byte [esp + 0x10]
test bl, bl
jne 0x581a00
mov ebx, dword [esp + 0x3c]
inc ebx
mov ebp, dword [esp + 0x58]
cmp ebp, ebx
jb 0x5819b1
mov esi, dword [esp + 0x68]
jmp 0x5819f7
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov esi, eax
mov ebp, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
mov byte [ebx + esi - 1], al
jmp 0x5818b8
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call sym.unicode_utf8.EncodeRune
mov ecx, dword [esp + 0x10]
cmp ecx, 4
ja 0x581b5b
mov eax, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
jb 0x581a3e
mov ebp, dword [esp + 0x68]
jmp 0x581a7c
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x74], ebp
add eax, ebp
mov dword [esp], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x74]
jmp 0x5818b8
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
mov edx, 4
call sym.runtime.panicSliceAlen
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x581cf5
test ebx, ebx
jle 0x581cf5
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], esi
mov dword [esp], edx
mov dword [esp + 4], esi
call sym.unicode_utf8.DecodeRuneInString
mov eax, dword [esp + 8]
cmp eax, 0xfffd
je 0x581cc1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
cmp ecx, edx
jb 0x581d4e
mov dword [esp + 0x2c], eax
sub ecx, edx
mov dword [esp + 0x5c], ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov dword [esp + 0x48], edx
lea ecx, [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
mov dword [esp + 0xc], eax
call sym.unicode_utf8.EncodeRune
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x48]
add eax, edx
cmp ecx, 4
ja 0x581d44
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x54]
lea ebx, [ecx + edx]
mov ebp, dword [esp + 0x50]
cmp ebp, ebx
jb 0x581c31
mov esi, dword [esp + 0x6c]
jmp 0x581c6f
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
mov esi, eax
mov ebp, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x7c], esi
lea eax, [esi + edx]
mov dword [esp], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x2c]
cmp eax, 0x7b
jne 0x581ca7
mov eax, dword [esp + 0x44]
lea ebx, [eax + 1]
jmp 0x581b65
cmp eax, 0x7d
jne 0x581cb8
mov eax, dword [esp + 0x44]
lea ebx, [eax - 1]
jmp 0x581b65
mov ebx, dword [esp + 0x44]
jmp 0x581b65
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
test ebx, ebx
jne 0x581d10
test esi, esi
je 0x581b17
mov ebx, ebp
mov ebp, ecx
mov ecx, edx
mov edx, esi
mov esi, eax
jmp 0x5818b8
mov eax, dword [0x802660]
mov ecx, dword [0x802664]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov edx, 4
call sym.runtime.panicSliceAlen
mov eax, edx
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.github.com_hashicorp_hcl_hcl_strconv.Unquote