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

Disassembly:
mov ecx, dword [0x5f7a74]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x44c509
sub esp, 0x48
mov edx, dword [0x5f7a74]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx], edx
jne 0x44c4f2
mov edx, dword [esp + 0x4c]
lea ebp, [edx - 1]
test edx, ebp
jne 0x44c4dc
mov ebp, dword [0x5f7e30]
test ebp, ebp
jne 0x44c252
cmp edx, 0x8000
jae 0x44c247
mov eax, edx
xor ecx, ecx
jmp 0x44c3f6
mov eax, edx
shr edx, 0xd
mov ecx, edx
xor ebx, ebx
jmp 0x44c2a9
mov eax, dword [0x5f7980]
lea ecx, [edx + eax - 1]
neg eax
and ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp], ecx
lea eax, [0x5fa0f0]
mov dword [esp + 4], eax
call sym.runtime.sysAlloc
mov eax, dword [esp + 8]
test eax, eax
je 0x44c290
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x54], eax
add esp, 0x48
ret
lea eax, [0x4fc00d]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call sym.runtime.throw
shr edx, 1
inc ebx
cmp edx, 1
ja 0x44c2a6
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], ebx
nop
nop
lea eax, [0x5f7fc0]
mov dword [esp], eax
call sym.runtime.lock2
mov eax, dword [esp + 0x24]
cmp eax, 0x13
jae 0x44c3e9
lea ecx, [0x5f7fc4]
lea edx, [ecx + eax*8]
mov edx, dword [edx]
lea eax, [ecx + eax*8]
test edx, edx
jne 0x44c2e9
xor eax, eax
jmp 0x44c2fd
mov dword [esp + 0x30], edx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.runtime._mSpanList_.remove
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
nop
nop
lea ecx, [0x5f7fc0]
mov dword [esp], ecx
call sym.runtime.unlock2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44c31f
mov ecx, dword [esp + 0x4c]
jmp 0x44c34d
lea eax, [0x5df9a0]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call sym.runtime._mheap_.allocManual
mov eax, dword [esp + 0xc]
test eax, eax
je 0x44c3d3
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x44], ecx
mov eax, dword [eax + 0xc]
nop
movzx edx, byte [0x5da071]
test dl, dl
je 0x44c3c5
mov dword [esp + 0x3c], eax
movzx edx, byte [0x5da070]
test dl, dl
jne 0x44c371
xor edx, edx
xor ebx, ebx
jmp 0x44c389
call sym.runtime.traceTryAcquireEnabled
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
test edx, edx
je 0x44c3c5
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.traceLocker.GoroutineStackAlloc
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call sym.runtime.traceRelease
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
add eax, ecx
mov dword [esp + 0x54], eax
add esp, 0x48
ret
lea eax, [0x4f734b]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call sym.runtime.throw
mov ecx, 0x13
call sym.runtime.panicIndex
inc ecx
shr edx, 1
cmp edx, 0x1000
ja 0x44c3f3
mov edx, dword [ebx + 0x58]
test edx, edx
je 0x44c40c
mov ebx, dword [ebx + 0x78]
test ebx, ebx
je 0x44c460
movzx edx, cl
cmp edx, 3
jae 0x44c4d0
mov byte [esp + 0x13], cl
shl edx, 6
lea eax, [0x5f8060]
add eax, edx
mov dword [esp + 0x40], eax
nop
mov dword [esp], eax
call sym.runtime.lock2
movzx eax, byte [esp + 0x13]
mov byte [esp], al
call sym.runtime.stackpoolalloc
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
nop
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
call sym.runtime.unlock2
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
jmp 0x44c4bb
movzx ebx, cl
cmp ebx, 3
jae 0x44c4c4
mov edx, dword [edx + 0x30]
test byte [edx], al
lea ebp, [edx + ebx*8 + 0x234]
mov esi, dword [ebp]
mov edi, esi
test esi, esi
jne 0x44c4ab
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x44], ebp
mov dword [esp], edx
mov byte [esp + 4], cl
call sym.runtime.stackcacherefill
mov eax, dword [esp + 0x44]
mov esi, dword [eax]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, eax
mov edi, esi
mov eax, dword [esp + 0x4c]
lea ecx, [edx + ebx*8 + 0x238]
mov edx, edi
mov ebx, dword [edi]
mov dword [ebp], ebx
sub dword [ecx], eax
mov ecx, eax
mov eax, edx
jmp 0x44c351
mov eax, ebx
mov ecx, 3
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 3
call sym.runtime.panicIndex
lea eax, [0x4fc4e2]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.throw
lea eax, [0x4fe0d9]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call sym.runtime.throw
nop
call sym.runtime.morestackc
jmp sym.runtime.stackalloc