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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x557587
add esp, 0xffffff80
mov eax, dword [esp + 0x98]
test eax, eax
sete cl
mov ebx, dword [esp + 0x94]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x55752c
mov byte [esp + 0x1b], cl
mov ebp, dword [esp + 0x84]
mov esi, dword [ebp + 0x24]
test esi, esi
jne 0x55668d
mov edx, dword [esp + 0x88]
jmp 0x556d11
mov dword [esp], ebp
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._Link_.StartUnsafePoint
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x5566cc
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x5566c8
mov ecx, dword [ecx + 4]
jmp 0x5566ce
xor ecx, ecx
jmp 0x5566ce
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._FuncInfo_.SpillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x556729
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 + 0x6c], eax
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ecx, dword [edx + 0x6c]
mov ebx, dword [edx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x40f3
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea ebx, [eax + 0x34]
test ecx, ecx
je 0x5567a1
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c678]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
lea edx, [0x63c7b8]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c678]
call fcn.00468740
mov edi, ebx
lea esi, [0x63c7b8]
call fcn.00468740
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5567f1
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 + 0x68], 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], 0x400e
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea ebx, [eax + 0x34]
test ecx, ecx
je 0x55686d
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c7d8]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
lea edx, [0x63c698]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c7d8]
call fcn.00468740
mov word [eax + 0x76], 0x3c02
mov edi, ebx
lea esi, [0x63c698]
call fcn.00468740
mov dword [eax + 0x70], 0x10
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x68]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5568ca
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 + 0x64], 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], 0x40f3
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea ebx, [eax + 0x34]
test ecx, ecx
je 0x556942
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c7f8]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
lea edx, [0x63c818]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c7f8]
call fcn.00468740
mov edi, ebx
lea esi, [0x63c818]
call fcn.00468740
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556992
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 + 0x60], eax
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [esp + 0x8c]
lea edx, [ecx + 0xc]
mov ebp, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ebp
mov word [eax + 0x74], 1
mov byte [eax + 0x3a], 1
mov dword [esp], edx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov ebx, dword [esp + 4]
shr ebx, 0x13
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], 0
call sym.cmd_internal_obj._Link_.LookupABIInit
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x556a08
mov eax, dword [esp + 0x60]
jmp 0x556a19
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0x48]
mov dword [edi + 4], edx
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov word [esp + 8], 0x3c05
call sym.cmd_internal_obj_riscv.jalToSym
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x556a6e
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 + 0x5c], eax
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ecx, dword [edx + 0x6c]
mov ebx, dword [edx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x40f3
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea ebx, [eax + 0x34]
test ecx, ecx
je 0x556ae6
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c818]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
lea edx, [0x63c7f8]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c818]
call fcn.00468740
mov edi, ebx
lea esi, [0x63c7f8]
call fcn.00468740
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556b36
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 + 0x58], 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], 0x40f3
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea ebx, [eax + 0x34]
test ecx, ecx
je 0x556bae
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c6b8]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
lea edx, [0x63c678]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c6b8]
call fcn.00468740
mov edi, ebx
lea esi, [0x63c678]
call fcn.00468740
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556bfe
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], 0x400e
mov ecx, dword [0x7a14d8]
lea edi, [eax + 8]
lea edx, [eax + 0x34]
test ecx, ecx
je 0x556c7a
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], edx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c838]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
lea ecx, [0x63c698]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c838]
call fcn.00468740
mov word [eax + 0x76], 0x3c02
mov edi, edx
lea esi, [0x63c698]
call fcn.00468740
mov dword [eax + 0x70], 0xfffffff0
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x556cc0
lea ebx, [0x5d78a0]
cmp dword [edx], ebx
jne 0x556cbc
mov edx, dword [edx + 4]
jmp 0x556cc2
xor edx, edx
jmp 0x556cc2
xor edx, edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._FuncInfo_.UnspillRegisterArgs
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], 0xffffffff
call sym.cmd_internal_obj._Link_.EndUnsafePoint
mov eax, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
nop
mov edx, eax
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x28]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556d4f
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 + 0x50], eax
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], 0x40f3
mov byte [eax + 0xe], 3
mov word [eax + 8], 0x3c1b
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 4]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov ebp, edx
shl edx, 1
mov dword [eax + 0x14], edx
mov edx, ebp
shr ebp, 0x1f
sar edx, 0x1f
shl edx, 1
or edx, ebp
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x8c]
test byte [edx], al
lea ebp, [edx + 0xc]
mov dword [esp + 0x70], ebp
mov dword [esp], ebp
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 2
je 0x556de9
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 4]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov eax, 3
mov ebx, edx
mul edx
mov ebp, dword [esp + 0x50]
mov dword [ebp + 0x14], eax
sar ebx, 0x1f
lea ebx, [ebx + ebx*2]
add edx, ebx
mov dword [ebp + 0x18], edx
jmp 0x556df4
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x50]
mov byte [ebp + 0x3a], 7
mov word [ebp + 0x34], 0x3c06
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._Link_.StartUnsafePoint
mov eax, dword [esp + 0x98]
test eax, eax
setl cl
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x94]
cmp ebx, 0x80
xchg ebp, ebx
setbe bl
xchg ebp, ebx
movzx esi, byte [esp + 0x1b]
and ebp, esi
or ecx, ebp
test cl, cl
jne 0x557051
test eax, eax
setg cl
mov ebp, ebx
add ebx, 0xffffff80
mov dword [esp + 0x1c], ebx
adc eax, 0xffffffff
mov dword [esp + 0x20], eax
cmp ebp, 0x1000
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, esi
or ecx, ebp
test cl, cl
jne 0x556e7f
xor ecx, ecx
jmp 0x556f57
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556eb7
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 + 0x4c], 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], 0x40f3
mov byte [eax + 0xe], 4
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x14], ecx
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x18], ebx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x3c07
mov edx, dword [esp + 0x90]
mov ebp, dword [edx]
nop
call ebp
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x556f27
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], 0x4028
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x3c02
mov word [eax + 0x76], 0x3c07
mov byte [eax + 0x3a], 1
mov edx, eax
mov ecx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x90]
mov ebx, dword [eax]
mov edx, eax
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx + 4]
xor esi, esi
mov edi, dword [esp + 0x1c]
sub esi, edi
mov edi, 0
mov edx, esi
mov esi, dword [esp + 0x20]
sbb edi, esi
test ecx, ecx
je 0x556fb1
mov ecx, edi
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov esi, dword [eax + 4]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov esi, dword [ebx + 4]
mov dword [edi + 0xc], esi
mov edi, ecx
mov dword [esp + 0x48], 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], 0x400e
mov byte [eax + 0xe], 4
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edi
mov word [eax + 0x76], 0x3c02
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x3c07
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x48]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x55701f
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 edx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov word [eax + 0x74], 0x4028
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x3c06
mov word [eax + 0x76], 0x3c07
mov byte [eax + 0x3a], 1
mov ecx, dword [esp + 0x24]
jmp 0x5570b7
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x557089
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 edx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov word [eax + 0x74], 0x4028
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x3c06
mov word [eax + 0x76], 0x3c02
mov byte [eax + 0x3a], 1
xor ecx, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xc], ebp
call sym.cmd_internal_obj._Link_.EmitEntryStackMap
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x557109
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x557105
mov ecx, dword [ecx + 4]
jmp 0x55710b
xor ecx, ecx
jmp 0x55710b
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._FuncInfo_.SpillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x34]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x557166
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 + 0x44], eax
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ecx, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 1
mov byte [eax + 0x3a], 1
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 2
jne 0x55728b
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x5571c2
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x5571be
mov ecx, dword [ecx + 4]
jmp 0x5571c4
xor ecx, ecx
jmp 0x5571c4
xor ecx, ecx
mov eax, dword [ecx + 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, 0x20
je 0x557238
mov eax, dword [esp + 0x84]
mov dword [esp], eax
lea ecx, [0x5f11e2]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], 0
call sym.cmd_internal_obj._Link_.LookupInit
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x55721f
mov eax, dword [esp + 0x44]
jmp 0x557230
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x48]
mov dword [edi + 4], edx
mov dword [eax + 0x48], ecx
jmp 0x5572dc
mov eax, dword [esp + 0x84]
mov dword [esp], eax
lea ecx, [0x5f4e23]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], 0
call sym.cmd_internal_obj._Link_.LookupInit
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x557275
mov eax, dword [esp + 0x44]
jmp 0x557286
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x48]
mov dword [edi + 4], edx
mov dword [eax + 0x48], ecx
jmp 0x5572dc
mov eax, dword [esp + 0x84]
mov dword [esp], eax
lea ecx, [0x5f1aca]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x12
mov dword [esp + 0xc], 0
call sym.cmd_internal_obj._Link_.LookupInit
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5572c8
mov eax, dword [esp + 0x44]
jmp 0x5572d9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x48]
mov dword [edi + 4], edx
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x557312
nop
cmp byte [ecx + 0x3a], 1
jne 0x55756e
lea edx, [0x5de540]
mov dword [ecx + 0x4c], edx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x55730f
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x50]
mov dword [edi + 4], ebx
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov word [esp + 8], 0x3c05
call sym.cmd_internal_obj_riscv.jalToSym
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], 0xffffffff
call sym.cmd_internal_obj._Link_.EndUnsafePoint
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x55737f
lea ecx, [0x5d78a0]
cmp dword [eax], ecx
jne 0x55737b
mov eax, dword [eax + 4]
jmp 0x557381
xor eax, eax
jmp 0x557381
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call sym.cmd_internal_obj._FuncInfo_.UnspillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x30]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x5573dc
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 + 0x2c], eax
mov dword [eax + 4], ebx
mov dword [edx + 4], eax
mov ecx, dword [edx + 0x6c]
mov ebx, dword [edx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x4023
mov ecx, dword [0x7a14d8]
lea edi, [eax + 0x34]
lea ebx, [eax + 8]
test ecx, ecx
je 0x557458
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
lea eax, [0x5da860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x63c658]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
lea eax, [0x5da860]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
lea ecx, [0x63c758]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea esi, [0x63c658]
call fcn.00468740
mov edi, ebx
lea esi, [0x63c758]
call fcn.00468740
cmp byte [eax + 0x3a], 1
jne 0x557556
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
lea ebx, [0x5de540]
mov dword [eax + 0x4c], ebx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x5574a1
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [eax + 0x50]
mov dword [edi + 4], ebp
mov dword [eax + 0x50], ecx
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x5574dc
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], 7
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0x3a], 1
jne 0x55753e
lea edx, [0x5de540]
mov dword [ecx + 0x4c], edx
mov edx, dword [0x7a14d8]
test edx, edx
je 0x55751e
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x50]
mov dword [edi + 4], edx
mov dword [ecx + 0x50], eax
mov dword [esp + 0x9c], eax
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x88]
mov dword [esp + 0x9c], eax
sub esp, 0xffffff80
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
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63bba8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_riscv.stacksplit