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

Disassembly:
mov ecx, dword [0x647d6c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x4c5b06
sub esp, 0xe4
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov byte [esp + 8], 0
call sym.go_build_constraint.pushNot
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.go_build_constraint.appendSplitAnd
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd4], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c531d
mov dword [eax + ecx*4 - 0xc], ebp
mov ecx, edi
mov edi, dword [esp + 0x80]
inc edi
mov ebx, edx
mov ebp, eax
mov esi, ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xd4]
mov edx, edi
mov dword [esp + 0x24], ebx
cmp edx, eax
jge 0x4c5415
mov dword [esp + 0x80], edx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x28], esi
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call sym.go_build_constraint.appendSplitOr
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c58f2
mov edx, dword [esp + 0x24]
inc edx
mov edi, dword [esp + 0x28]
cmp edi, edx
jb 0x4c539d
mov eax, dword [esp + 0x98]
jmp 0x4c53e5
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x51b980]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x60]
mov eax, ebp
mov edi, esi
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0x5c]
lea ecx, [edx + edx*2]
mov dword [eax + ecx*4 - 8], esi
mov dword [eax + ecx*4 - 4], ebx
mov ebx, dword [0x647e70]
test ebx, ebx
je 0x4c52f9
mov ebx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov esi, dword [eax + ecx*4 - 0xc]
mov dword [edi + 4], esi
mov edi, ebx
jmp 0x4c52f9
mov edx, ebp
mov eax, ebp
xor ecx, ecx
xor esi, esi
jmp 0x4c5427
add edi, 0xc
inc ecx
mov esi, ebp
mov ebp, edi
cmp ecx, ebx
jge 0x4c5438
mov edi, ebp
mov ebp, dword [ebp + 4]
cmp esi, ebp
jl 0x4c541f
mov ebp, esi
jmp 0x4c541f
cmp esi, 1
jne 0x4c55d6
xor ecx, ecx
xor edx, edx
xor ebp, ebp
xor esi, esi
jmp 0x4c54bc
mov dword [esp + 0x9c], esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], ecx
lea eax, [0x526400]
mov dword [esp], eax
sub ecx, edx
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl edx, 3
sar ebp, 0x1f
and edx, ebp
add edx, esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call sym.runtime.typedslicecopy
mov eax, dword [esp + 0xcc]
add eax, 0xc
mov ecx, dword [esp + 0x84]
inc ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x30], edx
cmp ecx, ebx
jge 0x4c553e
mov edi, dword [eax + 4]
test edi, edi
jbe 0x4c58cb
mov dword [esp + 0x84], ecx
mov dword [esp + 0xcc], eax
mov edi, dword [eax]
mov ebx, dword [edi + 4]
lea ecx, [edx + ebx]
mov edi, dword [edi]
cmp ebp, ecx
jae 0x4c544b
mov dword [esp + 0x80], ebx
mov dword [esp + 0xd4], edi
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
lea eax, [0x526400]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0xd4]
jmp 0x4c544b
mov dword [esp + 0x78], ebp
mov dword [esp + 0xc8], esi
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
lea eax, [0x51e0a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4c559d
mov ecx, dword [esp + 0xc8]
jmp 0x4c55ab
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xc8]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0xdc], 1
mov dword [esp + 0xe0], 1
mov dword [esp + 0xd8], eax
lea edx, [esp + 0xd8]
mov ebx, 1
mov dword [esp + 0x24], ebx
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
jmp 0x4c5600
mov edi, dword [esp + 0xb0]
mov dword [esi], edi
add edx, 0xc
mov edi, dword [esp + 0x84]
inc edi
mov ebx, dword [esp + 0x24]
mov esi, eax
mov eax, edi
cmp ebx, eax
jle 0x4c56d1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0xac], ebp
mov dword [esp + 0xcc], edx
mov edi, dword [edx]
mov ebx, dword [edx + 4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x80], eax
lea eax, [0x53a655]
mov dword [esp + 0xb0], eax
mov eax, 9
mov dword [esp + 0x50], eax
jmp 0x4c578d
lea eax, [esi + 1]
cmp ecx, eax
jae 0x4c5695
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x51e740]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xcc]
lea ebx, [ebp + eax*8 - 4]
mov esi, dword [esp + 0x50]
mov dword [ebx], esi
mov ebx, dword [0x647e70]
lea esi, [ebp + eax*8 - 8]
test ebx, ebx
je 0x4c55e4
mov dword [esp + 0x74], eax
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0xb0]
mov dword [edi], ebx
mov eax, dword [esi]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
jmp 0x4c55e4
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
add esp, 0xe4
ret
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
lea eax, [0x569830]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
call sym.runtime.concatstring3
mov eax, dword [esp + 0xc4]
lea edi, [eax + 0xc]
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x80], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x80]
cmp eax, ebx
jge 0x4c5659
mov dword [esp + 0xc4], edi
mov edx, dword [edi]
mov dword [esp + 0xbc], edx
mov ebp, dword [edi + 4]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x88]
jmp 0x4c5850
mov eax, dword [ebx + 0x14]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x54]
cmp ecx, ebp
jge 0x4c5703
lea esi, [edx + ecx*8]
mov ebx, dword [esi]
mov esi, dword [esi + 4]
test ecx, ecx
jle 0x4c57d8
mov dword [esp + 0xa4], esi
mov dword [esp + 0x40], ebx
mov dword [esp], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
lea eax, [0x5396f6]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb4], eax
jmp 0x4c57d8
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov dword [eax + ecx*4 - 0xc], ebp
mov ecx, edi
mov edi, dword [esp + 0x70]
inc edi
mov ebx, ecx
mov ebp, eax
mov esi, edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x7c]
mov edx, edi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], esi
cmp edx, ecx
jge 0x4c5387
mov dword [esp + 0x70], edx
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call sym.go_build_constraint.appendSplitAnd
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c5a06
mov edx, dword [esp + 0x5c]
inc edx
mov edi, dword [esp + 0x60]
cmp edi, edx
jb 0x4c596f
mov eax, dword [esp + 0xb8]
jmp 0x4c59c6
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0xa0], ebp
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x51b940]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov eax, ebp
mov edi, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0xa0]
lea ecx, [edx + edx*2]
mov dword [eax + ecx*4 - 8], esi
mov dword [eax + ecx*4 - 4], ebx
mov ebx, dword [0x647e70]
test ebx, ebx
je 0x4c58d4
mov ebx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov esi, dword [eax + ecx*4 - 0xc]
mov dword [edi + 4], esi
mov edi, ebx
jmp 0x4c58d4
mov dword [eax], edi
mov edi, dword [esp + 0x68]
lea edx, [edi + 1]
mov eax, dword [esp + 0xc0]
cmp edx, ecx
jge 0x4c5959
lea edi, [eax + edx*8]
mov eax, dword [edi]
mov edi, dword [edi + 4]
test eax, eax
je 0x4c5ac4
mov dword [esp + 0x68], edx
lea edx, [0x56ad98]
cmp eax, edx
je 0x4c5a40
lea edx, [0x56ad7c]
cmp eax, edx
jne 0x4c5ac4
lea edx, [0x56ad98]
inc esi
cmp ebx, esi
jae 0x4c5a93
mov dword [esp + 0xa8], edi
mov dword [esp + 0x44], eax
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x526400]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
lea edx, [0x56ad98]
mov edi, dword [esp + 0xa8]
lea edx, [ebp + esi*8 - 8]
mov dword [edx], eax
mov edx, dword [0x647e70]
lea eax, [ebp + esi*8 - 4]
test edx, edx
je 0x4c59f6
mov edx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x6c]
mov edi, edx
jmp 0x4c59f6
mov eax, dword [0x61ed70]
mov ecx, dword [0x61ed74]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xe4
ret
call sym.runtime.morestack_noctxt
jmp sym.go_build_constraint.PlusBuildLines