Function at 0x48baf3
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x80
lea eax, [ebp - 0x18]
mov ebx, ecx
lea edi, [edx + 0x28]
mov esi, edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x4955e0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov ecx, edi
mov dword fs:[0], eax
call fcn.00487353
cmp byte [esi + 0x78], 0
je 0x48bb43
mov ecx, dword [ebp + 8]
call fcn.00487fff
mov byte [ebx], 4
jmp 0x48bbc3
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x38], edi
cmp eax, ecx
jne 0x48bb5e
lea ecx, [esi + 0x30]
call fcn.0048b252
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x34], esi
xor edi, edi
add edx, eax
cmp edx, ecx
cmovae edi, ecx
mov ecx, dword [ebp - 0x34]
inc eax
sub edx, edi
mov edi, dword [ebp + 8]
mov esi, dword [ecx + 0x30]
mov dword [esi + edx*8], edi
mov byte [esi + edx*8 + 4], 1
mov dword [ecx + 0x3c], eax
lock inc dword [ecx + 0xa0]
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x48bbaf
lock dec dword [ecx + 0x9c]
inc dword [ecx + 0x60]
add ecx, 0x90
call fcn.00488013
mov edi, dword [ebp - 0x38]
jmp 0x48bbc0
mov eax, dword [ecx + 0x98]
mov edi, dword [ebp - 0x38]
cmp eax, dword [ecx + 0x94]
jne 0x48bbde
mov byte [ebx], 5
mov ecx, edi
call fcn.00446c18
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x48c0f8
mov dword [ebp - 0x74], eax
lock inc dword [eax]
jle 0x48c0f4
mov edi, ecx
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
mov edx, dword [edi + 0x74]
mov dword [ebp - 0x2c], edx
lea edx, [ebp - 0x58]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
mov esi, dword [edi + 8]
mov dword [ebp - 0x40], ebx
test esi, esi
je 0x48bc28
mov edi, dword [edi + 0xc]
jmp 0x48bc28
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.004886c9
test esi, esi
mov ecx, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
jne 0x48bd42
mov ecx, dword [0x4f31cc]
test ecx, ecx
je 0x48bc67
dec ecx
jmp 0x48bd42
lea esi, [ebp - 0x58]
mov edx, str.RUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
mov ecx, esi
push 0xe
call fcn.00480270
pop eax
mov al, byte [esi + 0xc]
cmp al, 2
je 0x48bd35
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x58]
test al, al
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], edx
jne 0x48bcfe
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x48bd02
lea ecx, [edi + eax]
mov esi, edi
mov al, byte [esi]
lea edx, [esi + 1]
test al, al
jns 0x48bcf8
cmp al, 0xe0
jae 0x48bcba
add esi, 2
cmp edx, ecx
cmovne edx, esi
jmp 0x48bcf8
cmp al, 0xed
jne 0x48bcda
cmp edx, ecx
je 0x48bcfe
lea eax, [esi + 2]
cmp eax, ecx
je 0x48bcfe
cmp byte [esi + 1], 0x9f
ja 0x48c0db
add esi, 3
mov edx, esi
jmp 0x48bcf8
add esi, 2
cmp edx, ecx
cmove esi, edx
xor edx, edx
cmp esi, ecx
setne dl
add edx, esi
cmp al, 0xf0
jb 0x48bcf8
xor eax, eax
cmp edx, ecx
setne al
add edx, eax
cmp edx, ecx
mov esi, edx
jne 0x48bca3
test edi, edi
je 0x48bd35
lea esi, [ebp - 0x58]
mov edx, edi
mov ecx, esi
push dword [ebp - 0x20]
call fcn.004188b0
pop eax
mov al, byte [esi]
mov ecx, dword [esi + 4]
cmp dword [ebp - 0x30], 0
je 0x48bd31
xor edx, edx
mov esi, ecx
mov ecx, edi
mov byte [ebp - 0x20], al
inc edx
call fcn.0040e8d0
mov al, byte [ebp - 0x20]
mov ecx, esi
test al, al
je 0x48bd3a
mov ecx, 0x200000
lea eax, [ecx + 1]
mov dword [0x4f31cc], eax
test ebx, ebx
mov dword [ebp - 0x20], ecx
je 0x48bd65
mov esi, dword [ebp - 0x3c]
cmp esi, 7
ja 0x48bd69
xor eax, eax
xor ecx, ecx
xor edx, edx
inc ecx
cmp esi, edx
je 0x48bd76
cmp byte [ebx + edx], 0
je 0x48bd7a
inc edx
jmp 0x48bd58
xor ecx, ecx
jmp 0x48bd9c
mov edx, ebx
xor ecx, ecx
push esi
call fcn.004171e0
pop ecx
jmp 0x48bd7c
mov edx, esi
jmp 0x48bd7c
mov eax, ecx
test eax, eax
jne 0x48c121
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x58]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
call fcn.00410020
mov ecx, eax
call fcn.00479870
mov dword [ebp - 0x78], eax
lock inc dword [eax]
jle 0x48c0f4
mov ebx, eax
push 0x18
pop ecx
push 4
pop edx
call fcn.00488456
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
and dword [esi + 8], 0
and dword [esi + 0xc], 0
mov dword [ebp - 0x7c], esi
lock inc dword [esi]
jle 0x48c0f4
xor ecx, ecx
call fcn.00482480
mov edi, eax
test eax, eax
je 0x48bdf2
lock inc dword [edi]
jle 0x48c0f4
mov ecx, edi
jmp 0x48bdf4
xor ecx, ecx
call fcn.00482480
lea ecx, [ebp - 0x58]
mov dword [ecx], eax
call fcn.0048ae9c
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x48be14
lock inc dword [ecx + 0xc]
jle 0x48c153
push 0x1c
pop ecx
push 4
pop edx
call fcn.00488456
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov edi, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x8c], ebx
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x74]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x18], eax
mov al, byte [0x4f3270]
push 8
pop ecx
push 4
pop edx
call fcn.0040e870
test eax, eax
je 0x48c10d
mov dword [eax], edi
mov dword [eax + 4], 0x4c84f4
push 0
push 0x10000
push eax
push 0x483bd0
push dword [ebp - 0x20]
push 0
mov ebx, eax
call dword [sym.imp.kernel32.dll_CreateThread]
test eax, eax
je 0x48be90
mov edi, eax
mov eax, dword [ebp - 0x8c]
jmp 0x48bee5
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x74], ecx
call dword [ecx]
add esp, 4
mov eax, dword [ebp - 0x74]
cmp dword [eax + 4], 0
je 0x48bebf
mov edx, dword [eax + 8]
mov ecx, dword [ebp - 0x28]
call fcn.0040e8d0
push 4
pop edx
mov ecx, dword [ebp - 0x24]
call fcn.0040e8d0
call sub.kernel32.dll_GetLastError
lea ecx, [ebp - 0x7c]
mov edi, eax
call fcn.00486f6b
lea ecx, [ebp - 0x78]
call fcn.00486f5e
xor esi, esi
xor eax, eax
test eax, eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], eax
je 0x48c02f
mov esi, dword [ebp - 0x34]
lock inc dword [esi + 0x98]
inc dword [esi + 0x74]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
push dword [ebp - 0x2c]
push dword [esi + 0x5c]
push dword [esi + 0x58]
call fcn.00488477
add esp, 0xc
cmp dword [esi + 0x48], 0
mov ebx, eax
je 0x48c06a
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov esi, edi
mov dword [ebp - 0x24], eax
and esi, ebx
shr ebx, 0x19
movd xmm0, ebx
mov dword [ebp - 0x3c], ebx
lea ebx, [eax - 0x10]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqu xmmword [ebp - 0x8c], xmm0
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqu xmmword [ebp - 0x74], xmm1
pmovmskb eax, xmm0
mov word [ebp - 0x58], ax
lea ecx, [ebp - 0x58]
call fcn.0041bac6
test eax, eax
je 0x48bf9c
add edx, esi
mov ecx, ebx
and edx, edi
mov eax, edx
shl eax, 4
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp dword [ecx], eax
jne 0x48bf7a
jmp 0x48bff3
cmp dword [ebp - 0x28], 1
mov eax, 1
je 0x48bfb8
movdqu xmm0, xmmword [ebp - 0x74]
mov ecx, edi
mov edx, esi
call fcn.0041bae1
mov dword [ebp - 0x30], edx
movdqu xmm1, xmmword [ebp - 0x74]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x48c07a
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
movdqu xmm0, xmmword [ebp - 0x8c]
lea esi, [eax + esi + 0x10]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
and esi, edi
jmp 0x48bf64
mov ecx, dword [ebp - 0x24]
neg edx
movq xmm1, qword [ebp - 0x64]
shl edx, 4
mov eax, dword [ecx + edx - 4]
mov dword [ebp - 0x50], eax
movsd xmm0, qword [ecx + edx - 0xc]
movsd qword [ebp - 0x58], xmm0
movq qword [ecx + edx - 0xc], xmm1
mov eax, dword [ebp - 0x5c]
mov dword [ecx + edx - 4], eax
mov ebx, dword [ebp - 0x40]
lea ecx, [ebp - 0x58]
call fcn.00486e73
jmp 0x48bbaa
lea esi, [ebp - 0x60]
mov ecx, esi
call fcn.00487834
mov ebx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x38]
cmp al, 0xd
jne 0x48c05c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x98]
test eax, eax
je 0x48c05c
push esi
call fcn.004877f8
pop eax
jmp 0x48bbc0
movq xmm0, qword [ebp - 0x60]
movq qword [ebx], xmm0
jmp 0x48bbc3
lea ecx, [esi + 0x40]
lea edx, [esi + 0x50]
call fcn.0049cf44
jmp 0x48bf26
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x30]
mov al, byte [edx + esi]
test al, al
js 0x48c095
movdqa xmm0, xmmword [edx]
pmovmskb eax, xmm0
bsf esi, eax
mov al, byte [edx + esi]
mov ecx, dword [ebp - 0x34]
and al, 1
mov ebx, dword [ebp - 0x3c]
movzx eax, al
sub dword [ecx + 0x48], eax
lea eax, [esi - 0x10]
mov byte [edx + esi], bl
shl esi, 4
and eax, edi
mov byte [eax + edx + 0x10], bl
inc dword [ecx + 0x4c]
mov ecx, dword [ebp - 0x2c]
mov eax, edx
sub eax, esi
neg esi
mov dword [eax - 0x10], ecx
movsd xmm0, qword [ebp - 0x64]
movsd qword [edx + esi - 0xc], xmm0
mov ecx, dword [ebp - 0x5c]
mov dword [eax - 4], ecx
and dword [ebp - 0x58], 0
jmp 0x48c01f
cmp dword [ebp - 0x30], 0
je 0x48bd35
xor edx, edx
mov ecx, edi
inc edx
call fcn.0040e8d0
jmp 0x48bd35
ud2
push 0x2e
pop edx
mov ecx, str.assertion_failed:_shared.shutdown_tx.is_some__C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_blockingpool.rs
push 0x4ca998
call fcn.0049a440
pop eax
ud2
and dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], edi
push 4
pop ecx
push 8
pop edx
call fcn.0049a0b0
ud2
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], edx
push 0x2f
pop edx
mov ecx, str.thread_name_may_not_contain_interior_null_bytes
push 0x4c84e4
push 0x4c87d8
lea eax, [ebp - 0x58]
push eax
call fcn.0049a6f0
add esp, 0xc
ud2
add ecx, 8
xor edx, edx
call fcn.0047c400
lea ecx, [ebp - 0x58]
mov edx, 0x4c61ec
mov dword [ecx], str.too_many_running_threads_in_thread_scope
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], 0x4ef03c
and dword [ecx + 0xc], 0
call fcn.0049a2c0
ud2