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

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x280]
cmp eax, dword [ecx + 8]
jbe 0x59284b
sub esp, 0x300
mov ecx, dword [esp + 0x310]
lea edx, [0x6aaee0]
cmp ecx, edx
jne 0x591071
mov ecx, dword [esp + 0x314]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
jmp 0x59107c
mov edx, ecx
mov ebx, dword [esp + 0x314]
xor ecx, ecx
lea ebp, [0x6aaef8]
cmp edx, ebp
jne 0x59108f
mov ebx, dword [ebx + 0x28]
lea edx, [0x6aaf10]
mov dword [esp + 0xcc], ecx
lea esi, [0x6aaf28]
cmp edx, esi
jne 0x59112e
test ecx, ecx
je 0x59112e
lea eax, [0x62c020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x1c4], eax
lea ecx, [0x619600]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [0x84d1a0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5910f1
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x1c4]
jmp 0x59110e
call sym.runtime.gcWriteBarrier3
mov edx, dword [esp + 0xcc]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x1c4]
mov ebp, dword [ebx]
mov dword [edi + 8], ebp
mov dword [ecx], edx
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov dword [ebx], ecx
mov ecx, edx
lea ebp, [0x6aaef8]
lea edx, [0x6aaf10]
lea esi, [0x6aaf10]
cmp edx, esi
jne 0x59113c
mov eax, ebx
jmp 0x591143
mov eax, ebx
mov ebx, 0
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x94], edx
jne 0x5911cf
mov dword [esp + 0xc0], ebx
lea edi, [esp + 0x294]
xor eax, eax
call fcn.0046c051
mov ecx, dword [esp + 0x320]
mov dword [esp + 0x29c], ecx
mov esi, dword [esp + 0x318]
mov dword [esp + 0x294], esi
mov ebp, dword [esp + 0x31c]
mov dword [esp + 0x298], ebp
mov edi, 1
lea eax, [esp + 0x294]
mov dword [esp + 0xac], eax
mov eax, 5
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x60], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
jmp 0x591395
mov ecx, dword [edx + 0x10]
mov dword [esp], eax
call ecx
lea edi, [esp + 0x2e8]
lea esi, [esp + 4]
call fcn.0046c53e
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov eax, dword [esp + 0x308]
mov dword [esp], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x94]
test eax, eax
je 0x591255
mov edx, dword [eax + 4]
jmp 0x591257
mov edx, eax
mov dword [esp + 0x2e0], edx
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x2e4], eax
lea eax, [0x65febc]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x2d8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], ecx
lea edx, [0x62b9c0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x84d1a0]
mov edi, dword [esp + 4]
mov dword [esp + 0x1bc], edi
test eax, eax
je 0x591310
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x1c0]
mov dword [edi], ecx
mov edx, dword [eax + 0x18]
mov dword [edi + 4], edx
lea edx, [0x63d020]
mov dword [esp], edx
mov dword [esp + 4], eax
lea edx, [esp + 0x2e8]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov edi, dword [esp + 0x1bc]
lea esi, [esp + 0x2e8]
call fcn.0046c53e
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x1c0]
mov dword [ecx + 0x18], eax
lea eax, [0x6aab3c]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x300
ret
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x54]
xor eax, eax
mov ecx, dword [esp + 0x320]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x31c]
mov esi, dword [esp + 0x318]
test edi, edi
je 0x591450
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0xac]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x58]
dec ebp
mov dword [esp + 0x58], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0xc
mov esi, dword [ebx + 4]
mov dword [esp + 0x1b8], esi
mov edx, dword [ebx]
mov dword [esp + 0x1b4], edx
add ebx, ebp
mov dword [esp + 0xac], ebx
test ecx, ecx
je 0x5913ff
test ecx, 0x200
jne 0x5913ff
mov ebp, edx
lea edx, [0x6ac080]
mov dword [esp + 0x44], edx
mov edx, ebp
jmp 0x59143d
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call sym.reflect.Value.typeSlow
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x1b4]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0xa4], edx
dec edi
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x5922b0
lea edi, [esp + 0x238]
call fcn.0046c059
lea edi, [esp + 0x1ec]
call fcn.0046c04d
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x244], ecx
call sym.runtime.rand32
mov ecx, dword [esp]
mov dword [esp + 0x240], ecx
lea ecx, [0x619a20]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call sym.runtime.makeslice
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x60]
xor eax, eax
xor ebp, ebp
lea esi, [esp + 0x98]
xor edi, edi
lea eax, [esp + 0x98]
mov dword [esp + 0xa8], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], ebx
xor eax, eax
mov dword [esp + 0x78], eax
xor eax, eax
jmp 0x5914f2
add edx, 0x40
dec ebx
mov dword [esp + 0x4c], edi
mov edi, ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], ecx
test ebx, ebx
jle 0x591e5c
mov dword [esp + 0x50], edi
lea edi, [esp + 0x148]
mov esi, edx
call fcn.0046c4d0
lea edi, [esp + 0x114]
lea esi, [esp + 0x148]
call fcn.0046c4ee
mov ecx, dword [esp + 0x184]
test ecx, ecx
je 0x59226f
mov esi, ecx
and ecx, 0x160
cmp ecx, 0x100
je 0x591561
mov esi, dword [esp + 0x188]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
jmp 0x5914e1
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x1b4], edx
mov ebx, dword [esp + 0x180]
mov dword [esp + 0x1b0], ebx
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x110], ebp
mov esi, dword [esp + 0x118]
mov dword [esp + 0x68], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x651278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
call sym.reflect.StructTag.Lookup
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x650e37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call sym.strings.genSplit
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, 2
jl 0x591923
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
cmp edx, 3
jne 0x5916f9
cmp word [ebx], 0x656b
jne 0x591923
cmp byte [ebx + 2], 0x79
jne 0x591923
mov edx, dword [esp + 0xcc]
test edx, edx
je 0x591cc3
mov ebx, dword [edx + 4]
test ebx, ebx
jbe 0x592266
mov eax, dword [edx]
mov esi, dword [eax]
test byte [esi], al
lea edi, [esp + 0x1c8]
call fcn.0046c516
lea edi, [esp]
lea esi, [esp + 0x1c8]
call fcn.0046c516
call sym.github.com_hashicorp_hcl_hcl_token.Token.Value
mov eax, dword [esp + 0x24]
lea ecx, [0x619a20]
cmp eax, ecx
jne 0x592250
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x1b4]
mov dword [esp], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.reflect.Value.SetString
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x188]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
jmp 0x5914e1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x9c], ecx
cmp edx, 0xa
je 0x591813
cmp edx, 0xd
jne 0x591923
mov dword [esp], ebx
lea eax, [0x65455d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x591803
mov eax, dword [esp + 0x70]
inc eax
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jb 0x591755
mov esi, dword [esp + 0x188]
mov ebp, ecx
jmp 0x59178a
mov edx, dword [esp + 0x188]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6507a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x90]
mov dword [esi + ecx*4 - 4], edx
mov edx, dword [0x84d1a0]
test edx, edx
jne 0x5917b6
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b0]
jmp 0x5917dc
call sym.runtime.gcWriteBarrier4
mov edx, dword [esp + 0x1b4]
mov dword [edi], edx
mov ebx, dword [esi + ecx*4 - 0xc]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x1b0]
mov dword [edi + 8], ebx
mov eax, dword [esi + ecx*4 - 8]
mov dword [edi + 0xc], eax
mov dword [esi + ecx*4 - 0xc], edx
mov dword [esi + ecx*4 - 8], ebx
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
jmp 0x5914e1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x9c]
jmp 0x591923
mov dword [esp], ebx
lea eax, [0x653346]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x591918
mov eax, dword [esp + 0x4c]
inc eax
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jb 0x591856
mov ecx, eax
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0xa8]
jmp 0x59188b
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6507a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x50], edi
lea edx, [ecx + ecx*2]
mov ebx, dword [esp + 0x90]
mov dword [eax + edx*4 - 4], ebx
mov ebx, dword [0x84d1a0]
test ebx, ebx
jne 0x5918b9
mov ebp, dword [esp + 0x1b4]
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
jmp 0x5918e1
call sym.runtime.gcWriteBarrier4
mov ebp, dword [esp + 0x1b4]
mov dword [edi], ebp
mov esi, dword [eax + edx*4 - 0xc]
mov dword [edi + 4], esi
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov dword [edi + 8], ecx
mov ebx, dword [eax + edx*4 - 8]
mov dword [edi + 0xc], ebx
mov dword [eax + edx*4 - 0xc], ebp
mov dword [eax + edx*4 - 8], ecx
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x50]
mov edi, esi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x188]
jmp 0x5914e1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x9c]
test eax, eax
jbe 0x592247
mov eax, dword [ecx + 4]
test eax, eax
je 0x591936
mov ebp, dword [ecx]
jmp 0x591941
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x68], eax
mov dword [esp + 0x110], ebp
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d0], ebp
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
lea edx, [esp + 0x2d0]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call sym.github.com_hashicorp_hcl_hcl_ast._ObjectList_.Filter
mov eax, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
nop
lea ecx, [0x62c020]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x2fc], eax
mov dword [eax], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx]
mov dword [esp + 0x1ac], edx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x88], ebx
xor ebp, ebp
jmp 0x591f8d
nop
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [ecx]
mov dword [esp + 0x1a8], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x88], ecx
xor ebx, ebx
jmp 0x592061
mov ecx, dword [esp + 0xb4]
test ecx, ecx
jne 0x591a5e
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x591a5e
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x188]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
jmp 0x5914e1
lea eax, [0x61c4a0]
mov dword [esp], eax
lea ecx, [esp + 0x238]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
test byte [eax], al
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov eax, dword [esp + 0x308]
mov dword [esp], eax
mov ecx, dword [esp + 0x30c]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2e0], ecx
mov dword [esp + 0x2e4], eax
lea eax, [0x651a29]
mov dword [esp], eax
mov dword [esp + 4], 5
lea edx, [esp + 0x2d8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Sprintf
mov eax, dword [esp + 0x2fc]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x110], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x68], ebx
test ecx, ecx
je 0x591bcc
mov ecx, dword [esp + 0x304]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
lea ebp, [0x6aaf10]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x1b0]
mov dword [esp + 0x18], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x1c], edi
call sym.github.com_hashicorp_hcl._decoder_.decode
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x59212d
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x1a4], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x88], ecx
xor ebp, ebp
jmp 0x592169
mov eax, dword [esp + 0x78]
inc eax
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov ebx, dword [esp + 0x7c]
cmp ebx, eax
jb 0x591c13
mov ebp, dword [esp + 0x18c]
jmp 0x591c68
mov dword [esp + 0x88], edx
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x619a20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, ecx
mov ebx, edx
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x88]
lea esi, [ebp + eax*8 - 4]
mov dword [esi], edx
mov edx, dword [0x84d1a0]
lea esi, [ebp + eax*8 - 8]
test edx, edx
je 0x591c88
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [esi]
mov dword [edi + 4], edx
mov dword [esi], ecx
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x188]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x18c], ebp
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x5914e1
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x1c0]
mov dword [esp], ecx
call eax
lea edi, [esp + 0x2e8]
lea esi, [esp + 4]
call fcn.0046c53e
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov eax, dword [esp + 0x308]
mov dword [esp], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2e0], ecx
mov dword [esp + 0x2e4], eax
lea eax, [0x65e67e]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x2d8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], ecx
lea edx, [0x62b9c0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x84d1a0]
mov edi, dword [esp + 4]
mov dword [esp + 0x1bc], edi
test eax, eax
je 0x591e1a
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x1c0]
mov dword [edi], ecx
mov edx, dword [eax + 0x18]
mov dword [edi + 4], edx
lea edx, [0x63d020]
mov dword [esp], edx
mov dword [esp + 4], eax
lea edx, [esp + 0x2e8]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov edi, dword [esp + 0x1bc]
lea esi, [esp + 0x2e8]
call fcn.0046c53e
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x1c0]
mov dword [ecx + 0x18], eax
lea eax, [0x6aab3c]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x300
ret
test eax, eax
je 0x591e90
nop
lea eax, [0x6aa350]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc], edx
call sym.slices.Sort_go.shape.__string_go.shape.string_
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x70]
jmp 0x591ef0
mov dword [esp + 0x324], 0
mov dword [esp + 0x328], 0
add esp, 0x300
ret
mov ecx, dword [esp + 0x1b4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call sym.reflect.Value.Set
mov eax, dword [esp + 0x1b8]
add eax, 0xc
mov ecx, dword [esp + 0x8c]
dec ecx
test ecx, ecx
jle 0x591e90
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1b8], eax
mov ecx, dword [eax]
mov dword [esp + 0x1b4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1b0], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x90], ebx
mov ebp, dword [esp + 0x18c]
mov dword [esp], ebp
mov esi, dword [esp + 0x78]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x610b00]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov edx, dword [esp + 0xd0]
test edx, edx
je 0x591f81
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x591ead
or ebx, 0x80
jmp 0x591ead
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x591ead
inc ebp
cmp ebp, ebx
jge 0x5919e6
mov esi, dword [edx + ebp*4]
mov edi, dword [esi + 4]
test edi, edi
je 0x591f8c
mov edi, dword [eax + 8]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
cmp edi, ecx
jae 0x592027
mov dword [esp + 0x84], ebp
mov dword [esp + 0xc8], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x627d60]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2fc]
mov dword [ebx + 8], eax
mov eax, dword [0x84d1a0]
test eax, eax
je 0x592008
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0xc8]
mov edi, ecx
mov ecx, edx
mov edx, edi
mov dword [eax + 4], ecx
mov edi, dword [0x84d1a0]
test edi, edi
je 0x592049
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov eax, dword [edx + ecx*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2fc]
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x1ac]
jmp 0x591f8c
inc ebx
cmp ebx, ecx
jge 0x591a22
mov ebp, dword [edx + ebx*4]
mov esi, dword [ebp + 4]
test esi, esi
jne 0x592060
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xb4]
inc edi
mov eax, dword [esp + 0xb0]
cmp esi, edi
jae 0x5920f3
mov dword [esp + 0x84], ebx
mov dword [esp + 0xc4], ebp
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x627d60]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0xb4], edi
mov esi, dword [0x84d1a0]
test esi, esi
je 0x59211d
mov esi, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [eax + esi*4 - 4]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x1a8]
mov edi, esi
mov dword [eax + edi*4 - 4], ebp
mov eax, dword [esp + 0x2fc]
jmp 0x592060
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x300
ret
mov eax, dword [esp + 0x84]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x68]
cmp ebp, ecx
jge 0x591bef
mov dword [esp + 0x84], ebp
mov esi, dword [eax + ebp*4]
mov edi, dword [esi + 0x20]
mov esi, dword [esi + 0x24]
lea eax, [0x6aaef8]
cmp edi, eax
jne 0x5921e2
mov dword [esp + 0x190], esi
lea eax, [0x62c020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x190]
mov ecx, dword [ecx + 0x28]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov edx, dword [0x84d1a0]
test edx, edx
je 0x5921cd
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x68]
lea edi, [0x6aaf10]
mov esi, eax
mov eax, dword [esp + 0x304]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x1b0]
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x90]
mov dword [esp + 0x1c], esi
call sym.github.com_hashicorp_hcl._decoder_.decode
mov eax, dword [esp + 0x20]
test eax, eax
je 0x592146
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x300
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x61ace0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
lea eax, [0x619a20]
mov dword [esp], eax
lea eax, [0x6aa120]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov edi, esi
mov esi, dword [esp + 0x5c]
inc esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov ebx, edi
mov edi, ebp
mov dword [esp + 0x64], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x54], edi
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x64]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x5c]
cmp dword [esp + 4], eax
jle 0x591352
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0xdc]
lea esi, [esp + 8]
call fcn.0046c4ee
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x651278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
call sym.reflect.StructTag.Lookup
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x650e37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call sym.strings.genSplit
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jbe 0x592841
mov edx, dword [esp + 0x18]
cmp dword [edx + 4], 1
jne 0x5923a2
mov ebx, dword [edx]
cmp byte [ebx], 0x2d
jne 0x5923a2
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xd8]
jmp 0x592287
movzx ebx, byte [esp + 0x10c]
test bl, bl
je 0x59252e
mov dword [esp + 0x40], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 0x19
jne 0x592686
mov eax, dword [esp + 0x48]
dec eax
neg eax
sar eax, 0x1f
and eax, 8
mov ecx, dword [esp + 0xa0]
add eax, ecx
mov ecx, dword [esp + 0x40]
dec ecx
xor edx, edx
jmp 0x592819
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x318]
mov dword [esp], ebx
mov ebp, dword [esp + 0x31c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x320]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call sym.reflect.Value.FieldByName
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x8c]
cmp ebx, ebp
jb 0x592471
mov esi, dword [esp + 0xac]
jmp 0x5924d6
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6507a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov esi, ebx
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1b0]
lea edi, [ebp + ebp*2]
mov dword [esi + edi*4 - 4], edx
mov edx, dword [0x84d1a0]
test edx, edx
je 0x592512
mov dword [esp + 0x88], ebx
mov edx, edi
call sym.runtime.gcWriteBarrier4
mov dword [edi], eax
mov ebx, dword [esi + edx*4 - 0xc]
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ebx, dword [esi + edx*4 - 8]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x88]
mov edi, edx
mov dword [esi + edi*4 - 0xc], eax
mov dword [esi + edi*4 - 8], ecx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xd8]
jmp 0x592287
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
call sym.reflect.Value.Field
mov eax, dword [esp + 0x60]
inc eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x19c], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea edi, [esp + 0x254]
mov ebp, eax
xor eax, eax
call fcn.0046c050
lea edi, [esp + 0x254]
lea esi, [esp + 0xdc]
call fcn.0046c4ee
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], ebx
mov ecx, dword [esp + 0x64]
cmp ecx, ebp
jb 0x5925c9
mov ecx, ebp
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0x64]
jmp 0x5925fe
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x62b7e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x60], ecx
mov ebx, dword [0x84d1a0]
lea ebp, [ecx - 1]
shl ebp, 6
lea edi, [eax + ebp]
test ebx, ebx
je 0x592660
mov dword [esp + 0x198], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x194], edi
lea eax, [0x62b7e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x254]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x194]
lea esi, [esp + 0x254]
call fcn.0046c4d0
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0xac]
mov ecx, eax
mov eax, dword [esp + 0x60]
jmp 0x592287
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x1c0]
mov dword [esp], ecx
call eax
lea edi, [esp + 0x2e8]
lea esi, [esp + 4]
call fcn.0046c53e
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x619a20]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x61df80]
mov dword [esp + 0x2e0], ecx
mov dword [esp + 0x2e4], eax
lea eax, [0x65e65c]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x2d8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], ecx
lea edx, [0x62b9c0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x84d1a0]
mov edi, dword [esp + 4]
mov dword [esp + 0x1bc], edi
test eax, eax
je 0x5927d6
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x1c0]
mov dword [edi], ecx
mov edx, dword [eax + 0x18]
mov dword [edi + 4], edx
lea edx, [0x63d020]
mov dword [esp], edx
mov dword [esp + 4], eax
lea edx, [esp + 0x2e8]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov edi, dword [esp + 0x1bc]
lea esi, [esp + 0x2e8]
call fcn.0046c53e
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x1c0]
mov dword [ecx + 0x18], eax
lea eax, [0x6aab3c]
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x300
ret
inc edx
cmp edx, ecx
jge 0x59252e
lea ebx, [eax + edx*8]
cmp dword [ebx + 4], 6
jne 0x592818
mov ebx, dword [ebx]
cmp dword [ebx], 0x61757173
jne 0x592818
cmp word [ebx + 4], 0x6873
jne 0x592818
jmp 0x592406
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.github.com_hashicorp_hcl._decoder_.decodeStruct