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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x124]
cmp eax, dword [ecx + 8]
jbe 0x5860d0
sub esp, 0x1a4
movzx eax, byte [esp + 0x1d0]
test al, al
je 0x5849f0
mov ecx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1b8]
jmp 0x584a7c
mov ecx, dword [esp + 0x1bc]
cmp ecx, 2
jne 0x584a0f
mov ebx, dword [esp + 0x1b8]
cmp word [ebx], 0x6f67
je 0x584a7c
jmp 0x586075
cmp ecx, 6
jne 0x584a34
mov ebx, dword [esp + 0x1b8]
cmp dword [ebx], 0x75646f6d
jne 0x586075
cmp word [ebx + 4], 0x656c
je 0x584a7c
jmp 0x586075
cmp ecx, 7
jne 0x586075
mov ebx, dword [esp + 0x1b8]
cmp dword [ebx], 0x75716572
jne 0x584a5a
cmp word [ebx + 4], 0x7269
jne 0x584a5a
cmp byte [ebx + 6], 0x65
je 0x584a7c
cmp dword [ebx], 0x72746572
jne 0x586075
cmp word [ebx + 4], 0x6361
jne 0x586075
cmp byte [ebx + 6], 0x74
jne 0x586075
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ebp, [sym.golang.org_x_mod_modfile._File_.add.func2]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 0xbc], ebp
mov esi, dword [esp + 0x1a8]
mov dword [esp + 0xc0], esi
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov edx, ebp
lea ebp, [sym.golang.org_x_mod_modfile._File_.add.func3]
mov dword [esp + 0xa8], ebp
lea ebp, [esp + 0xb8]
mov dword [esp + 0xac], ebp
cmp ecx, 6
jg 0x584ff3
cmp ecx, 2
jne 0x584dd2
cmp word [ebx], 0x6f67
jne 0x585ff8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x584d92
cmp dword [esp + 0x1c4], 1
jne 0x584d52
mov eax, dword [esp + 0x1c0]
mov ecx, dword [0x7e54b8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.golang.org_x_mod_internal_lazyregexp._Regexp_.MatchString
movzx eax, byte [esp + 0xc]
test al, al
jne 0x584c1c
movzx edx, byte [esp + 0x1d0]
test dl, dl
je 0x584b8a
xor edx, edx
jmp 0x584c14
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x5860c6
mov eax, dword [0x7e54bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.golang.org_x_mod_internal_lazyregexp._Regexp_.FindStringSubmatch
mov eax, dword [esp + 0xc]
test eax, eax
je 0x584c11
mov ecx, dword [esp + 0x10]
cmp ecx, 1
jbe 0x5860bc
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x5860b3
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xc]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
mov dword [edx + 4], ebp
mov ebp, dword [0x80b220]
test ebp, ebp
jne 0x584c01
test eax, eax
jmp 0x584c0f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [edx]
mov dword [edi + 4], ebp
test eax, eax
mov dword [edx], ebx
setne dl
test dl, dl
je 0x584cba
lea eax, [0x6118c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x584c55
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1a8]
jmp 0x584c79
call sym.runtime.gcWriteBarrier4
mov edx, dword [esp + 0x1b4]
mov dword [edi], edx
mov ebx, dword [eax + 8]
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [ebx + 4]
mov dword [edi + 0xc], ebp
mov dword [eax + 8], edx
mov dword [ebx + 4], eax
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x5860aa
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [eax + 4], edx
mov edx, dword [0x80b220]
test edx, edx
je 0x584cb3
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
jmp 0x58606e
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x5860a1
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa8]
lea ecx, [0x64c49f]
mov dword [esp], ecx
mov dword [esp + 4], 0x31
lea ecx, [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0xa8]
lea ecx, [0x64a741]
mov dword [esp], ecx
mov dword [esp + 4], 0x29
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0xa8]
lea ecx, [0x643a17]
mov dword [esp], ecx
mov dword [esp + 4], 0x15
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
cmp ecx, 6
jne 0x585ff8
cmp dword [ebx], 0x75646f6d
jne 0x585ff8
cmp word [ebx + 4], 0x656c
jne 0x585ff8
mov eax, dword [esi]
test eax, eax
jne 0x584fb3
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym.golang.org_x_mod_modfile.parseDeprecation
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
lea edx, [0x61c900]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x80b220]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x584e45
mov eax, dword [esp + 0x1b4]
jmp 0x584e53
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x1b4]
mov dword [edi], eax
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x14], eax
mov eax, dword [0x80b220]
test eax, eax
jne 0x584e74
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x1a8]
jmp 0x584e8e
call sym.runtime.gcWriteBarrier3
mov eax, dword [esp + 0x60]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [ebx]
mov dword [edi + 8], ebp
mov dword [ecx + 0x10], eax
mov dword [ebx], ecx
cmp dword [esp + 0x1c4], 1
jne 0x584f73
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile.parseString
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x584f2e
mov eax, dword [esp + 0xc]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
test eax, eax
je 0x584edd
mov eax, dword [eax + 4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0xa8]
lea ecx, [0x6455b0]
mov dword [esp], ecx
mov dword [esp + 4], 0x19
lea ecx, [esp + 0x88]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0x1a8]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x584f65
call sym.runtime.gcWriteBarrier3
mov dword [edi], edx
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
mov dword [eax], edx
mov dword [eax + 8], 0
jmp 0x58606e
mov eax, dword [esp + 0xa8]
lea ecx, [0x6456c3]
mov dword [esp], ecx
mov dword [esp + 4], 0x19
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0xa8]
lea ecx, [0x6456aa]
mov dword [esp], ecx
mov dword [esp + 4], 0x19
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
cmp ecx, 7
jne 0x585d9b
cmp byte [ebx + 2], 0x70
jg 0x5851ff
cmp dword [ebx], 0x6c637865
jne 0x585020
cmp word [ebx + 4], 0x6475
jne 0x585020
cmp byte [ebx + 6], 0x65
je 0x585221
cmp dword [ebx], 0x6c706572
jne 0x585ff8
cmp word [ebx + 4], 0x6361
jne 0x585ff8
cmp byte [ebx + 6], 0x65
jne 0x585ff8
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov ebp, dword [esp + 0x1c8]
mov dword [esp + 0x48], ebp
mov esi, dword [esi + 0x3c]
mov ebp, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x20], eax
call sym.golang.org_x_mod_modfile.parseReplace
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test esi, esi
je 0x585166
lea edi, [esp + 0x14c]
call fcn.00467882
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
mov ebx, dword [eax]
cmp ecx, edx
jae 0x58511a
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 + 0x1ac]
mov dword [ebx + 8], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x585114
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, ecx
mov dword [eax + 4], edx
mov eax, dword [0x80b220]
imul ecx, edx, 0x2c
lea edi, [ebx + ecx - 0x2c]
test eax, eax
je 0x585153
mov dword [esp + 0x74], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x14c]
call fcn.00467882
add esp, 0x1a4
ret
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x28]
inc ebx
mov ebp, dword [ecx + 0x24]
cmp edx, ebx
jae 0x5851db
mov dword [esp + 0x58], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f7b40]
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 + 0x1a8]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x5851ce
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x58]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 0x28], ebx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x5851f6
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + ebx*4 - 4], eax
jmp 0x58606e
cmp dword [ebx], 0x75716572
jne 0x5859db
cmp word [ebx + 4], 0x7269
jne 0x5859db
cmp byte [ebx + 6], 0x65
jne 0x5859db
cmp dword [esp + 0x1c4], 2
jne 0x58595e
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile.parseString
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5852ad
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
test eax, eax
je 0x585265
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0xa8]
lea ecx, [0x6455b0]
mov dword [esp], ecx
mov dword [esp + 4], 0x19
lea ecx, [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov ecx, dword [esp + 0x1c4]
cmp ecx, 1
jbe 0x586097
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
add edx, 8
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x14], edx
call sym.golang.org_x_mod_modfile.parseVersion
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x585441
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x24]
nop
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.004673d5
mov ecx, dword [esp + 0x1a8]
mov ecx, dword [ecx + 0x3c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x1b4]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], edx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x5853f5
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 + 0x1ac]
mov dword [ebx + 8], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x5853ed
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x80b220]
imul ecx, ebx, 0x2c
lea edi, [ebp + ecx - 0x2c]
test eax, eax
je 0x58542e
mov dword [esp + 0x74], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0xf4]
call fcn.00467882
add esp, 0x1a4
ret
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
call sym.golang.org_x_mod_modfile.modulePathMajor
mov eax, dword [esp + 0x10]
test eax, eax
je 0x58558e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
nop
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.004673d5
mov ecx, dword [esp + 0x1a8]
mov ecx, dword [ecx + 0x3c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x1b4]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], edx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x585542
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 + 0x1ac]
mov dword [ebx + 8], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x58553a
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x80b220]
imul ecx, ebx, 0x2c
lea edi, [ebp + ecx - 0x2c]
test eax, eax
je 0x58557b
mov dword [esp + 0x74], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0xc8]
call fcn.00467882
add esp, 0x1a4
ret
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call sym.golang.org_x_mod_module.CheckPathMajor
mov eax, dword [esp + 0x10]
test eax, eax
je 0x585705
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
nop
lea edi, [esp + 0x178]
xor eax, eax
call fcn.004673d5
mov ecx, dword [esp + 0x1a8]
mov ecx, dword [ecx + 0x3c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x1b4]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebp
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], edx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x5856b9
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 + 0x1ac]
mov dword [ebx + 8], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x5856b1
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x80b220]
imul ecx, ebx, 0x2c
lea edi, [ecx + ebp - 0x2c]
test eax, eax
je 0x5856f2
mov dword [esp + 0x74], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x178]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x178]
call fcn.00467882
add esp, 0x1a4
ret
mov eax, dword [esp + 0x1b8]
cmp dword [eax], 0x75716572
jne 0x585856
cmp word [eax + 4], 0x7269
jne 0x585856
cmp byte [eax + 6], 0x65
jne 0x585856
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
call sym.golang.org_x_mod_modfile.isIndirect
movzx eax, byte [esp + 4]
mov byte [esp + 0x33], al
lea ecx, [0x61c980]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x58576f
mov ecx, dword [esp + 0x50]
jmp 0x58577a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x58579a
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1b4]
jmp 0x5857af
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x4c]
mov dword [edi], ecx
mov edx, dword [esp + 0x1b4]
mov dword [edi + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], edx
movzx ecx, byte [esp + 0x33]
mov byte [eax + 0x10], cl
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
inc ebx
mov ebp, dword [ecx + 0xc]
cmp edx, ebx
jae 0x585832
mov dword [esp + 0x6c], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x61ca00]
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 + 0x1a8]
mov dword [ebx + 0x14], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x585825
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 0x10], ebx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x58584d
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + ebx*4 - 4], eax
jmp 0x58606e
lea eax, [0x611860]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x58587f
mov ecx, dword [esp + 0x50]
jmp 0x58588a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5858aa
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1b4]
jmp 0x5858bf
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x4c]
mov dword [edi], ecx
mov edx, dword [esp + 0x1b4]
mov dword [edi + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x1c]
inc ebx
mov ebp, dword [ecx + 0x18]
cmp edx, ebx
jae 0x58593a
mov dword [esp + 0x68], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f7a40]
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 + 0x1a8]
mov dword [ebx + 0x20], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x58592d
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx + 0x18], ecx
mov eax, dword [esp + 0x68]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 0x1c], ebx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x585955
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + ebx*4 - 4], eax
jmp 0x58606e
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xa8]
lea ecx, [0x6468cf]
mov dword [esp], ecx
mov dword [esp + 4], 0x1c
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
cmp dword [ebx], 0x72746572
jne 0x585ff8
cmp word [ebx + 4], 0x6361
jne 0x585ff8
cmp byte [ebx + 6], 0x74
jne 0x585ff8
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym.golang.org_x_mod_modfile.parseDirectiveComment
mov eax, dword [0x7ddd58]
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea ebx, [esp + 0x1c0]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
call sym.golang.org_x_mod_modfile.parseVersionInterval
mov eax, dword [esp + 0x28]
test eax, eax
je 0x585ba7
movzx ecx, byte [esp + 0x1d0]
test cl, cl
je 0x585ba0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x2c]
nop
lea edi, [esp + 0x120]
xor eax, eax
call fcn.004673d5
mov ecx, dword [esp + 0x1a8]
mov ecx, dword [ecx + 0x3c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x1b4]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x585b54
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 + 0x1ac]
mov dword [ebx + 8], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x585b4c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x80b220]
imul ecx, ebx, 0x2c
lea edi, [ebp + ecx - 0x2c]
test eax, eax
je 0x585b8d
mov dword [esp + 0x74], edi
lea eax, [0x6246c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x120]
call fcn.00467882
add esp, 0x1a4
ret
add esp, 0x1a4
ret
mov edx, dword [esp + 0x1c4]
test edx, edx
je 0x585c5e
movzx edx, byte [esp + 0x1d0]
test dl, dl
je 0x585c5e
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x58608e
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa8]
lea ecx, [0x6489cc]
mov dword [esp], ecx
mov dword [esp + 4], 0x22
lea ecx, [esp + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x64], ebx
lea ebp, [0x61cb00]
mov dword [esp], ebp
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x585cb2
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
jmp 0x585cc4
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov edx, dword [esp + 0x64]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x585ce7
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x1b4]
jmp 0x585cfc
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
mov edx, dword [esp + 0x1b4]
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x18], edx
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x34]
inc ebx
mov ebp, dword [ecx + 0x30]
cmp edx, ebx
jae 0x585d77
mov dword [esp + 0x54], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f7bc0]
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 + 0x1a8]
mov dword [ebx + 0x38], eax
mov eax, dword [0x80b220]
test eax, eax
je 0x585d6a
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x54]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 0x34], ebx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x585d92
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + ebx*4 - 4], eax
jmp 0x58606e
cmp ecx, 9
jne 0x585ff8
mov dword [esp], ebx
lea eax, [0x63f2d7]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x585fea
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [ebx + 8]
test ebp, ebp
jne 0x585faa
cmp dword [esp + 0x1c4], 1
jne 0x585f6a
movzx edx, byte [esp + 0x1d0]
test dl, dl
jne 0x585dfb
xor eax, eax
jmp 0x585e2c
mov eax, dword [esp + 0x1c0]
mov ecx, dword [0x7e54c0]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.golang.org_x_mod_internal_lazyregexp._Regexp_.MatchString
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ebx, dword [esp + 0x1a8]
test al, al
je 0x585ecc
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x586085
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa8]
lea ecx, [0x64d8f5]
mov dword [esp], ecx
mov dword [esp + 4], 0x45
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
lea eax, [0x611920]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x585f05
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1a8]
jmp 0x585f29
call sym.runtime.gcWriteBarrier4
mov edx, dword [esp + 0x1b4]
mov dword [edi], edx
mov ebx, dword [eax + 8]
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [ebx + 8]
mov dword [edi + 0xc], ebp
mov dword [eax + 8], edx
mov dword [ebx + 8], eax
mov edx, dword [esp + 0x1c4]
test edx, edx
jbe 0x58607c
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [eax + 4], edx
mov edx, dword [0x80b220]
test edx, edx
je 0x585f63
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
jmp 0x58606e
mov eax, dword [esp + 0xa8]
lea ecx, [0x64c0ce]
mov dword [esp], ecx
mov dword [esp + 4], 0x30
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov eax, dword [esp + 0xa8]
lea ecx, [0x6468b3]
mov dword [esp], ecx
mov dword [esp + 4], 0x1c
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
mov ecx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xa8]
lea ecx, [0x643999]
mov dword [esp], ecx
mov dword [esp + 4], 0x15
lea ecx, [esp + 0xa0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
lea edx, [esp + 0xa8]
call eax
add esp, 0x1a4
ret
add esp, 0x1a4
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.golang.org_x_mod_modfile._File_.add