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

Disassembly:
mov ecx, dword [0x62bbe4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x449c34
sub esp, 0x4c
mov eax, dword [0x62bbe4]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
cmp dword [ecx], eax
jne 0x449c1d
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
test eax, edx
jne 0x449c07
mov edx, dword [0x62bfb0]
test edx, edx
jne 0x4499b2
cmp eax, 0x8000
jae 0x4499a6
mov edx, eax
xor ebx, ebx
jmp 0x449b4b
mov ecx, eax
shr eax, 0xd
nop
mov edx, eax
xor ebx, ebx
jmp 0x449a09
mov ecx, dword [0x62bae4]
lea eax, [eax + ecx - 1]
neg ecx
and eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp], eax
lea ecx, [0x62e270]
mov dword [esp + 4], ecx
call sym.runtime.sysAlloc
mov eax, dword [esp + 8]
test eax, eax
je 0x4499f0
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x58], eax
add esp, 0x4c
ret
lea eax, [0x51b121]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call sym.runtime.throw
shr eax, 1
inc ebx
cmp eax, 1
ja 0x449a06
mov dword [esp + 0x34], edx
lea eax, [0x62c144]
lea ecx, [eax + ebx*8]
mov dword [esp + 0x48], ecx
nop
lea eax, [eax + ebx*8]
mov dword [esp + 0x24], eax
nop
lea edx, [0x62c140]
mov dword [esp], edx
call sym.runtime.lock2
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
test eax, eax
jne 0x449a44
xor eax, eax
jmp 0x449a5c
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime._mSpanList_.remove
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
nop
nop
lea ecx, [0x62c140]
mov dword [esp], ecx
call sym.runtime.unlock2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x449a7e
mov ecx, dword [esp + 0x50]
jmp 0x449aac
lea eax, [0x613b00]
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 0x449b32
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x44], ecx
mov eax, dword [eax + 0xc]
nop
movzx edx, byte [0x60e1d1]
test dl, dl
je 0x449b24
mov dword [esp + 0x3c], eax
movzx edx, byte [0x60e1d0]
test dl, dl
jne 0x449ad0
xor edx, edx
xor ebx, ebx
jmp 0x449ae8
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 + 0x50]
test edx, edx
je 0x449b24
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 + 0x50]
mov dword [esp + 0x54], eax
add eax, ecx
mov dword [esp + 0x58], eax
add esp, 0x4c
ret
lea eax, [0x516014]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call sym.runtime.throw
inc ebx
shr eax, 1
cmp eax, 0x1000
ja 0x449b48
mov eax, dword [ecx + 0x58]
test eax, eax
je 0x449b60
mov ecx, dword [ecx + 0x78]
test ecx, ecx
je 0x449baa
mov byte [esp + 0x13], bl
movzx eax, bl
shl eax, 6
lea ecx, [0x62c1e0]
add eax, ecx
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
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
call sym.runtime.unlock2
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
jmp 0x449c00
movzx ecx, bl
mov eax, dword [eax + 0x30]
test byte [eax], al
lea ebp, [eax + ecx*8 + 0x234]
mov esi, dword [ebp]
mov edi, esi
test esi, esi
jne 0x449bf0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], ebp
mov dword [esp], eax
mov byte [esp + 4], bl
call sym.runtime.stackcacherefill
mov eax, dword [esp + 0x44]
mov esi, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov ebp, eax
mov edi, esi
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*8 + 0x238]
mov eax, edi
mov ebx, dword [edi]
mov dword [ebp], ebx
sub dword [ecx], edx
mov ecx, edx
jmp 0x449ab0
lea eax, [0x51b67a]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.throw
lea eax, [0x51d3ac]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call sym.runtime.throw
nop
call sym.runtime.morestackc
jmp sym.runtime.stackalloc