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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x100]
cmp eax, dword [ecx + 8]
jbe 0x5818ec
sub esp, 0x180
jmp 0x580a62
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x580aa9
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
nop
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0xc]
cmp eax, 0x20
je 0x580a53
cmp eax, 9
je 0x580a53
cmp eax, 0xd
je 0x580a53
nop
mov eax, dword [esp + 0x184]
xor ecx, ecx
jmp 0x5814c4
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
nop
mov ebx, dword [eax + 0x14]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], edx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x580ad0
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [eax + 0x20]
mov dword [edi + 4], ecx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x4c], 0
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x580aee
mov ecx, dword [eax + 0x48]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x48], 0
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x58]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov dword [eax + 0x38], ebx
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x580c0a
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
cmp eax, 0x2c
jg 0x580b5c
cmp eax, 0x22
jg 0x580b4d
cmp eax, 0xa
je 0x580bcc
cmp eax, 0x22
jne 0x580b80
jmp 0x580bf9
lea ecx, [eax - 0x28]
cmp ecx, 1
jbe 0x580bcc
cmp eax, 0x2c
jne 0x580b80
jmp 0x580bcc
cmp eax, 0x5d
jg 0x580b6d
cmp eax, 0x5b
je 0x580bcc
cmp eax, 0x5d
jne 0x580b80
jmp 0x580bcc
cmp eax, 0x60
je 0x580bf9
cmp eax, 0x7b
je 0x580bcc
cmp eax, 0x7d
je 0x580bcc
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x580b92
xor ecx, ecx
jmp 0x580bae
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0xc]
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp], ecx
call sym.golang.org_x_mod_modfile.isIdent
movzx eax, byte [esp + 4]
test al, al
jne 0x5810d5
jmp 0x5812dc
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.golang.org_x_mod_modfile._input_.endToken
add esp, 0x180
ret
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
jmp 0x580c21
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.golang.org_x_mod_modfile._input_.endToken
add esp, 0x180
ret
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x580f69
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.unicode_utf8.DecodeRune
cmp dword [esp + 0xc], 0xa
je 0x580e17
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x580c95
cmp eax, 0x5c
jne 0x580c21
cmp ecx, 0x60
je 0x580c21
mov eax, dword [esp + 0x184]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x580cb3
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov ecx, dword [esp + 0x30]
jmp 0x580c21
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], 0xfffffffc
call sym.golang.org_x_mod_modfile._input_.endToken
add esp, 0x180
ret
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x34]
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], ebx
mov dword [eax + 0x58], edx
nop
lea ecx, [0x60a240]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov dword [eax + 4], 0x18
lea ecx, [0x644f91]
mov dword [eax], ecx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.004673d5
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ecx
lea ecx, [0x68be28]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xf8], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
inc edx
mov ebx, dword [eax + 0x6c]
cmp ecx, edx
jb 0x580dba
mov dword [eax + 0x70], edx
mov ecx, dword [0x80b220]
imul edx, edx, 0x2c
lea edi, [ebx + edx - 0x2c]
test ecx, ecx
jne 0x580d8c
lea esi, [esp + 0xd0]
call fcn.00467882
lea ecx, [0x607c20]
mov dword [esp], ecx
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x580d6b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x580e08
mov dword [ebx + 0x6c], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x580d57
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x580dfc
nop
lea eax, [0x60a240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov dword [eax + 4], 0x1c
lea ecx, [0x646897]
mov dword [eax], ecx
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.004673d5
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ecx
lea ecx, [0x68be28]
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x124], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
inc edx
mov ebx, dword [eax + 0x6c]
cmp ecx, edx
jb 0x580f0c
mov dword [eax + 0x70], edx
mov ecx, dword [0x80b220]
imul edx, edx, 0x2c
lea edi, [ebx + edx - 0x2c]
test ecx, ecx
jne 0x580ede
lea esi, [esp + 0xfc]
call fcn.00467882
lea ecx, [0x607c20]
mov dword [esp], ecx
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x580ebd
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x580f5a
mov dword [ebx + 0x6c], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x580ea9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x580f4e
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x34]
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], ebx
mov dword [eax + 0x58], edx
nop
lea ecx, [0x60a240]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov dword [eax + 4], 0x18
lea ecx, [0x644f91]
mov dword [eax], ecx
lea edi, [esp + 0x128]
xor eax, eax
call fcn.004673d5
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ecx
lea ecx, [0x68be28]
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x150], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
inc edx
mov ebx, dword [eax + 0x6c]
cmp ecx, edx
jb 0x581070
mov dword [eax + 0x70], edx
mov ecx, dword [0x80b220]
imul edx, edx, 0x2c
lea edi, [ebx + edx - 0x2c]
test ecx, ecx
jne 0x581042
lea esi, [esp + 0x128]
call fcn.00467882
lea ecx, [0x607c20]
mov dword [esp], ecx
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x128]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x581021
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x5810be
mov dword [ebx + 0x6c], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x58100d
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x5810b2
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5810e7
xor ecx, ecx
jmp 0x581103
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0xc]
mov ecx, eax
mov dword [esp], ecx
call sym.golang.org_x_mod_modfile.isIdent
movzx eax, byte [esp + 4]
test al, al
je 0x58112a
nop
mov eax, dword [esp + 0x184]
xor ecx, ecx
jmp 0x581149
lea esi, [0x63d93e]
xor ecx, ecx
jmp 0x581174
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], 0xfffffffd
call sym.golang.org_x_mod_modfile._input_.endToken
add esp, 0x180
ret
inc ecx
cmp ecx, 2
jge 0x58112a
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x14]
cmp ecx, edx
jge 0x581120
movzx ebp, byte [ecx + ebx]
lea esi, [0x63d93e]
lea edi, [esi + ecx]
xchg ebp, eax
cmp byte [edi], al
xchg ebp, eax
je 0x581148
jmp 0x581126
inc ecx
lea esi, [0x63d93e]
cmp ecx, 2
jge 0x581199
cmp ecx, edx
jge 0x5810cd
movzx ebp, byte [ecx + ebx]
lea edi, [0x63d9b2]
lea esi, [ecx + edi]
xchg ebp, eax
cmp byte [esi], al
xchg ebp, eax
je 0x58116d
jmp 0x5810cd
nop
lea eax, [0x60a240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov dword [eax + 4], 0x33
lea ecx, [0x64c85b]
mov dword [eax], ecx
lea edi, [esp + 0x78]
xor eax, eax
call fcn.004673d5
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ecx
lea ecx, [0x68be28]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xa0], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
inc edx
mov ebx, dword [eax + 0x6c]
cmp ecx, edx
jb 0x58127f
mov dword [eax + 0x70], edx
mov ecx, dword [0x80b220]
imul edx, edx, 0x2c
lea edi, [ebx + edx - 0x2c]
test ecx, ecx
jne 0x581254
lea esi, [esp + 0x78]
call fcn.00467882
lea ecx, [0x607c20]
mov dword [esp], ecx
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x581236
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x5812cd
mov dword [ebx + 0x6c], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x581222
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x5812c1
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x601c00]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea eax, [0x6473f5]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
lea edx, [0x60a240]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5814b3
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.004673d5
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ebx
mov edx, dword [ecx + 0x54]
mov ebx, dword [ecx + 0x58]
mov ebp, dword [ecx + 0x50]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ebx
lea edx, [0x68be28]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xcc], edx
mov edx, dword [ecx + 0x74]
mov ebx, dword [ecx + 0x70]
inc ebx
mov ebp, dword [ecx + 0x6c]
cmp edx, ebx
jb 0x58144f
mov dword [ecx + 0x70], ebx
mov eax, dword [0x80b220]
imul edx, ebx, 0x2c
lea edi, [ebp + edx - 0x2c]
test eax, eax
jne 0x581421
lea esi, [esp + 0xa4]
call fcn.00467882
lea eax, [0x607c20]
mov dword [esp], eax
mov eax, dword [esp + 0x184]
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov ecx, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x5813f9
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x5814a4
mov dword [ebx + 0x6c], ecx
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x184]
jmp 0x5813e5
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x581491
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x34]
mov dword [edi], ecx
jmp 0x58136f
inc ecx
cmp ecx, 2
jge 0x5814f5
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
cmp ecx, ebx
jge 0x5814e8
movzx esi, byte [ecx + ebp]
lea edi, [0x63d93e]
lea edx, [edi + ecx]
xchg esi, eax
cmp byte [edx], al
xchg esi, eax
je 0x5814c3
jmp 0x5814ee
lea edi, [0x63d93e]
xor ecx, ecx
jmp 0x581770
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
nop
mov esi, dword [eax + 0x14]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebp
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x58151c
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebx, dword [eax + 0x20]
mov dword [edi + 4], ebx
mov dword [eax + 0x20], esi
mov dword [eax + 0x4c], 0
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x58153a
mov ebx, dword [eax + 0x48]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x48], 0
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x54]
mov esi, dword [eax + 0x58]
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebp
mov dword [eax + 0x38], esi
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x58]
cmp edx, ecx
jb 0x581764
mov ebx, dword [eax + 8]
mov byte [esp + 0x23], 0xa
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [esp + 0x23]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call sym.bytes.LastIndex
mov eax, dword [esp + 0x184]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x58]
cmp edx, ecx
jb 0x58175f
mov ebx, dword [esp + 0x18]
lea ebp, [ebx + 1]
cmp ecx, ebp
jb 0x581758
mov esi, dword [eax + 8]
sub ecx, ebx
sub edx, ebx
dec edx
dec ecx
mov ebx, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebp + esi]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.bytes.TrimSpace
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x581613
xor ecx, ecx
jmp 0x58162c
mov dword [esp], eax
call sym.golang.org_x_mod_modfile._input_.readRune
cmp dword [esp + 4], 0xa
setne al
mov ecx, eax
mov eax, dword [esp + 0x184]
test cl, cl
jne 0x581608
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x581741
mov dword [esp], eax
mov dword [esp + 4], 0xfffffffe
call sym.golang.org_x_mod_modfile._input_.endToken
mov eax, dword [esp + 0x2c]
test eax, eax
setne al
mov byte [esp + 0x22], al
lea edi, [esp + 0x60]
xor eax, eax
call fcn.004673da
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
movzx ecx, byte [esp + 0x22]
mov byte [esp + 0x74], cl
mov ecx, dword [eax + 0x64]
mov edx, dword [eax + 0x60]
inc edx
mov ebx, dword [eax + 0x5c]
cmp ecx, edx
jae 0x5816fb
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x61c700]
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 + 0x184]
mov dword [ebx + 0x64], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x5816f4
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x5c]
mov dword [edi + 4], eax
mov dword [ebx + 0x5c], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 0x60], edx
mov eax, dword [0x80b220]
lea ecx, [edx + edx*2]
lea edi, [ebx + ecx*8 - 0x18]
test eax, eax
je 0x581731
mov dword [esp + 0x3c], edi
lea eax, [0x61c700]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x3c]
lea esi, [esp + 0x60]
call fcn.004678b4
add esp, 0x180
ret
mov dword [esp], eax
mov dword [esp + 4], 0xfffffffb
call sym.golang.org_x_mod_modfile._input_.endToken
add esp, 0x180
ret
mov eax, ebp
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
inc ecx
lea edi, [0x63d93e]
cmp ecx, 2
jge 0x58179a
cmp ecx, ebx
jge 0x58178f
movzx edx, byte [ecx + ebp]
lea esi, [0x63d9b2]
lea edi, [ecx + esi]
cmp byte [edi], dl
je 0x581769
jmp 0x580aa9
lea esi, [0x63d9b2]
jmp 0x580aa9
nop
lea eax, [0x60a240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x38], eax
mov dword [eax + 4], 0x33
lea ecx, [0x64c85b]
mov dword [eax], ecx
lea edi, [esp + 0x154]
xor eax, eax
call fcn.004673d5
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ecx
lea ecx, [0x68be28]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x17c], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
inc edx
mov ebx, dword [eax + 0x6c]
cmp ecx, edx
jb 0x58188f
mov dword [eax + 0x70], edx
mov ecx, dword [0x80b220]
imul edx, edx, 0x2c
lea edi, [ebx + edx - 0x2c]
test ecx, ecx
jne 0x581861
lea esi, [esp + 0x154]
call fcn.00467882
lea ecx, [0x607c20]
mov dword [esp], ecx
add eax, 0x6c
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x50], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x154]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x50]
jmp 0x581840
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6246c0]
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 + 0x184]
mov dword [ebx + 0x74], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x5818dd
mov dword [ebx + 0x6c], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x58182c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x6c]
mov dword [edi + 4], eax
jmp 0x5818d1
call sym.runtime.morestack_noctxt
jmp sym.golang.org_x_mod_modfile._input_.readToken