Function at 0x50af30
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 0x50b454
sub esp, 0x64
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x3a], 1
jne 0x50af77
jne 0x50af6d
mov edx, dword [eax + 0x4c]
test edx, edx
je 0x50af6d
lea ebx, [0x5de540]
cmp edx, ebx
jne 0x50b43d
mov edx, dword [eax + 0x50]
jmp 0x50afab
lea ebx, [0x5de540]
xor edx, edx
jmp 0x50afab
cmp byte [eax + 0xe], 1
jne 0x50afa3
jne 0x50af99
mov edx, dword [eax + 0x20]
test edx, edx
je 0x50af99
lea ebx, [0x5de540]
cmp edx, ebx
jne 0x50b427
mov edx, dword [eax + 0x24]
jmp 0x50afab
lea ebx, [0x5de540]
xor edx, edx
jmp 0x50afab
lea ebx, [0x5de540]
xor edx, edx
test edx, edx
jne 0x50afb2
mov edx, dword [eax + 0x54]
test edx, edx
je 0x50b29c
mov dword [esp + 0x54], edx
mov ebp, dword [edx + 0x64]
mov dword [esp + 0x50], ebp
mov esi, dword [edx + 0x60]
mov ecx, dword [esp + 0x70]
shr esi, cl
lea edi, [ecx - 0x20]
mov dword [esp + 0x4c], edi
shr ecx, 5
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x44], eax
mov ebx, dword [edx + 0x24]
mov ecx, dword [esp + 0x70]
shr ebx, cl
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x40], edi
mov ecx, edi
shl ebp, cl
mov dword [esp + 0x3c], ebp
shl eax, cl
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x78]
mov edx, 1
shl edx, cl
mov dword [esp + 0x34], edx
lea edx, [ecx - 0x20]
mov dword [esp + 0x30], edx
mov ecx, edx
mov eax, 1
shl eax, cl
mov dword [esp + 0x2c], eax
neg ecx
mov dword [esp + 0x28], ecx
mov eax, 1
shr eax, cl
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x4c]
cmp edx, 0x20
sbb eax, eax
not eax
or edx, eax
mov ecx, edx
mov eax, dword [esp + 0x50]
sar eax, cl
mov ebp, dword [esp + 0x44]
mov edx, ebp
sar ebp, cl
mov dword [esp + 0x4c], ebp
mov ecx, dword [esp + 0x70]
cmp ecx, 0x20
sbb edi, edi
sbb ebp, ebp
and esi, edi
and ebx, edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ecx, ebp
mov ebp, dword [esp + 0x50]
sar ebp, cl
mov dword [esp + 0x20], ebp
sar edx, cl
mov edi, dword [esp + 0x48]
cmp edi, 1
sbb edi, edi
xor edi, 0xffffffff
and eax, edi
mov ecx, edx
mov edx, dword [esp + 0x4c]
and edx, edi
mov edi, dword [esp + 0x40]
cmp edi, 0x20
sbb edi, edi
mov ebp, dword [esp + 0x3c]
and ebp, edi
or esi, ebp
or eax, esi
mov ebp, dword [esp + 0x38]
and ebp, edi
or ebx, ebp
or edx, ebx
sub eax, edx
mov edx, dword [esp + 0x20]
sbb edx, ecx
mov ecx, dword [esp + 0x78]
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0x34]
and ebp, ebx
mov esi, dword [esp + 0x28]
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x24]
and esi, edi
mov edi, dword [esp + 0x30]
cmp edi, 0x20
sbb edi, edi
mov ebx, dword [esp + 0x2c]
and ebx, edi
or ebx, esi
add ebp, 0xffffffff
adc ebx, 0xffffffff
test ebx, edx
setne bl
test ebp, eax
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebx, ebp
test bl, bl
jne 0x50b114
cmp ecx, 0x20
jmp 0x50b1ae
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
lea edx, [0x5c6b80]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x5de540]
mov dword [eax], ecx
mov edx, dword [0x7a14d8]
test edx, edx
jne 0x50b154
mov ebx, dword [esp + 0x6c]
jmp 0x50b15f
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x6c]
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x5c]
inc dword [ecx + 0x90]
mov edx, dword [ecx + 0x80]
mov ecx, dword [edx]
lea ebp, [0x5f23b0]
mov dword [esp], ebp
mov dword [esp + 4], 0x13
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call ecx
mov ecx, dword [esp + 0x78]
cmp ecx, 0x20
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
sbb ebx, ebx
shr eax, cl
mov ebp, dword [esp + 0x4c]
and eax, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x28]
mov esi, edx
shl edx, cl
mov ecx, ebp
mov ebp, dword [esp + 0x48]
and edx, ebp
or edx, eax
xchg edi, ebx
not ebx
xchg edi, ebx
mov eax, dword [esp + 0x30]
or edi, eax
mov eax, ecx
mov ecx, edi
mov ebp, esi
sar esi, cl
not ebx
or ebx, eax
mov ecx, ebx
sar ebp, cl
mov dword [esp + 0x4c], ebp
shr eax, 5
mov ebx, dword [esp + 0x74]
lea ecx, [ebx - 0x21]
mov dword [esp + 0x48], ecx
mov edi, 1
shl edi, cl
mov dword [esp + 0x40], edi
neg ecx
mov dword [esp + 0x3c], ecx
mov ebp, 1
shr ebp, cl
dec ebx
mov ecx, ebx
mov edi, 1
shl edi, cl
cmp eax, 1
sbb eax, eax
xor eax, 0xffffffff
and esi, eax
or esi, edx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x3c]
cmp eax, 0x20
sbb eax, eax
and ebp, eax
mov eax, dword [esp + 0x48]
cmp eax, 0x20
sbb eax, eax
mov edx, dword [esp + 0x40]
and eax, edx
or eax, ebp
mov dword [esp + 0x48], eax
cmp ecx, 0x20
sbb edx, edx
and edx, edi
mov dword [esp + 0x1c], edx
xor ebx, ebx
sub ebx, edx
mov ebp, 0
sbb ebp, eax
cmp ebx, esi
seta bl
mov edi, dword [esp + 0x4c]
cmp edi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
setl cl
and ebx, ebp
or ebx, ecx
test bl, bl
jne 0x50b2c8
cmp edi, eax
setg cl
sete bl
cmp esi, edx
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x50b2a4
jmp 0x50b2c8
xor edi, edi
xor esi, esi
xor edx, edx
xor eax, eax
shl eax, 1
mov ecx, edx
shl edx, 1
shr ecx, 0x1f
or ecx, eax
add edx, 0xffffffff
adc ecx, 0xffffffff
and edi, ecx
and edx, esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edi
add esp, 0x64
ret
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
lea edx, [0x5c8620]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c9340]
mov edx, dword [esp + 0x60]
mov dword [edx], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
jne 0x50b415
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c9340]
mov edx, dword [esp + 0x60]
mov dword [edx + 8], ecx
mov ecx, dword [0x7a14d8]
test ecx, ecx
jne 0x50b403
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0xc]
lea ecx, [0x5de540]
mov dword [edx + 0x10], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
jne 0x50b3d7
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ecx
mov eax, dword [esp + 0x54]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x58]
inc dword [eax + 0x90]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax]
lea ebx, [0x5fa4c5]
mov dword [esp], ebx
mov dword [esp + 4], 0x24
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
mov edx, eax
call ecx
lea eax, [0x5c9180]
mov dword [esp], eax
lea eax, [0x63c000]
mov dword [esp + 4], eax
call sym.runtime.gopanic
call sym.runtime.gcWriteBarrier6
mov dword [edi], eax
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [edi + 8], ebx
mov ebp, dword [edx + 0x1c]
mov dword [edi + 0xc], ebp
mov ebp, dword [esp + 0x54]
mov dword [edi + 0x10], ebp
mov esi, dword [edx + 0x24]
mov dword [edi + 0x14], esi
jmp 0x50b36d
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
jmp 0x50b350
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
jmp 0x50b31a
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_arm64._ctxt7_.brdist