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

Disassembly:
mov ecx, dword [0x5ef9b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a2d71
sub esp, 0x34
mov eax, 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x38]
test byte [eax], al
lea ecx, [eax + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp], ecx
call sym.sync._Mutex_.Lock
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
lea eax, [sym.debug_gosym._LineTable_.parsePclnTab.func4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x30], eax
mov byte [esp + 0x1b], 1
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4a2be1
mov dword [eax + 0x20], 1
lea edx, [0x51291c]
mov dword [esp + 0x2c], edx
mov byte [esp + 0x1b], 3
cmp dword [eax + 4], 0x10
jl 0x4a1ebb
mov edx, dword [eax]
movzx ebx, byte [edx + 4]
test bl, bl
jne 0x4a1ebb
movzx ebx, byte [edx + 5]
test bl, bl
jne 0x4a1ebb
movzx ebx, byte [edx + 6]
cmp bl, 1
je 0x4a1ead
cmp bl, 2
je 0x4a1ead
cmp bl, 4
jne 0x4a1ebb
movzx ebx, byte [edx + 7]
cmp bl, 4
je 0x4a1ed6
cmp bl, 8
je 0x4a1ed6
mov byte [esp + 0x1b], 1
call sym.debug_gosym._LineTable_.parsePclnTab.func1
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
movzx ebx, byte [edx]
movzx ebp, byte [edx + 1]
mov esi, ebp
shl ebp, 8
or ebp, ebx
movzx edi, byte [edx + 2]
mov ecx, edi
shl edi, 0x10
or edi, ebp
movzx edx, byte [edx + 3]
mov ebp, edx
shl edx, 0x18
or edx, edi
shl ecx, 8
or ebp, ecx
shl esi, 0x10
or esi, ebp
shl ebx, 0x18
nop
nop
or ebx, esi
cmp edx, 0xfffffffb
jne 0x4a1f40
lea edx, [0x5315ec]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a1f2d
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 2
jmp 0x4a20ac
cmp ebx, 0xfffffffb
jne 0x4a1f75
lea edx, [0x531618]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a1f62
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 2
jmp 0x4a20ac
cmp edx, 0xfffffffa
jne 0x4a1faa
lea edx, [0x5315ec]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a1f97
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 3
jmp 0x4a20ac
cmp ebx, 0xfffffffa
jne 0x4a1fdf
lea edx, [0x531618]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a1fcc
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 3
jmp 0x4a20ac
cmp edx, 0xfffffff0
jne 0x4a2014
lea edx, [0x5315ec]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a2001
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 4
jmp 0x4a20ac
cmp ebx, 0xfffffff0
jne 0x4a2046
lea edx, [0x531618]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a2036
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 4
jmp 0x4a20ac
cmp edx, 0xfffffff1
jne 0x4a2078
lea edx, [0x5315ec]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a2068
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 5
jmp 0x4a20ac
cmp ebx, 0xfffffff1
jne 0x4a2bc6
lea edx, [0x531618]
mov dword [eax + 0x24], edx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a209e
mov edx, dword [eax + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ef880]
mov dword [eax + 0x28], edx
mov ecx, 5
mov dword [eax + 0x20], ecx
mov edx, dword [eax + 4]
cmp edx, 6
jbe 0x4a2d5b
mov edx, dword [eax]
movzx edx, byte [edx + 6]
mov dword [eax + 0x2c], edx
mov edx, dword [eax + 4]
cmp edx, 7
jbe 0x4a2d4f
mov edx, dword [eax]
movzx edx, byte [edx + 7]
mov dword [eax + 0x30], edx
cmp ecx, 2
jne 0x4a22e8
mov ecx, dword [eax + 4]
cmp ecx, 8
jb 0x4a2d45
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp], eax
add ebx, 0xfffffff8
add ecx, 0xfffffff8
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call sym.debug_gosym._LineTable_.uintptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], edx
mov eax, dword [0x5efab0]
test eax, eax
je 0x4a2149
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 0x54]
mov dword [edi + 4], edx
mov dword [ecx + 0x54], ebx
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx]
mov dword [ecx + 0x40], edx
mov dword [ecx + 0x44], ebx
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a2171
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + 0x3c]
mov dword [edi + 4], edx
mov dword [ecx + 0x3c], ebp
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 0x30]
lea eax, [ebx + 8]
cmp edx, eax
jb 0x4a2d3e
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
sub esi, ebx
sub edx, ebx
lea ebx, [esi - 8]
add edx, 0xfffffff8
mov dword [ecx + 0x64], edx
mov dword [ecx + 0x68], ebx
mov edx, dword [0x5efab0]
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [ebp + eax]
test edx, edx
je 0x4a21bc
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 0x60]
mov dword [edi + 4], edx
mov dword [ecx + 0x60], ebx
mov edx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov esi, dword [ecx]
mov dword [ecx + 0x80], edx
mov dword [ecx + 0x84], ebp
mov edx, dword [0x5efab0]
test edx, edx
je 0x4a21ea
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov edx, dword [ecx + 0x7c]
mov dword [edi + 4], edx
mov dword [ecx + 0x7c], esi
cmp dword [ecx + 0x20], 4
jl 0x4a21fa
mov edx, 4
jmp 0x4a21fd
mov edx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x6c]
shl ebp, 1
lea eax, [ebp + 1]
imul eax, edx
mov edx, dword [ecx + 0x64]
cmp edx, eax
jb 0x4a2d37
mov dword [esp + 0x1c], eax
mov ebp, dword [ecx + 0x24]
mov esi, dword [ecx + 0x28]
mov ebp, dword [ebp + 0x24]
mov edi, dword [ecx + 0x68]
mov dword [esp], esi
sub edi, eax
sub edx, eax
mov esi, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
add ebx, edi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
call ebp
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x68]
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
jb 0x4a2d32
mov edx, dword [esp + 0x10]
mov dword [eax + 0x64], ecx
mov ecx, dword [eax + 4]
cmp ecx, edx
jb 0x4a2d2b
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ebp
mov esi, dword [0x5efab0]
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
lea edx, [ebp + ebx]
test esi, esi
je 0x4a22a7
mov ebx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [eax + 0x70]
mov dword [edi + 4], ebp
mov edi, ebx
mov dword [eax + 0x70], edx
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x28]
mov ebx, dword [ebx + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov dword [eax + 0x88], ecx
mov edx, dword [eax + 0x78]
shl ecx, 2
cmp edx, ecx
jb 0x4a2d26
mov dword [eax + 0x74], ecx
jmp 0x4a2bab
cmp ecx, 3
jne 0x4a274a
mov ecx, dword [eax + 4]
cmp ecx, 8
jb 0x4a2d1c
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp], eax
add ebx, 0xfffffff8
add ecx, 0xfffffff8
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call sym.debug_gosym._LineTable_.uintptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x30]
lea ebx, [edx + 8]
cmp eax, ebx
jb 0x4a2d13
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp], ecx
sub esi, edx
sub eax, edx
lea edx, [esi - 8]
add eax, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebp + ebx]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x88], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x30]
shl edx, 1
lea ebx, [edx + 8]
cmp eax, ebx
jb 0x4a2d0a
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp], ecx
sub esi, edx
sub eax, edx
lea edx, [esi - 8]
add eax, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebp + ebx]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2d03
cmp ecx, edx
jb 0x4a2cfc
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a2417
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x3c]
mov dword [edi + 4], ebx
mov dword [eax + 0x3c], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea ebx, [edx + edx*2 + 8]
lea edx, [edx + edx*2]
cmp ecx, ebx
jb 0x4a2cf5
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2cee
cmp ecx, edx
jb 0x4a2ce7
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x50], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a24af
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x48]
mov dword [edi + 4], ebx
mov dword [eax + 0x48], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
shl edx, 2
lea ebx, [edx + 8]
cmp ecx, ebx
jb 0x4a2ce0
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2cd9
cmp edx, ecx
ja 0x4a2cd2
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a2546
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x70]
mov dword [edi + 4], ebx
mov dword [eax + 0x70], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea ebx, [edx + edx*4 + 8]
lea edx, [edx + edx*4]
cmp ecx, ebx
jb 0x4a2ccb
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2cc4
cmp edx, ecx
ja 0x4a2cbd
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a25e4
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x7c]
mov dword [edi + 4], ebx
mov dword [eax + 0x7c], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea edx, [edx + edx*2]
shl edx, 1
lea ebx, [edx + 8]
cmp ecx, ebx
jb 0x4a2cb6
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2caf
cmp ecx, edx
jb 0x4a2ca8
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a267d
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x54]
mov dword [edi + 4], ebx
mov dword [eax + 0x54], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea edx, [edx + edx*2]
shl edx, 1
lea ebx, [edx + 8]
cmp ecx, ebx
jb 0x4a2ca1
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c9a
cmp ecx, edx
jb 0x4a2c93
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x68], ebp
mov esi, dword [0x5efab0]
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add ebx, edx
test esi, esi
je 0x4a271c
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [eax + 0x60]
mov dword [edi + 4], ebp
mov edi, ecx
mov dword [eax + 0x60], ebx
cmp dword [eax + 0x20], 4
jl 0x4a272c
mov ebx, 4
jmp 0x4a272f
mov ebx, dword [eax + 0x30]
mov ebp, dword [eax + 0x6c]
shl ebp, 1
lea ecx, [ebp + 1]
imul ecx, ebx
cmp ecx, edi
ja 0x4a2c8c
mov dword [eax + 0x64], ecx
jmp 0x4a2bab
mov ecx, dword [eax + 4]
cmp ecx, 8
jb 0x4a2c82
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp], eax
add ebx, 0xfffffff8
add ecx, 0xfffffff8
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call sym.debug_gosym._LineTable_.uintptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x30]
lea ebx, [edx + 8]
cmp eax, ebx
jb 0x4a2c79
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp], ecx
sub esi, edx
sub eax, edx
lea edx, [esi - 8]
add eax, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebp + ebx]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x88], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x38], edx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x30]
lea ebx, [edx + edx*2 + 8]
lea edx, [edx + edx*2]
cmp eax, ebx
jb 0x4a2c70
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp], ecx
sub esi, edx
sub eax, edx
lea edx, [esi - 8]
add eax, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c69
cmp edx, ecx
ja 0x4a2c62
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a287c
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x3c]
mov dword [edi + 4], ebx
mov dword [eax + 0x3c], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
shl edx, 2
lea ebx, [edx + 8]
cmp ecx, ebx
jb 0x4a2c5b
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c54
cmp edx, ecx
ja 0x4a2c4d
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x50], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a2913
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x48]
mov dword [edi + 4], ebx
mov dword [eax + 0x48], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea ebx, [edx + edx*4 + 8]
lea edx, [edx + edx*4]
cmp ecx, ebx
jb 0x4a2c46
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c3f
cmp edx, ecx
ja 0x4a2c38
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a29ab
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x70]
mov dword [edi + 4], ebx
mov dword [eax + 0x70], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea edx, [edx + edx*2]
shl edx, 1
lea ebx, [edx + 8]
cmp ecx, ebx
jb 0x4a2c31
mov ebp, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c2a
cmp ecx, edx
jb 0x4a2c23
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a2a4a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x7c]
mov dword [edi + 4], ebx
mov dword [eax + 0x7c], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea ebx, [edx + edx*2]
lea ebp, [edx + ebx*2 + 8]
lea edx, [edx + ebx*2]
cmp ecx, ebp
jb 0x4a2c1c
mov ebx, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub esi, edx
sub ecx, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c15
cmp ecx, edx
jb 0x4a2c0e
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ebp
mov esi, dword [0x5efab0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
test esi, esi
je 0x4a2ae5
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x54]
mov dword [edi + 4], ebx
mov dword [eax + 0x54], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
lea ebx, [edx + edx*2]
lea ebp, [edx + ebx*2 + 8]
lea edx, [edx + ebx*2]
cmp ecx, ebp
jb 0x4a2c07
mov ebx, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp], eax
sub ecx, edx
sub esi, edx
lea edx, [esi - 8]
add ecx, 0xfffffff8
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call sym.debug_gosym._LineTable_.uintptr
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x4a2c00
cmp ecx, edx
jb 0x4a2bf9
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
sub ebp, edx
sub ecx, edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x68], ebp
mov esi, dword [0x5efab0]
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add ebx, edx
test esi, esi
je 0x4a2b86
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [eax + 0x60]
mov dword [edi + 4], ebp
mov edi, ecx
mov dword [eax + 0x60], ebx
cmp dword [eax + 0x20], 4
jl 0x4a2b96
mov ebx, 4
jmp 0x4a2b99
mov ebx, dword [eax + 0x30]
mov ebp, dword [eax + 0x6c]
shl ebp, 1
lea ecx, [ebp + 1]
imul ecx, ebx
cmp ecx, edi
ja 0x4a2bf2
mov dword [eax + 0x64], ecx
mov byte [esp + 0x1b], 1
call sym.debug_gosym._LineTable_.parsePclnTab.func1
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
mov byte [esp + 0x1b], 1
call sym.debug_gosym._LineTable_.parsePclnTab.func1
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
mov edx, edi
call sym.runtime.panicSliceAcap
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebp
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebp
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceBU
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, 8
call sym.runtime.panicSliceBU
mov edx, edi
call sym.runtime.panicSliceAcap
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicSliceBU
mov eax, edx
call sym.runtime.panicExtendSliceBU
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceBU
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceBU
mov eax, 8
call sym.runtime.panicSliceBU
call sym.runtime.panicSliceAcapU
mov eax, edx
call sym.runtime.panicSliceBU
call sym.runtime.panicSliceAcap
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, edx
call sym.runtime.panicSliceBU
mov eax, 8
call sym.runtime.panicSliceB
mov eax, 7
mov ecx, edx
call sym.runtime.panicIndex
mov eax, 6
mov ecx, edx
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
add esp, 0x34
ret
call sym.runtime.morestack_noctxt
jmp sym.debug_gosym._LineTable_.parsePclnTab