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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x5207f1
sub esp, 0xa8
lea edi, [esp + 0x50]
xor eax, eax
call fcn.00468278
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x58], ebx
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x51f2b5
lea esi, [0x5d78a0]
cmp dword [ebp], esi
jne 0x51f2b1
mov ebp, dword [ebp + 4]
jmp 0x51f2bd
xor ebp, ebp
jmp 0x51f2bd
lea esi, [0x5d78a0]
xor ebp, ebp
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0x48], ebp
mov edi, dword [ebp + 0x44]
mov dword [esp + 0x1c], edi
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x18], edx
test edi, edi
jge 0x51f376
lea eax, [0x5c6b80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c9340]
mov edx, dword [esp + 0x8c]
mov dword [edx], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x51f331
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edx + 4], eax
mov eax, dword [esp + 0xac]
inc dword [eax + 0x90]
mov ecx, dword [eax + 0x80]
mov ebx, dword [ecx]
lea ebp, [0x5fd5da]
mov dword [esp], ebp
mov dword [esp + 4], 0x2e
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov edx, ecx
call ebx
mov ebp, dword [esp + 0x48]
mov eax, dword [ebp + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 0x40
je 0x51f458
mov ecx, dword [esp + 0x1c]
test ecx, ecx
setne bl
mov ebp, dword [esp + 0x18]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
or ebx, esi
test bl, bl
je 0x51f45c
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
lea ecx, [0x5c6b80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c9340]
mov edx, dword [esp + 0x88]
mov dword [edx], ecx
mov ecx, dword [0x7a14d8]
test ecx, ecx
je 0x51f414
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 4]
mov dword [edi + 4], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
inc dword [eax + 0x90]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax]
lea ebx, [0x5fe9fc]
mov dword [esp], ebx
mov dword [esp + 4], 0x35
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov edx, eax
call ecx
mov ebp, dword [esp + 0x18]
jmp 0x51f45c
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x51f47a
lea ebx, [0x5d78a0]
cmp dword [ecx], ebx
jne 0x51f476
mov ecx, dword [ecx + 4]
jmp 0x51f482
xor ecx, ecx
jmp 0x51f482
lea ebx, [0x5d78a0]
xor ecx, ecx
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 0x4c]
mov edx, ebp
lea ebp, [0x5c92c0]
cmp eax, ebp
jne 0x5207da
mov ebp, dword [esi + 0x50]
mov ebp, dword [ebp]
mov dword [ecx], ebp
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x51f4b9
cmp dword [ecx], ebx
jne 0x51f4b5
mov ecx, dword [ecx + 4]
jmp 0x51f4bb
xor ecx, ecx
jmp 0x51f4bb
xor ecx, ecx
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x51f4d6
cmp dword [ecx], ebx
jne 0x51f4d2
mov ecx, dword [ecx + 4]
jmp 0x51f4d8
xor ecx, ecx
jmp 0x51f4d8
xor ecx, ecx
mov ecx, dword [ecx + 0x14]
jmp 0x51f4e0
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x51f68c
movzx ebp, word [ecx + 0x74]
cmp bp, 0x381d
jg 0x51f590
cmp bp, 0xa
jg 0x51f551
lea esi, [ebp - 1]
cmp si, 2
ja 0x51f531
mov ebp, dword [esp + 0x58]
mov ebp, dword [ebp + 0x34]
test ebp, ebp
je 0x51f51f
cmp dword [ebp], ebx
jne 0x51f51b
mov ebp, dword [ebp + 4]
jmp 0x51f521
xor ebp, ebp
jmp 0x51f521
xor ebp, ebp
mov ebp, dword [ebp + 0x14]
movzx esi, word [ebp + 0x7a]
and esi, 0xfffffffd
mov word [ebp + 0x7a], si
jmp 0x51f5a7
cmp bp, 6
je 0x51f5a7
cmp bp, 0xa
jne 0x51f4dd
mov ebp, dword [ecx + 4]
test ebp, ebp
je 0x51f4dd
movzx esi, word [ebp + 0x7a]
or esi, 1
mov word [ebp + 0x7a], si
jmp 0x51f4dd
cmp bp, 0xc
jne 0x51f57d
movzx ebp, word [ecx + 0x7a]
or ebp, 7
mov word [ecx + 0x7a], bp
mov ebp, dword [ecx + 4]
test ebp, ebp
je 0x51f4dd
movzx esi, word [ebp + 0x7a]
or esi, 1
mov word [ebp + 0x7a], si
jmp 0x51f4dd
cmp bp, 0x3816
je 0x51f5a7
cmp bp, 0x381a
jge 0x51f5a7
jmp 0x51f4dd
cmp bp, 0x3854
jg 0x51f61f
lea esi, [ebp - 0x382f]
cmp si, 1
ja 0x51f5e7
movzx ebp, word [ecx + 0x7a]
or ebp, 8
mov word [ecx + 0x7a], bp
cmp byte [ecx + 0x3a], 1
jne 0x51f5d2
mov ebp, dword [ecx + 0x4c]
test ebp, ebp
je 0x51f5d2
lea esi, [0x5de540]
cmp ebp, esi
jne 0x5207c4
mov ebp, dword [ecx + 0x50]
jmp 0x51f5da
lea esi, [0x5de540]
xor ebp, ebp
test ebp, ebp
jne 0x52076c
jmp 0x52074e
cmp bp, 0x3843
je 0x51f648
cmp bp, 0x3854
jne 0x51f4dd
cmp byte [ecx + 0x3a], 7
jne 0x51f4dd
cmp word [ecx + 0x34], 0x4400
jne 0x51f4dd
movzx ebp, word [ecx + 0x7a]
or ebp, 5
mov word [ecx + 0x7a], bp
jmp 0x51f4dd
cmp bp, 0x3869
je 0x51f62d
cmp bp, 0x386c
jne 0x51f63d
movzx ebp, word [ecx + 0x7a]
or ebp, 5
mov word [ecx + 0x7a], bp
jmp 0x51f4dd
cmp bp, 0x3870
jne 0x51f4dd
cmp byte [ecx + 0x3a], 7
jne 0x51f666
cmp word [ecx + 0x34], 0x4440
jl 0x51f666
movzx ebp, word [ecx + 0x7a]
or ebp, 5
mov word [ecx + 0x7a], bp
jmp 0x51f4dd
cmp byte [ecx + 0xe], 7
jne 0x51f4dd
cmp word [ecx + 8], 0x4440
jl 0x51f4dd
movzx ebp, word [ecx + 0x7a]
or ebp, 5
mov word [ecx + 0x7a], bp
jmp 0x51f4dd
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x51f6a4
cmp dword [ecx], ebx
jne 0x51f6a0
mov ecx, dword [ecx + 4]
jmp 0x51f6a6
xor ecx, ecx
jmp 0x51f6a6
xor ecx, ecx
mov ecx, dword [ecx + 0x14]
xor eax, eax
xor ebp, ebp
jmp 0x51f6b8
mov ecx, dword [ecx + 4]
lea ebx, [0x5d78a0]
test ecx, ecx
je 0x520717
movzx esi, word [ecx + 0x74]
cmp si, 0xc
jg 0x5204b0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x20], eax
cmp si, 0xa
jne 0x51fab9
cmp byte [ecx + 0xe], 4
je 0x51fa30
mov esi, dword [ecx + 0x48]
mov byte [ecx + 0x3b], 0
mov edi, dword [0x7a14d8]
test edi, edi
je 0x51f715
mov edi, dword [ecx + 0x48]
mov dword [esp + 0x38], edi
call sym.runtime.gcWriteBarrier1
mov ebp, dword [esp + 0x38]
mov dword [edi], ebp
mov ebp, dword [esp + 0x40]
mov dword [ecx + 0x48], 0
mov edi, dword [esp + 0x58]
mov edi, dword [edi + 0x34]
test edi, edi
je 0x51f734
cmp dword [edi], ebx
jne 0x51f730
mov edi, dword [edi + 4]
jmp 0x51f736
xor edi, edi
jmp 0x51f736
xor edi, edi
mov dword [esp + 0x3c], esi
mov edi, dword [edi + 0x14]
movzx edi, word [edi + 0x7a]
test di, 2
je 0x51f8d7
test eax, eax
jne 0x51f808
mov word [ecx + 0x74], 6
mov edi, dword [0x7a14d8]
lea edx, [ecx + 8]
test edi, edi
je 0x51f79d
mov dword [esp + 0x84], edx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.runtime.wbZero
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
lea ebx, [0x5d78a0]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, edx
mov edx, eax
xor eax, eax
call fcn.00468278
test esi, esi
je 0x51f7d4
mov ecx, dword [esp + 0x44]
mov word [ecx + 0x3a], 0x101
mov edi, dword [0x7a14d8]
test edi, edi
je 0x51f7cf
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov eax, dword [ecx + 0x48]
mov dword [edi + 4], eax
xor eax, eax
mov dword [ecx + 0x48], esi
jmp 0x51f7f0
mov ecx, dword [esp + 0x44]
mov byte [ecx + 0x3a], 3
mov word [ecx + 0x34], 0x4401
mov dword [ecx + 0x40], 0
mov dword [ecx + 0x44], 0
movzx esi, word [ecx + 0x7a]
or esi, 8
mov word [ecx + 0x7a], si
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x5204e8
mov word [ecx + 0x74], 0x387f
mov byte [ecx + 0xe], 4
mov dword [ecx + 0x14], eax
mov ebx, eax
sar eax, 0x1f
mov dword [ecx + 0x18], eax
mov byte [ecx + 0x3a], 7
mov word [ecx + 0x34], 0x4403
neg ebx
mov dword [ecx + 0x70], ebx
mov edx, dword [esp + 0x54]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
mov word [eax + 0x74], 6
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x68]
mov ebp, dword [ecx + 0x6c]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ebp
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x51f877
mov word [eax + 0x3a], 0x101
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x51f872
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [eax + 0x48]
mov dword [edi + 4], ebp
mov dword [eax + 0x48], ebx
jmp 0x51f88f
mov byte [eax + 0x3a], 3
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov word [eax + 0x34], 0x4401
movzx ebx, word [eax + 0x7a]
or ebx, 8
mov word [eax + 0x7a], bx
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x70], ebx
mov ebp, dword [0x7a14d8]
mov esi, dword [ecx + 4]
test ebp, ebp
je 0x51f8c4
call sym.runtime.gcWriteBarrier4
mov dword [edi], esi
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [edi + 8], eax
mov ebp, dword [ecx + 4]
mov dword [edi + 0xc], ebp
mov dword [eax + 4], esi
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x18]
mov ebp, eax
mov eax, ebx
jmp 0x5204e8
mov word [ecx + 0x74], 0x3870
mov byte [ecx + 0xe], 3
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov word [ecx + 8], 0x4403
mov byte [ecx + 0x3a], 7
mov word [ecx + 0x34], 0x4401
test eax, eax
je 0x51f977
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
mov word [eax + 0x74], 0x387f
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x6c]
mov ebp, dword [ecx + 0x68]
mov dword [eax + 0x68], ebp
mov dword [eax + 0x6c], ebx
mov byte [eax + 0xe], 4
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x14], ebx
mov ebp, ebx
sar ebx, 0x1f
mov dword [eax + 0x18], ebx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x4403
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [eax + 0x70], ebp
mov ebp, dword [0x7a14d8]
mov esi, dword [ecx + 4]
test ebp, ebp
je 0x51f96f
call sym.runtime.gcWriteBarrier4
mov dword [edi], esi
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [edi + 8], eax
mov ebp, dword [ecx + 4]
mov dword [edi + 0xc], ebp
mov dword [eax + 4], esi
mov dword [ecx + 4], eax
mov ebp, eax
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
mov word [eax + 0x74], 6
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x68]
mov ebp, dword [ecx + 0x6c]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ebp
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x51f9c9
mov word [eax + 0x3a], 0x101
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x51f9c4
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [eax + 0x48]
mov dword [edi + 4], ebp
mov dword [eax + 0x48], ebx
jmp 0x51f9e1
mov byte [eax + 0x3a], 3
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov word [eax + 0x34], 0x4401
movzx ebx, word [eax + 0x7a]
or ebx, 8
mov word [eax + 0x7a], bx
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x70], ebx
mov ebp, dword [0x7a14d8]
mov esi, dword [esp + 0x80]
mov edx, dword [esi + 4]
test ebp, ebp
je 0x51fa1d
call sym.runtime.gcWriteBarrier4
mov dword [edi], edx
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [edi + 8], eax
mov ebp, dword [esi + 4]
mov dword [edi + 0xc], ebp
mov dword [eax + 4], edx
mov dword [esi + 4], eax
mov edx, dword [esp + 0x18]
mov eax, ebx
mov ebp, esi
jmp 0x5204e8
lea eax, [0x5c6b80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x5de540]
mov dword [eax], ecx
mov edx, dword [0x7a14d8]
test edx, edx
jne 0x51fa5a
mov ebx, dword [esp + 0x44]
jmp 0x51fa65
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x44]
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0xac]
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov ebp, dword [edx]
lea esi, [0x5f9cf5]
mov dword [esp], esi
mov dword [esp + 4], 0x23
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call ebp
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
jmp 0x5204e8
cmp si, 0xb
je 0x52045b
cmp si, 0xc
jne 0x5204e8
movzx eax, word [ecx + 0x7a]
test ax, 2
je 0x51fafc
test edx, edx
jne 0x51fafc
mov eax, dword [ecx + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0x40
mov byte [esp + 8], 1
call sym.cmd_internal_obj._Attribute_.Set
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 0x40
je 0x51fb1f
mov ecx, dword [esp + 0x18]
mov edx, ecx
jmp 0x51fb32
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x18]
lea edx, [ecx + eax]
test edx, 4
je 0x51fb3d
add edx, 4
mov dword [esp + 0x34], edx
test edx, edx
jne 0x51fca2
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x51fb67
lea ebx, [0x5d78a0]
cmp dword [eax], ebx
jne 0x51fb63
mov ebp, dword [eax + 4]
jmp 0x51fb6f
xor ebp, ebp
jmp 0x51fb6f
lea ebx, [0x5d78a0]
xor ebp, ebp
mov ebp, dword [ebp + 0x14]
movzx ebp, word [ebp + 0x7a]
test bp, 2
jne 0x51fca8
test eax, eax
je 0x51fb92
cmp dword [eax], ebx
jne 0x51fb8e
mov eax, dword [eax + 4]
jmp 0x51fb94
xor eax, eax
jmp 0x51fb94
xor eax, eax
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 4
je 0x51fc85
mov eax, dword [esp + 0xac]
movzx ecx, byte [eax + 0xc]
test cl, cl
je 0x51fc4f
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0x58]
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, [0x5c9180]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
lea edx, [0x5f45c1]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
lea ebx, [esp + 0xa0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call sym.cmd_internal_obj._Link_.Logf
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x51fc6d
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x51fc69
mov ecx, dword [ecx + 4]
jmp 0x51fc75
xor ecx, ecx
jmp 0x51fc75
lea edx, [0x5d78a0]
xor ecx, ecx
mov ecx, dword [ecx + 0x14]
movzx ebx, word [ecx + 0x7a]
or ebx, 2
mov word [ecx + 0x7a], bx
jmp 0x51fc92
mov eax, dword [esp + 0xac]
lea edx, [0x5d78a0]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
lea ebx, [0x5d78a0]
jmp 0x51fca8
lea ebx, [0x5d78a0]
mov eax, edx
sar edx, 0x1f
mov ebp, dword [esp + 0xac]
mov esi, dword [ebp + 4]
mov esi, dword [esi]
mov edi, dword [esi + 0x24]
mov esi, dword [esi + 0x28]
sub eax, edi
mov edi, dword [esp + 0x44]
mov dword [edi + 0x40], eax
mov eax, edx
sbb edx, esi
mov dword [edi + 0x44], edx
mov edx, dword [esp + 0x58]
mov esi, dword [edx + 0x34]
test esi, esi
je 0x51fce7
cmp dword [esi], ebx
jne 0x51fce3
mov esi, dword [esi + 4]
jmp 0x51fce9
xor esi, esi
jmp 0x51fce9
xor esi, esi
mov dword [esp + 0x30], eax
mov esi, dword [esi + 0x14]
movzx esi, word [esi + 0x7a]
test si, 2
je 0x51fd4b
lea eax, [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 8
mov byte [esp + 8], 1
call sym.cmd_internal_obj._Attribute_.Set
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
test byte [ecx], al
add ecx, 0xc
mov dword [esp], ecx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 0x40
je 0x51fd47
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
jmp 0x5204e8
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 4
je 0x51fd72
mov eax, dword [esp + 0x34]
test eax, eax
mov ecx, dword [esp + 0x44]
jmp 0x51fd98
lea eax, [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call sym.cmd_internal_obj_loong64._ctxt0_.stacksplit
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x80], ecx
jne 0x51fda8
mov edx, ecx
jmp 0x51ff9d
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.cmd_internal_obj._Link_.StartUnsafePoint
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x51fe00
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [edx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x7c], eax
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x34]
neg ecx
mov dword [esp + 0x2c], ecx
mov ebp, ecx
sar ecx, 0x1f
mov dword [esp + 0x28], ecx
mov esi, dword [edx + 0x6c]
mov edi, dword [edx + 0x68]
mov dword [eax + 0x68], edi
mov dword [eax + 0x6c], esi
mov word [eax + 0x74], 0x3870
mov esi, dword [esp + 0x80]
mov edi, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov dword [eax + 0x68], edi
mov dword [eax + 0x6c], edx
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x4401
mov byte [eax + 0x3a], 3
mov dword [eax + 0x40], ebp
mov dword [eax + 0x44], ecx
mov word [eax + 0x34], 0x4403
mov edx, dword [esp + 0xb4]
mov edi, dword [edx]
nop
call edi
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x51fe94
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x387f
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x6c]
mov ebx, dword [ecx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov byte [eax + 0xe], 4
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 0x18], edx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x4403
mov edx, dword [esp + 0x34]
mov dword [eax + 0x70], edx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], 0xffffffff
call sym.cmd_internal_obj._Link_.EndUnsafePoint
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x51ff4a
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [edx + 4]
mov dword [edi + 0xc], ecx
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ebx, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ebx
mov word [eax + 0x74], 0x3870
mov edx, dword [esp + 0x80]
mov ebx, dword [edx + 0x6c]
mov ebp, dword [edx + 0x68]
mov dword [eax + 0x68], ebp
mov dword [eax + 0x6c], ebx
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x4401
mov byte [eax + 0x3a], 3
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov word [eax + 0x34], 0x4403
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx + 0x34]
test ebx, ebx
je 0x51ffbf
lea ebp, [0x5d78a0]
cmp dword [ebx], ebp
jne 0x51ffbb
mov ebx, dword [ebx + 4]
jmp 0x51ffc1
xor ebx, ebx
jmp 0x51ffc1
xor ebx, ebx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
test byte [eax], al
add eax, 0xc
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 0x10
je 0x52043b
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x520001
lea ebx, [0x5d78a0]
cmp dword [ecx], ebx
jne 0x51fffd
mov ecx, dword [ecx + 4]
jmp 0x520009
xor ecx, ecx
jmp 0x520009
lea ebx, [0x5d78a0]
xor ecx, ecx
mov ecx, dword [ecx + 0x14]
movzx ecx, word [ecx + 0x7a]
test cx, 2
je 0x520026
lea ebx, [0x5de540]
mov eax, dword [esp + 0x7c]
jmp 0x520445
mov edx, dword [esp + 0xb4]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x52005e
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x7c], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x3870
mov byte [eax + 0xe], 3
mov word [eax + 8], 0x4416
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
mov ebx, ecx
shl ecx, 2
mov dword [eax + 0x14], ecx
mov ecx, ebx
shr ebx, 0x1e
sar ecx, 0x1f
shl ecx, 2
or ecx, ebx
mov dword [eax + 0x18], ecx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x4414
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5200ea
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x7c], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x3816
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x4414
mov byte [eax + 0x3a], 1
movzx ecx, word [eax + 0x7a]
or ecx, 8
mov word [eax + 0x7a], cx
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x520157
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x78], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebp, dword [ebx + 0x68]
mov dword [eax + 0x68], ebp
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x3870
mov byte [eax + 0xe], 3
mov word [eax + 8], 0x4414
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x4418
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x78]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5201cd
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x78], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x387f
mov byte [eax + 0xe], 4
mov ecx, dword [esp + 0xac]
mov ebx, dword [ecx + 4]
mov ebx, dword [ebx]
mov ebp, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x28]
mov esi, dword [esp + 0x34]
add ebp, esi
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0x30]
adc ebp, ebx
mov dword [eax + 0x18], ebp
mov word [eax + 0x76], 0x4403
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x441e
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx]
nop
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x78]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x520259
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x78], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x381d
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x4418
mov word [eax + 0x76], 0x441e
mov byte [eax + 0x3a], 1
movzx ecx, word [eax + 0x7a]
or ecx, 8
mov word [eax + 0x7a], cx
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x78]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5202cc
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x74], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebp, dword [ebx + 0x68]
mov dword [eax + 0x68], ebp
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x387f
mov byte [eax + 0xe], 4
mov ecx, dword [esp + 0xac]
mov ebp, dword [ecx + 4]
mov ebp, dword [ebp]
mov esi, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x28]
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], ebp
mov word [eax + 0x76], 0x4403
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x4418
mov edx, dword [esp + 0xb4]
mov ebp, dword [edx]
nop
call ebp
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x52034d
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x74], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x3870
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x4418
mov byte [eax + 0x3a], 3
mov word [eax + 0x34], 0x4414
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5203c3
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 7
nop
mov ecx, dword [esp + 0x7c]
cmp byte [ecx + 0x3a], 1
jne 0x520736
lea ebx, [0x5de540]
mov dword [ecx + 0x4c], ebx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x52040a
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ecx + 0x50]
mov dword [edi + 4], ebp
mov dword [ecx + 0x50], eax
nop
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x3a], 1
jne 0x52071e
mov dword [ecx + 0x4c], ebx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x520436
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ecx + 0x50]
mov dword [edi + 4], ebp
mov dword [ecx + 0x50], eax
jmp 0x520445
lea ebx, [0x5de540]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
mov ebp, eax
mov eax, dword [esp + 0x34]
jmp 0x5204e8
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 0xc]
mov dword [esp], ecx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 8
je 0x52048e
mov ecx, dword [esp + 0x44]
mov word [ecx + 0x74], 0x3870
mov byte [ecx + 0xe], 7
mov word [ecx + 8], 0x4401
jmp 0x5204a2
mov ecx, dword [esp + 0x44]
mov word [ecx + 0x74], 0x3870
mov byte [ecx + 0xe], 3
mov word [ecx + 8], 0x4403
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
jmp 0x5204e8
cmp si, 0x3810
je 0x5204ca
cmp si, 0x3813
je 0x5204ca
add esi, 0xffffc781
cmp si, 1
ja 0x5204e8
cmp byte [ecx + 0x3a], 7
jne 0x5204e8
cmp word [ecx + 0x34], 0x4403
jne 0x5204e8
cmp byte [ecx + 0xe], 4
jne 0x5204e8
mov esi, dword [ecx + 0x14]
xor ebx, ebx
sub ebx, esi
mov dword [ecx + 0x70], ebx
cmp byte [ecx + 0x3a], 7
jne 0x520705
cmp word [ecx + 0x34], 0x4403
jne 0x520705
mov ebx, dword [ecx + 0x70]
test ebx, ebx
jne 0x520705
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx + 0x34]
test ebx, ebx
je 0x520527
lea esi, [0x5d78a0]
cmp dword [ebx], esi
jne 0x520523
mov edi, dword [ebx + 4]
jmp 0x52052f
xor edi, edi
jmp 0x52052f
lea esi, [0x5d78a0]
xor edi, edi
movzx edi, byte [edi + 0xd]
xchg edi, eax
test al, 2
xchg edi, eax
jne 0x5206f9
test ebx, ebx
je 0x52054f
cmp dword [ebx], esi
jne 0x52054b
mov ebx, dword [ebx + 4]
jmp 0x520551
xor ebx, ebx
jmp 0x520551
xor ebx, ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], eax
movzx edi, byte [ebx + 0xd]
or edi, 2
xchg edi, eax
mov byte [ebx + 0xd], al
xchg edi, eax
mov ebx, dword [esp + 0xac]
movzx edi, byte [ebx + 0xc]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x52058e
movzx edi, byte [ebx + 0x96]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x51f6af
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x58]
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, [0x5c9180]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, [0x5de540]
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x80]
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0xac]
mov dword [esp], ebx
lea ebp, [0x5f2b45]
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x14
lea esi, [esp + 0x90]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call sym.cmd_internal_obj._Link_.Logf
mov eax, dword [esp + 0xac]
movzx ecx, byte [eax + 0x96]
test cl, cl
jne 0x5206d4
nop
inc dword [eax + 0x90]
mov edx, dword [eax + 0x80]
mov ecx, dword [edx]
lea ebx, [0x5fa435]
mov dword [esp], ebx
mov dword [esp + 4], 0x24
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call ecx
mov eax, dword [esp + 0xac]
mov edx, dword [eax + 0x84]
mov ecx, dword [edx]
call ecx
lea eax, [0x5ed2b7]
mov dword [esp], eax
mov dword [esp + 4], 0xb
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.log.Fatalf
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x70]
lea esi, [0x5d78a0]
jmp 0x51f6af
mov ebx, dword [esp + 0xac]
jmp 0x51f6af
mov ebx, dword [esp + 0xac]
lea esi, [0x5d78a0]
jmp 0x51f6af
add esp, 0xa8
ret
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63bba8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63bba8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov ebp, dword [ecx + 4]
test ebp, ebp
je 0x51f4dd
movzx eax, word [ebp + 0x7a]
or eax, 1
mov word [ebp + 0x7a], ax
jmp 0x51f4dd
mov dword [ecx + 0x50], ebp
cmp word [ebp + 0x74], 7
jne 0x520799
nop
cmp byte [ecx + 0x3a], 1
jne 0x5207ac
mov ebp, dword [ebp + 4]
mov dword [ecx + 0x4c], esi
mov eax, dword [0x7a14d8]
test eax, eax
je 0x520769
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov eax, dword [ecx + 0x50]
mov dword [edi + 4], eax
jmp 0x520769
movzx eax, word [ebp + 0x7a]
test ax, 2
jne 0x52074e
or eax, 1
mov word [ebp + 0x7a], ax
jmp 0x52074e
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63bba8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_loong64.preprocess