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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x516312
sub esp, 0xcc
mov ecx, dword [esp + 0xd0]
movzx ebx, byte [ecx + 0x1e]
test bl, bl
je 0x515574
nop
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov eax, dword [edx]
lea ebx, [0x5fab84]
mov dword [esp], ebx
mov dword [esp + 4], 0x25
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0xd0]
mov byte [eax + 0x1e], 0
mov ecx, eax
mov ebx, dword [esp + 0xd4]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x515596
lea esi, [0x5d78a0]
cmp dword [ebp], esi
jne 0x515592
mov ebp, dword [ebp + 4]
jmp 0x51559e
xor ebp, ebp
jmp 0x51559e
lea esi, [0x5d78a0]
xor ebp, ebp
mov ebp, dword [ebp + 0x14]
test ebp, ebp
je 0x515674
mov eax, dword [ebp + 4]
test eax, eax
je 0x515674
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 4]
mov edx, dword [edx]
mov edx, dword [edx + 0x24]
lea edi, [esp + 0x80]
xor eax, eax
call fcn.00468278
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x80], ecx
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ebx
mov esi, dword [esp + 0x64]
add edx, esi
mov dword [esp + 0x8c], edx
mov esi, dword [0x75a93c]
test esi, esi
jne 0x51565d
mov dword [esp + 0x70], ebp
nop
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov eax, dword [edx]
lea ebx, [0x5fef13]
mov dword [esp], ebx
mov dword [esp + 4], 0x37
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call eax
xor eax, eax
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x70]
mov dword [ebp + 0x60], 0
mov dword [ebp + 0x64], 0
mov edx, dword [ebp + 4]
xor ebp, ebp
xor esi, esi
jmp 0x515692
add esp, 0xcc
ret
mov edi, dword [esp + 0x70]
mov edx, dword [edi + 4]
xor eax, eax
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
test edx, edx
je 0x515849
mov dword [esp + 0x70], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], esi
mov dword [edx + 0x60], esi
mov dword [edx + 0x64], ebp
lea eax, [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.cmd_internal_obj_loong64._ctxt0_.oplook
mov eax, dword [esp + 8]
movsx eax, byte [eax + 8]
test eax, eax
jne 0x515824
mov eax, dword [esp + 0x70]
movzx ecx, word [eax + 0x74]
cmp cx, 7
jg 0x5156eb
cmp cx, 5
je 0x5156fb
cmp cx, 7
je 0x5156fb
jmp 0x515715
cmp cx, 8
je 0x5157a5
cmp cx, 9
jne 0x515715
mov eax, dword [esp + 0xd4]
lea ebx, [0x5d78a0]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x51567b
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
lea ecx, [0x5c6b80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x5de540]
mov dword [eax], ecx
mov edx, dword [0x7a14d8]
test edx, edx
jne 0x51574a
mov ebx, dword [esp + 0x70]
jmp 0x515755
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x70]
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x7c]
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov ecx, dword [edx]
lea ebp, [0x5f55af]
mov dword [esp], ebp
mov dword [esp + 4], 0x19
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call ecx
mov eax, dword [esp + 0xd4]
lea ebx, [0x5d78a0]
xor edx, edx
jmp 0x515833
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0x18]
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x1c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call sym.cmd_internal_obj_loong64.pcAlignPadLength
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x34]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x5157fb
lea ebx, [0x5d78a0]
cmp dword [ecx], ebx
jne 0x5157f7
mov ebp, dword [ecx + 4]
jmp 0x515803
xor ebp, ebp
jmp 0x515803
lea ebx, [0x5d78a0]
xor ebp, ebp
mov esi, dword [esp + 0x48]
cmp dword [ebp + 8], esi
jge 0x515833
test ecx, ecx
je 0x51581d
cmp dword [ecx], ebx
jne 0x515819
mov ecx, dword [ecx + 4]
jmp 0x51581f
xor ecx, ecx
jmp 0x51581f
xor ecx, ecx
mov dword [ecx + 8], esi
jmp 0x515833
lea ebx, [0x5d78a0]
mov edx, eax
mov eax, dword [esp + 0xd4]
mov ebp, edx
sar ebp, 0x1f
mov esi, dword [esp + 0x1c]
add esi, edx
mov ecx, dword [esp + 0x20]
adc ebp, ecx
jmp 0x51567b
mov edx, dword [esp + 0x88]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ebp
mov edx, dword [esp + 0x88]
mov edx, dword [edx + 0x34]
test edx, edx
je 0x515877
lea ebx, [0x5d78a0]
cmp dword [edx], ebx
jne 0x515873
mov edx, dword [edx + 4]
jmp 0x51587f
xor edx, edx
jmp 0x51587f
lea ebx, [0x5d78a0]
xor edx, edx
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 4]
jmp 0x51588a
mov edx, dword [edx + 4]
test edx, edx
je 0x515907
cmp byte [edx + 0x3a], 1
jne 0x5158b5
mov edi, dword [edx + 0x4c]
test edi, edi
je 0x5158b5
lea ecx, [0x5de540]
cmp edi, ecx
jne 0x5162fb
mov edi, dword [edx + 0x50]
mov ecx, dword [esp + 0xd0]
jmp 0x5158b7
xor edi, edi
test edi, edi
je 0x515887
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x64]
mov ebx, dword [edx + 0x64]
cmp dword [edx + 0x60], ecx
seta cl
cmp ebx, eax
sete al
setg bl
and ecx, eax
or ecx, ebx
test cl, cl
je 0x5158f6
movzx eax, word [edi + 0x7a]
or eax, 2
mov word [edi + 0x7a], ax
xor eax, eax
mov ecx, dword [esp + 0xd0]
lea ebx, [0x5d78a0]
jmp 0x515887
xor eax, eax
mov ecx, dword [esp + 0xd0]
lea ebx, [0x5d78a0]
jmp 0x515887
mov edx, 1
jmp 0x515923
mov edx, dword [esp + 0x88]
mov dword [edx + 0x10], edi
mov ebp, dword [esp + 0x20]
mov dword [edx + 0x14], ebp
mov edx, esi
mov esi, edi
test edx, edx
je 0x51595b
mov edx, dword [esp + 0x88]
mov edx, dword [edx + 0x34]
test edx, edx
je 0x515942
cmp dword [edx], ebx
jne 0x51593e
mov edx, dword [edx + 4]
jmp 0x515944
xor edx, edx
jmp 0x515944
xor edx, edx
mov edx, dword [edx + 0x14]
mov ebp, dword [edx + 4]
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x20], eax
xor eax, eax
jmp 0x515df7
mov ecx, dword [esp + 0x88]
sub eax, esi
and eax, 3
add esi, eax
mov dword [ecx + 0x10], esi
adc ebp, 0
mov dword [ecx + 0x14], ebp
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.cmd_internal_obj._LSym_.Grow
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xa0], ecx
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
lea edi, [esp + 0x24]
mov ebx, eax
xor eax, eax
call fcn.0046827b
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x5159d4
lea ecx, [0x5d78a0]
cmp dword [eax], ecx
jne 0x5159d0
mov eax, dword [eax + 4]
jmp 0x5159dc
xor eax, eax
jmp 0x5159dc
lea ecx, [0x5d78a0]
xor eax, eax
mov ebp, dword [eax + 0x14]
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0xa0]
jmp 0x515a00
mov esi, dword [esp + 0x6c]
mov ebp, dword [esi + 4]
mov eax, ecx
lea ecx, [0x5d78a0]
mov esi, ebx
mov ebx, edx
mov edx, esi
test ebp, ebp
je 0x515b93
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x64]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
lea eax, [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ebp
call sym.cmd_internal_obj_loong64._ctxt0_.oplook
mov eax, dword [esp + 8]
mov dword [esp + 0x74], eax
movzx ecx, byte [eax + 8]
movsx edx, cl
cmp edx, 0x14
jle 0x515af6
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x5c91c0]
mov dword [esp + 0xb4], eax
sar cl, 2
movzx ecx, cl
lea edx, [0x7270e0]
lea ecx, [edx + ecx*8]
mov dword [esp + 0xb8], ecx
lea ecx, [0x5de540]
mov dword [esp + 0xbc], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xc0], ebx
lea ebp, [0x5ff108]
mov dword [esp], ebp
mov dword [esp + 4], 0x38
lea esi, [esp + 0xb4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.log.Fatalf
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
cmp word [ecx + 0x74], 8
jne 0x515b4a
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x80]
mov ebp, dword [ecx + 0x60]
mov esi, dword [ecx + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call sym.cmd_internal_obj_loong64.pcAlignPadLength
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
xor ecx, ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xa0]
jmp 0x515d3a
lea edx, [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea edx, [esp + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 5
call sym.cmd_internal_obj_loong64._ctxt0_.asmout
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
jmp 0x515c7e
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x515bae
cmp dword [eax], ecx
jne 0x515baa
mov eax, dword [eax + 4]
jmp 0x515bb0
xor eax, eax
jmp 0x515bb0
xor eax, eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [sym.cmd_internal_obj_loong64._ctxt0_.isUnsafePoint_fm]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
lea ecx, [sym.cmd_internal_obj_loong64._ctxt0_.isRestartable_fm]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0xa8], ecx
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea eax, [esp + 0xac]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x10], eax
call sym.cmd_internal_obj.MarkUnsafePoints
add esp, 0xcc
ret
mov esi, dword [esp + 0x5c]
lea edx, [esi - 4]
mov esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov edi, dword [esp + 0x38]
lea ebp, [edi + 1]
mov edi, dword [esp + 0xc8]
add esi, edi
lea ebx, [ecx - 4]
mov eax, dword [esp + 0x74]
mov ecx, esi
movzx esi, byte [eax + 8]
mov edi, esi
xchg esi, eax
sar al, 7
xchg esi, eax
xchg esi, eax
shr al, 6
xchg esi, eax
add esi, edi
xchg esi, eax
sar al, 2
xchg esi, eax
xchg esi, eax
movsx eax, al
xchg esi, eax
cmp ebp, esi
jge 0x5159eb
cmp ebp, 5
jae 0x515cff
mov dword [esp + 0x60], ebx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov esi, dword [esi + 0x14]
mov edi, dword [esp + ebp*4 + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call esi
mov ecx, dword [esp + 0x60]
cmp ecx, 4
jae 0x515c50
mov eax, 4
call sym.runtime.panicSliceB
mov eax, ebp
mov ecx, 5
call sym.runtime.panicIndex
mov esi, dword [esp + 0x58]
lea ebx, [esi - 4]
mov esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov edi, dword [esp + 0x38]
inc edi
mov eax, edi
mov edi, dword [esp + 0xc4]
lea ebp, [edi + esi]
lea edx, [ecx - 4]
mov ecx, eax
mov eax, dword [esp + 0x18]
mov esi, eax
sar eax, 0x1f
shr eax, 0x1e
add eax, esi
sar eax, 2
cmp ecx, eax
jge 0x515dc0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0xc4], ebp
lea eax, [esp + 0x80]
mov dword [esp], eax
mov word [esp + 4], 0x3853
call sym.cmd_internal_obj_loong64._ctxt0_.oprrr
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call ecx
mov ecx, dword [esp + 0x54]
cmp ecx, 4
jae 0x515d0b
jmp 0x515dcd
mov ecx, ebp
mov eax, edx
mov edx, ebx
mov ebx, eax
jmp 0x5159eb
mov eax, 4
call sym.runtime.panicSliceB
mov edx, dword [eax + 4]
xor eax, eax
mov esi, ebp
mov edi, ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0xd0]
lea ebx, [0x5d78a0]
mov ebp, edx
mov edx, dword [esp + 0x70]
test ebp, ebp
je 0x51590e
mov dword [esp + 0x70], ebp
mov dword [esp + 0x50], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x44], esi
mov dword [ebp + 0x60], edi
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x64], eax
lea ecx, [esp + 0x80]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call sym.cmd_internal_obj_loong64._ctxt0_.oplook
mov eax, dword [esp + 0x70]
movzx ecx, word [eax + 0x7a]
mov edx, dword [esp + 8]
mov dword [esp + 0x74], edx
test cx, 2
je 0x515f69
mov ecx, dword [esp + 0x50]
test ecx, 0xf
je 0x515f63
mov ebx, dword [esp + 0x68]
cmp word [ebx + 0x74], 8
jne 0x515e93
mov ebp, dword [ebx + 0x18]
cmp dword [ebx + 0x14], 0x10
xchg esi, ebx
setae bl
xchg esi, ebx
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x515e93
mov ebx, dword [esp + 0x20]
jmp 0x515f71
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
mov eax, dword [0x7a14d8]
mov ecx, dword [esp]
test eax, eax
jne 0x515eb1
mov eax, dword [esp + 0x68]
jmp 0x515ec2
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
test byte [ecx], al
mov eax, dword [0x7a14d8]
test eax, eax
jne 0x515ed7
mov eax, dword [esp + 0x70]
jmp 0x515ee8
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0x60], edx
mov ebx, dword [esp + 0x20]
mov dword [ecx + 0x64], ebx
mov word [ecx + 0x74], 8
mov byte [ecx + 0xe], 4
mov dword [ecx + 0x14], 0x10
mov dword [ecx + 0x18], 0
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], 0
call sym.cmd_internal_obj_loong64.pcAlignPadLength
mov edi, dword [esp + 0x14]
mov eax, edi
sar eax, 0x1f
mov ecx, dword [esp + 0x50]
add edi, ecx
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x60], edi
mov edx, dword [esp + 0x20]
adc edx, eax
mov dword [ecx + 0x64], edx
mov eax, ecx
mov ebx, edx
mov ecx, edi
mov edx, dword [esp + 0x74]
jmp 0x515f71
mov ebx, dword [esp + 0x20]
jmp 0x515f71
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
cmp byte [edx + 7], 6
jne 0x516184
movzx ebp, byte [eax + 0x3a]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jne 0x515fa8
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x515fa8
lea edi, [0x5de540]
cmp esi, edi
jne 0x5162e5
mov esi, dword [eax + 0x50]
jmp 0x515fb0
lea edi, [0x5de540]
xor esi, esi
test esi, esi
je 0x51617e
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jne 0x515fd3
mov ebp, dword [eax + 0x4c]
test ebp, ebp
je 0x515fd3
cmp ebp, edi
jne 0x5162cf
mov ebp, dword [eax + 0x50]
jmp 0x515fd5
xor ebp, ebp
mov esi, dword [ebp + 0x60]
mov ebp, dword [ebp + 0x64]
sub esi, ecx
sbb ebp, ebx
cmp ebp, 0xffffffff
xchg edi, ebx
setl bl
xchg edi, ebx
sete bl
cmp esi, 0xfffe000a
setb cl
and ecx, ebx
or ecx, edi
test ebp, ebp
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
cmp esi, 0x1fff6
xchg esi, ebx
setae bl
xchg esi, ebx
and ebx, esi
or ebp, ebx
or ecx, ebp
test cl, cl
jne 0x516025
mov ecx, dword [esp + 0x44]
jmp 0x51616c
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x51605c
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 word [eax + 0x74], 6
mov ecx, dword [ebx + 0x6c]
mov ebp, dword [ebx + 0x68]
mov dword [eax + 0x68], ebp
mov dword [eax + 0x6c], ecx
mov byte [eax + 0x3a], 1
cmp byte [ebx + 0x3a], 1
jne 0x516098
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
je 0x516098
lea ebp, [0x5de540]
cmp ecx, ebp
jne 0x5162b9
mov ecx, dword [ebx + 0x50]
jmp 0x5160a0
lea ebp, [0x5de540]
xor ecx, ecx
mov dword [eax + 0x4c], ebp
mov esi, dword [0x7a14d8]
test esi, esi
je 0x5160ba
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov esi, dword [eax + 0x50]
mov dword [edi + 4], esi
mov dword [eax + 0x50], ecx
nop
cmp byte [ebx + 0x3a], 1
jne 0x5162a1
mov dword [ebx + 0x4c], ebp
mov ecx, dword [0x7a14d8]
test ecx, ecx
je 0x5160e2
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebx + 0x50]
mov dword [edi + 4], ecx
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x51611c
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 word [eax + 0x74], 6
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov byte [eax + 0x3a], 1
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
lea edx, [0x5de540]
mov dword [eax + 0x4c], edx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x51615e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [eax + 0x50]
mov dword [edi + 4], ebp
mov dword [eax + 0x50], ecx
mov eax, ebx
mov edx, dword [esp + 0x74]
mov ecx, 1
mov ebx, dword [esp + 0x20]
lea edi, [0x5de540]
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
jmp 0x51618e
mov ebp, dword [esp + 0x44]
jmp 0x51618e
lea edi, [0x5de540]
mov ebp, dword [esp + 0x44]
movsx edx, byte [edx + 8]
test edx, edx
jne 0x516293
mov dword [esp + 0x4c], ebp
movzx edx, word [eax + 0x74]
cmp dx, 7
jg 0x5161be
cmp dx, 5
je 0x515dd7
cmp dx, 7
je 0x515dd7
jmp 0x5161d2
cmp dx, 8
je 0x516252
cmp dx, 9
je 0x515dd7
mov eax, dword [esp + 0x80]
mov dword [esp + 0x78], eax
lea ecx, [0x5c6b80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x5de540]
mov dword [eax], ecx
mov edx, dword [0x7a14d8]
test edx, edx
jne 0x516207
mov ebx, dword [esp + 0x70]
jmp 0x516212
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x70]
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x78]
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov ecx, dword [edx]
lea ebp, [0x5f55af]
mov dword [esp], ebp
mov dword [esp + 4], 0x19
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call ecx
xor eax, eax
jmp 0x51627b
mov edx, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
mov esi, dword [esp + 0xd0]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call sym.cmd_internal_obj_loong64.pcAlignPadLength
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x4c]
lea edi, [0x5de540]
mov edx, eax
mov eax, dword [esp + 0x70]
mov esi, edx
sar edx, 0x1f
add ecx, esi
adc ebx, edx
jmp 0x515dd7
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63bba8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], ebp
mov dword [esp + 4], edi
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], esi
mov dword [esp + 4], edi
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], edi
mov dword [esp + 4], ecx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_loong64.span0