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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov edi, edx
mov ebx, ecx
call sym.std::thread::current::h6a47e85c34b9ff43
lock dec byte [eax + 0x18]
je 0x4fcd93
mov ecx, dword [0x5da120]
mov esi, eax
mov dword [esp + 0x30], eax
add esi, 0x18
mov dword [esp + 0x2c], esi
test ecx, ecx
je 0x4fc870
mov dword [esp + 4], ecx
mov ecx, 0x3e8
mov eax, edi
mul ecx
mov edx, 0x3e8
mov esi, eax
mov eax, ebx
seto cl
mul edx
mov edi, edx
mov ebx, eax
add edi, esi
setb al
or al, cl
jne 0x4fc84f
mov eax, dword [ebp + 8]
mov ecx, 0x431bde83
mul ecx
shr edx, 0x12
add ebx, edx
adc edi, 0
jb 0x4fc84f
imul eax, dword [ebp + 8], 0x68c26139
xor ecx, ecx
ror eax, 6
cmp eax, 0x10c7
setae cl
xor eax, eax
add ebx, ecx
adc edi, 0
setb cl
neg edi
sbb eax, eax
test cl, cl
je 0x4fc8bc
mov eax, 0xffffffff
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 4]
push eax
push 1
push 0x5b9bd8
push esi
call ecx
xor eax, eax
xchg byte [esi], al
jmp 0x4fcd8f
mov eax, dword [0x55e04c]
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jne 0x4fc8d2
mov dword [esp + 0x50], 0xffffffff
mov eax, dword [sym.__ZN3std3sys7windows1c18NtCreateKeyedEvent4load17h8e5ca66936e5c29bE_16]
lea ecx, [esp + 0x50]
push 0
push 0
push 0xc0000000
push ecx
call eax
test eax, eax
jne 0x4fcda7
mov ecx, dword [esp + 0x50]
mov eax, 0xffffffff
lock cmpxchg dword [0x55e04c], ecx
jne 0x4fc8c0
mov dword [esp + 0x28], ecx
jmp 0x4fc8d2
or eax, ebx
jmp 0x4fc854
push ecx
mov dword [esp + 8], eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov esi, 0x3b9aca00
mov eax, ebx
mul esi
mov ebx, eax
mov eax, edi
mov ecx, edx
mul esi
mov esi, ebx
add eax, ecx
mov ecx, 0xffffff9c
adc edx, 0
add esi, dword [ebp + 8]
adc eax, 0
adc edx, 0
setb bl
cmp ecx, esi
mov ecx, 0xffffffff
sbb ecx, eax
mov ecx, 0x31
movzx edi, bl
sbb ecx, edx
mov ecx, 0
sbb ecx, edi
jb 0x4fcaf9
mov dword [esp + 0x54], esi
add esi, 0x63
mov ebx, eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x24], eax
mov eax, edi
mov dword [esp + 0x20], edi
mov dword [esp + 4], esi
mov esi, edx
adc ebx, 0
mov edx, dword [esp + 4]
adc esi, 0
mov ecx, ebx
adc eax, 0
mov dword [esp + 0xc], esi
or ecx, eax
mov dword [esp + 0x14], eax
or edx, esi
or edx, ecx
sete byte [esp + 8]
bsr edx, esi
bsr edi, eax
xor edx, 0x1f
xor edi, 0x1f
add edx, 0x20
test eax, eax
cmovne edx, edi
bsr edi, dword [esp + 4]
bsr ecx, ebx
xor ecx, 0x1f
xor edi, 0x1f
add edi, 0x20
test ebx, ebx
cmovne edi, ecx
mov ecx, 0x7f
add edi, 0x40
or esi, eax
mov eax, 0x79
mov esi, 0
cmovne edi, edx
mov edx, 0
sub eax, edi
mov edi, 0
sbb edx, edx
sbb edi, edi
sbb esi, esi
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
mov ecx, 0
mov dword [esp + 0x1c], esi
sbb ecx, edi
mov ecx, 0
sbb ecx, esi
mov esi, 0
setb cl
or cl, byte [esp + 8]
mov ecx, ebx
mov dword [esp + 8], ebx
mov ebx, dword [esp + 4]
cmovne ecx, esi
cmovne ebx, esi
jne 0x4fcd12
mov esi, edx
or edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
xor ecx, 0x7f
or ecx, edi
or edx, ecx
mov edx, edi
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
je 0x4fcd1a
mov eax, dword [esp + 4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
mov eax, edx
xor cl, 0x7f
mov ch, cl
shr cl, 3
and cl, 0xf
and ch, 7
neg cl
movsx edx, cl
mov cl, ch
mov edi, dword [esp + edx + 0xcc]
mov ebx, dword [esp + edx + 0xd0]
shld ebx, edi, cl
shl edi, cl
not cl
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], edi
mov ebx, dword [esp + edx + 0xc8]
mov edi, dword [esp + edx + 0xc4]
mov edx, ebx
shr edx, 1
shr edx, cl
mov cl, ch
shld ebx, edi, cl
shl edi, cl
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
add ebx, 1
adc esi, 0
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x1c]
adc eax, 0
mov dword [esp + 0x38], eax
adc esi, 0
jae 0x4fcafe
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
jmp 0x4fccfe
jmp 0x4fcd26
mov ecx, dword [esp + 4]
or dword [esp + 0x34], edx
mov eax, ebx
shr al, 3
and al, 0xf
movzx edx, al
mov eax, edi
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
mov ch, bl
mov esi, dword [esp + edx + 0x9c]
mov ebx, dword [esp + edx + 0xa0]
and ch, 7
mov cl, ch
mov edi, esi
add esi, esi
shrd edi, ebx, cl
mov dword [esp + 0x44], edi
mov edi, dword [esp + edx + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 4], edi
shr edi, cl
not cl
shl esi, cl
mov cl, ch
or esi, edi
shr ebx, cl
mov edi, dword [esp + 0x14]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 4]
mov eax, ebx
mov edx, dword [esp + edx + 0x94]
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
shrd edx, esi, cl
mov esi, 0x64
mov dword [esp + 0x40], edx
add esi, 0xffffffff
mov edx, 0
mov dword [esp + 0x68], esi
adc edx, 0xffffffff
mov esi, 0
mov dword [esp + 0x64], edx
adc esi, 0xffffffff
mov edx, 0
adc edx, 0xffffffff
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x3c]
nop dword [eax]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
shld eax, edx, 1
shld edx, esi, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
shld esi, eax, 1
shld eax, ebx, 1
shld ebx, ecx, 1
or ebx, dword [esp + 4]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x10]
shld ecx, ebx, 1
shld ebx, edi, 1
add edi, edi
or ecx, dword [esp + 4]
or ebx, dword [esp + 4]
or edi, dword [esp + 0xc]
cmp dword [esp + 0x68], eax
mov dword [esp + 4], 0
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x14], edi
sbb ecx, esi
mov ecx, dword [esp + 0x60]
sbb ecx, edx
mov ecx, dword [esp + 0x5c]
sbb ecx, ebx
sar ecx, 0x1f
mov edi, ecx
and edi, 1
mov dword [esp + 0xc], edi
mov edi, 0x64
and ecx, edi
mov edi, dword [esp + 0x18]
sub eax, ecx
sbb esi, 0
mov dword [esp + 0x40], eax
mov eax, ebx
sbb edx, 0
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x3c]
sbb eax, 0
add edi, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
adc edx, 0xffffffff
adc esi, 0xffffffff
mov ecx, edx
adc eax, 0xffffffff
or edi, esi
or ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
or edi, ecx
mov edi, dword [esp + 0x14]
jne 0x4fcc10
mov ecx, dword [esp + 0x10]
shld ecx, edi, 1
add edi, edi
or edi, dword [esp + 0xc]
or ecx, dword [esp + 4]
mov ebx, edi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
neg ebx
mov ecx, 0
sbb ecx, dword [esp + 0x10]
cmp esi, 0xffffff9d
sbb eax, 0xffffffff
mov eax, 0
sbb edx, 0x31
sbb edi, 0
mov dword [esp + 4], ecx
mov ecx, 0x80000000
cmovae ebx, eax
cmovb ecx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
mov eax, dword [sym.__ZN3std3sys7windows1c19NtWaitForKeyedEvent4load17h82b9579839a0d0cfE_16]
lea ecx, [esp + 0x70]
push ecx
push 0
mov esi, dword [esp + 0x34]
push esi
mov edi, dword [esp + 0x34]
push edi
call eax
test eax, eax
mov eax, 0
xchg byte [esi], al
je 0x4fcd8f
cmp al, 1
jne 0x4fcd8f
mov eax, dword [sym.__ZN3std3sys7windows1c19NtWaitForKeyedEvent4load17h82b9579839a0d0cfE_16]
push 0
push 0
push esi
push edi
call eax
mov eax, dword [esp + 0x30]
lock dec dword [eax]
jne 0x4fcd9f
mov ecx, eax
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h11981ade3ce8ba02
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esp + 0x6c]
lea esi, [esp + 0x8c]
mov dword [esp + 0x70], 0x5bc1e8
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], sym.core::fmt::num::imp::__LT_impl_u20_core..fmt..Display_u20_for_u20_i32_GT_::fmt::hb7497515883669bb
mov dword [esp + 0x7c], 1
lea ecx, [esp + 0x70]
mov edx, 0x5bc220
call dbg.panic_fmt
jmp 0x4fce0f
ud2