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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x54ec65
sub esp, 0x9c
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x24]
test ebx, ebx
je 0x54e04b
movzx ebx, byte [ecx + 0x18]
test bl, bl
jne 0x54db22
movzx ebx, byte [ecx + 0x19]
test bl, bl
je 0x54db63
nop
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov eax, dword [edx]
lea ecx, [0x5fecef]
mov dword [esp], ecx
mov dword [esp + 4], 0x36
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x54db80
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x54db7c
mov ecx, dword [ecx + 4]
jmp 0x54db82
xor ecx, ecx
jmp 0x54db82
xor ecx, ecx
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.cmd_internal_obj._FuncInfo_.SpillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [edx + 0x24]
mov dword [esp + 0x2c], ebx
mov edx, dword [edx + 0x28]
mov dword [esp + 0x28], edx
mov ebp, dword [ecx + 4]
mov esi, dword [ebp]
mov edx, ebp
call esi
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 4]
mov ebp, dword [esp + 0x2c]
add ebp, 8
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x28]
adc esi, 0
mov dword [esp + 0x24], esi
xor edi, edi
sub edi, ebp
mov dword [esp + 0x2c], edi
mov ebp, 0
sbb ebp, esi
mov dword [esp + 0x28], ebp
test ecx, ecx
je 0x54dc1f
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebx
mov esi, dword [eax + 4]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov esi, dword [edx + 4]
mov dword [edi + 0xc], esi
mov dword [esp + 0x94], 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], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1408
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x101f
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x94]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54dc8f
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 + 0x90], 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], 0x2128
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x101f
mov byte [eax + 0x3a], 3
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x44], ecx
mov word [eax + 0x34], 0x1001
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x70], ecx
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
mov ebp, dword [edx]
call ebp
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x90]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54dd14
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 + 0x8c], 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], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x100b
mov byte [eax + 0x3a], 3
mov dword [eax + 0x40], 8
mov dword [eax + 0x44], 0
mov word [eax + 0x34], 0x1001
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54dd92
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 + 0x88], 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], 1
mov byte [eax + 0x3a], 1
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 8]
test byte [edx], al
add edx, 0xc
mov dword [esp], edx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [esp + 4]
shr ebp, 0x13
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
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 0x54de17
mov eax, dword [esp + 0x88]
jmp 0x54de2b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x88]
mov ebx, dword [eax + 0x48]
mov dword [edi + 4], ebx
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54de6b
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 + 0x84], 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], 0x2127
mov byte [eax + 0xe], 3
mov dword [eax + 0x14], 8
mov dword [eax + 0x18], 0
mov word [eax + 8], 0x1001
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x100b
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54dee9
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 + 0x80], 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], 0x2127
mov byte [eax + 0xe], 3
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov word [eax + 8], 0x1001
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x101f
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54df67
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], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x101f
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1408
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54dfd1
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 [esp + 0x20]
mov edx, ecx
neg ecx
mov ebp, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ebp
mov word [eax + 0x74], 0x200e
mov byte [eax + 0xe], 4
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x18], edx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1001
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 8]
mov edx, dword [edx + 0x34]
test edx, edx
je 0x54e030
lea ebx, [0x5d78a0]
cmp dword [edx], ebx
jne 0x54e02c
mov edx, dword [edx + 4]
jmp 0x54e032
xor edx, edx
jmp 0x54e032
xor edx, edx
mov ebx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.cmd_internal_obj._FuncInfo_.UnspillRegisterArgs
mov eax, dword [esp + 0xc]
jmp 0x54e052
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x34]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54e090
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 edx, dword [ebx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x2127
mov byte [eax + 0xe], 3
mov word [eax + 8], 0x101e
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov edx, dword [edx + 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 [ecx + 8]
test byte [edx], al
add edx, 0xc
mov dword [esp], edx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 2
je 0x54e126
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov eax, 3
mov ebx, edx
mul edx
mov ebp, dword [esp + 0x78]
mov dword [ebp + 0x14], eax
sar ebx, 0x1f
lea ebx, [ebx + ebx*2]
add edx, ebx
mov dword [ebp + 0x18], edx
jmp 0x54e131
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x78]
mov byte [ebp + 0x3a], 7
mov word [ebp + 0x34], 0x1016
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call sym.cmd_internal_obj._Link_.StartUnsafePoint
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x80
jle 0x54e45d
mov ebx, ecx
sar ecx, 0x1f
mov ebp, ebx
add ebx, 0xffffff80
mov dword [esp + 0x18], ebx
adc ecx, 0xffffffff
mov dword [esp + 0x1c], ecx
cmp ebp, 0x1000
jle 0x54e35c
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setl bl
xchg esi, ebx
cmp ebx, 0xffff
xchg edi, ebx
setbe bl
xchg edi, ebx
and ebp, edi
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x54e226
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 4]
mov ecx, dword [edx]
call ecx
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 0x54e1ed
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], 0x2036
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1001
mov byte [eax + 0x3a], 4
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x40], ecx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x44], ebx
jmp 0x54e2fe
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 4]
mov ecx, dword [edx]
call ecx
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 0x54e260
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], 0x2127
mov byte [eax + 0xe], 4
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x14], ecx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x18], ebx
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1017
mov ebp, dword [esp + 0xa0]
mov edx, dword [ebp + 4]
mov esi, dword [edx]
call esi
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 0x54e2d2
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], 0x2036
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1001
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1017
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x54]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54e33c
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], 0x202f
mov byte [eax + 0x3a], 1
mov edx, eax
jmp 0x54e35e
xor edx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0xa0]
mov ebx, dword [ecx + 4]
mov ebp, dword [ebx]
mov edx, ebx
call ebp
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [ebx + 4]
xor esi, esi
mov edi, dword [esp + 0x18]
sub esi, edi
mov edi, 0
mov edx, esi
mov esi, dword [esp + 0x1c]
sbb edi, esi
test ecx, ecx
je 0x54e3bb
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 + 0x70], 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], 0x200e
mov byte [eax + 0xe], 4
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edi
mov word [eax + 0x76], 0x1001
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1017
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54e42b
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], 0x2036
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1016
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1017
mov ecx, dword [esp + 0x60]
jmp 0x54e4c5
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 4]
mov ecx, dword [edx]
call ecx
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 0x54e497
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], 0x2036
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1016
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1001
xor ecx, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x60], ecx
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + 4]
mov ebp, dword [edx]
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 0x54e507
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 + 0x6c], 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], 0x202f
mov byte [eax + 0x3a], 1
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54e561
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 + 0x60]
test ecx, ecx
je 0x54e5b0
cmp byte [ecx + 0x3a], 1
jne 0x54ec4c
lea edx, [0x5de540]
mov dword [ecx + 0x4c], edx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x54e5ab
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ecx + 0x50]
mov dword [edi + 4], ebp
mov dword [ecx + 0x50], eax
jmp 0x54e5b6
lea edx, [0x5de540]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [ecx + 8]
mov ebp, dword [ebp + 0x34]
test ebp, ebp
je 0x54e5db
lea esi, [0x5d78a0]
cmp dword [ebp], esi
jne 0x54e5d7
mov ebp, dword [ebp + 4]
jmp 0x54e5dd
xor ebp, ebp
jmp 0x54e5dd
xor ebp, ebp
mov edx, dword [ecx + 4]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.cmd_internal_obj._FuncInfo_.SpillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov edx, dword [esp + 0x38]
mov ebx, dword [edx + 4]
test ecx, ecx
je 0x54e632
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 ecx, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1408
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1005
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
call sym.cmd_internal_obj._Link_.EmitEntryStackMap
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
test byte [ecx], al
add ecx, 0xc
mov edx, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mov dword [esp], ecx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
test eax, 2
jne 0x54e755
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x54e6d3
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x54e6cf
mov ecx, dword [ecx + 4]
jmp 0x54e6d5
xor ecx, ecx
jmp 0x54e6d5
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 0x54e724
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov dword [esp], ecx
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 [esp + 0x10]
jmp 0x54e784
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov dword [esp], ecx
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 [esp + 0x10]
jmp 0x54e784
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov dword [esp], ecx
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 [esp + 0x10]
mov dword [esp + 0x98], eax
movzx ecx, byte [0x7a12fd]
test cl, cl
je 0x54e7a6
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x48]
jmp 0x54e83a
mov ecx, dword [esp + 0xa0]
mov ebx, dword [ecx]
movzx ebx, byte [ebx + 0x18]
test bl, bl
jne 0x54e7bd
mov edx, dword [esp + 0x48]
jmp 0x54e83a
mov edx, dword [ecx + 4]
mov eax, dword [edx]
call eax
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 0x54e7f0
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], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x1002
mov byte [eax + 0x3a], 3
mov word [eax + 0x34], 0x1001
mov dword [eax + 0x40], 8
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0xa0]
mov edx, eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x44], edx
mov ebx, dword [ecx]
movzx ebx, byte [ebx + 0x19]
test bl, bl
je 0x54e99f
mov edx, dword [ecx + 4]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54e87f
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], 0x2127
mov byte [eax + 0xe], 3
mov ecx, dword [0x7a14d8]
test ecx, ecx
jne 0x54e8ae
mov ecx, dword [esp + 0x98]
jmp 0x54e8c2
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov dword [esp + 0x68], eax
mov dword [eax + 0x1c], ecx
mov byte [eax + 0xf], 5
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x100c
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54e911
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], 0x2127
mov byte [eax + 0xe], 7
mov word [eax + 8], 0x100c
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1408
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54e97b
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], 1
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1408
jmp 0x54ea18
mov edx, dword [ecx + 4]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54e9d2
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], 1
mov byte [eax + 0x3a], 1
mov ecx, dword [0x7a14d8]
test ecx, ecx
jne 0x54ea01
mov ecx, dword [esp + 0x98]
jmp 0x54ea15
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov ebx, dword [eax + 0x48]
mov dword [edi + 4], ebx
mov dword [eax + 0x48], ecx
movzx ecx, byte [0x7a12fd]
test cl, cl
je 0x54ea2f
mov ecx, dword [esp + 0xa0]
jmp 0x54eab8
mov ecx, dword [esp + 0xa0]
mov ebx, dword [ecx]
movzx ebx, byte [ebx + 0x18]
test bl, bl
je 0x54eab8
mov dword [esp + 0x40], eax
mov edx, dword [ecx + 4]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x54ea77
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], 0x2127
mov byte [eax + 0xe], 3
mov word [eax + 8], 0x1001
mov dword [eax + 0x14], 8
mov dword [eax + 0x18], 0
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0x1002
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], 0xffffffff
call sym.cmd_internal_obj._Link_.EndUnsafePoint
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x54eb01
lea edx, [0x5d78a0]
cmp dword [ecx], edx
jne 0x54eafd
mov ecx, dword [ecx + 4]
jmp 0x54eb03
xor ecx, ecx
jmp 0x54eb03
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.cmd_internal_obj._FuncInfo_.UnspillRegisterArgs
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
call ebx
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 0x54eb5c
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 ecx, dword [edx + 0x6c]
mov ebx, dword [edx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 6
mov byte [eax + 0x3a], 1
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 4]
lea ebx, [0x5de540]
mov dword [eax + 0x4c], ebx
mov ebp, dword [0x7a14d8]
test ebp, ebp
je 0x54eb9f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [eax + 0x50]
mov dword [edi + 4], ebp
mov dword [esp + 0x3c], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ecx, dword [edx]
call ecx
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 0x54ebe0
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
nop
mov ecx, dword [esp + 0x6c]
cmp byte [ecx + 0x3a], 1
jne 0x54ec34
lea edx, [0x5de540]
mov dword [ecx + 0x4c], edx
mov edx, dword [0x7a14d8]
test edx, edx
je 0x54ec23
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 + 0xac], eax
add esp, 0x9c
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
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_ppc64._ctxt9_.stacksplit