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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov ebx, dword [esp + 0xb0]
mov edi, ecx
mov ecx, 0x52b4ec
mov ebp, edx
call fcn.004b4876
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
cmp dword [eax + 0x78], 0
je 0x4b6de5
mov esi, eax
add eax, 0x88
mov dword [esp + 4], eax
push eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x4b6c41
xor ebx, ebx
mov al, byte [esi + 0x8c]
cmp byte [esi + 0xa4], 0
mov dword [esp + 0x14], esi
mov dword [esp], edi
je 0x4b6914
lea esi, [esp + 0x34]
mov edx, 0x27
mov ecx, esi
push 0x38
push str.A_Tokio_1.x_context_was_found__but_it_is_being_shutdown.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.0_src_runtime_taskcore.rs
call fcn.004981d9
add esp, 8
cmp byte [esi], 4
jne 0x4b6b5a
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
jmp 0x4b69a2
mov al, byte [0x538038]
mov ecx, 0x80
mov edx, 0x40
call fcn.004018b0
test eax, eax
je 0x4b6df9
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [eax + 0x40], ecx
mov byte [eax + 0x44], 0
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x50], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x68], ecx
lock inc dword [eax]
jle 0x4b6de3
mov edx, eax
add edx, 0x40
mov dword [esp + 0x4c], edx
mov ecx, dword [esi + 0x9c]
cmp ecx, edx
je 0x4b6e08
test ecx, ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], 0
je 0x4b698d
mov dword [ecx + 0x20], edx
mov dword [esi + 0x9c], edx
cmp dword [esi + 0xa0], 0
jne 0x4b69a2
mov dword [esi + 0xa0], edx
mov dword [esp + 8], eax
mov ecx, dword [esp + 4]
movzx edx, bl
call fcn.00422a70
mov eax, dword [esp + 8]
cmp dword [esp + 0xb0], 0
lea eax, [eax + 0x40]
mov dword [esp + 0x10], eax
je 0x4b6a2c
xor ebx, ebx
mov edi, 0xc00
xor ebp, ebp
inc ebx
movzx esi, bl
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x4b6dbc
xor ebx, ebx
mov ecx, dword [esp + 0x14]
or edi, esi
mov al, byte [ecx + 0x8c]
mov edx, dword [esp + 0x10]
add ecx, 0x90
call fcn.004b9ebc
mov ecx, dword [esp + 4]
movzx edx, bl
call fcn.00422a70
mov ecx, dword [esp + 8]
lock dec dword [ecx]
jne 0x4b6a25
call fcn.004b6604
mov esi, ebp
jmp 0x4b6b84
mov eax, dword [esi + 0x78]
lea esi, [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], esi
push ebx
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x4b6dcb
xor eax, eax
mov edx, dword [esp + 0xc]
mov cl, byte [edx + 0x14]
test cl, cl
jne 0x4b6e24
mov dword [esp + 0x24], ebx
mov byte [esp + 0x28], al
lea eax, [edx + 0x18]
mov ecx, dword [edx + 0x20]
test ecx, ecx
je 0x4b6a85
mov edx, dword [edx + 0x1c]
mov ecx, dword [edx + ecx*4 - 4]
mov ecx, dword [ecx]
cmp ecx, 0x20
jbe 0x4b6aa8
mov edx, dword [esi]
lea esi, [esp + 0x5c]
mov ecx, esi
push eax
call fcn.0043900d
add esp, 4
cmp byte [esi], 4
je 0x4b6aa8
mov ebx, dword [esp + 0x5c]
cmp bl, 4
jne 0x4b6c50
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x4b6e46
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + eax*4 - 4]
lock inc dword [esi]
jle 0x4b6de3
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
call fcn.00422a70
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x4c]
mov edx, ebp
mov ecx, esi
push 0x48000022
call fcn.0043918d
add esp, 4
cmp dword [esi], 0
je 0x4b6bc8
mov edi, 0xfffffff4
lea esi, [esp + 0x34]
mov ecx, esi
mov edx, ebp
push dword [edi + 0x520ffc]
call fcn.0043918d
add esp, 4
cmp dword [esp + 0x34], 0
jne 0x4b6b24
mov ebx, dword [esp + 0x38]
cmp ebx, ebp
jne 0x4b6bcc
add edi, 4
jne 0x4b6aff
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], eax
lock dec dword [ecx]
mov edi, dword [esp]
jne 0x4b6b4a
call fcn.00437831
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
movzx eax, bl
jmp 0x4b6c6d
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
cmp al, 4
jne 0x4b6b76
mov dword [esp + 8], esi
mov esi, dword [esp + 0x14]
mov edi, dword [esp]
jmp 0x4b69a6
mov ecx, dword [esp + 4]
movzx edx, bl
mov edi, eax
call fcn.00422a70
mov ebx, edi
cmp bl, 4
jne 0x4b6b93
mov edi, dword [esp]
jmp 0x4b6d8b
mov eax, dword [esp + 0x20]
lock dec dword [eax]
mov edi, dword [esp]
jne 0x4b6ba8
lea ecx, [esp + 0x20]
call fcn.004b546b
lea ecx, [esp + 0x1c]
call fcn.00437e75
push dword [esp + 0x18]
call dword [sym.imp.ws2_32.dll_closesocket]
xor eax, eax
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
jmp 0x4b6da0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov al, byte [0x538038]
mov ecx, 0x60
mov edx, 8
call fcn.004018b0
test eax, eax
je 0x4b6eeb
xor ecx, ecx
mov edx, dword [esp + 0x2c]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [eax + 8], ecx
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
mov esi, eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], edx
mov dword [eax + 0x4c], ebx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x50], ecx
mov word [eax + 0x58], 0
jmp 0x4b6c76
call fcn.004ec710
mov ebx, eax
xor bl, 1
jmp 0x4b68ce
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
call fcn.00422a70
movzx eax, bl
cmp eax, 4
je 0x4b6ad4
cmp eax, 4
jne 0x4b6d82
lea ebp, [esi + 8]
push ebp
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x4b6dd7
xor eax, eax
mov cl, byte [esi + 0xc]
test cl, cl
jne 0x4b6ec8
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x50], 0x19d
movzx edx, al
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], ecx
mov ecx, ebp
call fcn.00422a70
mov eax, dword [esp + 0xc]
lock inc dword [eax]
jle 0x4b6de3
lock inc dword [esi]
jle 0x4b6de3
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, esi
lea esi, [edi + 8]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], eax
mov byte [esp + 0x68], 3
mov dword [esp + 0x60], edx
mov ecx, esi
call fcn.004391d4
mov al, byte [edi + 0x3c]
test al, al
je 0x4b6d19
lea ebx, [esp + 0x34]
mov edx, esi
mov ecx, ebx
call fcn.004387f4
cmp byte [ebx], 4
je 0x4b6d19
mov ebx, dword [esp + 0x34]
cmp bl, 4
jne 0x4b6d72
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
test edi, edi
je 0x4b6d7f
mov eax, dword [esp + 0x68]
mov ecx, 0x10
mov edx, 4
mov ebp, esi
mov dword [esp + 4], eax
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x4b6efa
mov ecx, dword [esp + 4]
mov esi, eax
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [esi + 0xc], ecx
lea ecx, [esp + 0x1c]
call fcn.00437e75
mov edi, dword [esp]
mov dword [esp + 0x1c], esi
jmp 0x4b6d87
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x5c]
call fcn.0043924c
mov edi, dword [esp]
cmp bl, 4
jne 0x4b6dad
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov dword [edi], eax
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ebx
mov ebp, esi
and edi, 0xffffff00
jmp 0x4b69d1
call fcn.004ec710
mov ebx, eax
xor bl, 1
jmp 0x4b69f0
call fcn.004ec710
xor al, 1
jmp 0x4b6a56
call fcn.004ec710
xor al, 1
jmp 0x4b6c92
ud2
mov ecx, 0x52b8c8
mov edx, 0x68
push 0x52b4ec
call fcn.004e8fb0
mov ecx, 0x40
mov edx, 0x80
call fcn.004e8800
lea eax, [esp + 0x5c]
add esi, 0x9c
lea edx, [esp + 0x4c]
mov dword [eax], 0
mov ecx, esi
push eax
call fcn.004ecd3d
lea esi, [esp + 0x5c]
mov ecx, 0x52e639
mov edx, 0x2b
mov dword [esi], ebx
mov byte [esi + 4], al
push 0x520e14
push 0x520b34
jmp 0x4b6ee5
lea ecx, [esp + 0x30]
lea eax, [esp + 0x4c]
mov edx, 2
lea esi, [esp + 0x5c]
mov edi, 4
mov bl, 3
mov dword [eax], ecx
lea ecx, [esp + 0x24]
mov dword [eax + 4], 0x4380eb
mov dword [esi], edx
mov dword [esi + 8], edx
mov dword [eax + 8], ecx
mov ecx, 0x20
mov dword [eax + 0xc], 0x438415
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], edi
mov byte [esi + 0x1c], bl
mov dword [esi + 0x20], edx
mov dword [esi + 0x28], edx
mov dword [esi + 0x30], ecx
lea ecx, [esp + 0x34]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], edi
mov byte [esi + 0x3c], bl
mov dword [ecx], 0x520e70
mov dword [ecx + 4], edx
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov edx, 0x520e80
call fcn.004e8b50
lea esi, [esp + 0x5c]
mov ecx, 0x52e639
mov edx, 0x2b
mov dword [esi], ebp
mov byte [esi + 4], al
push 0x520fc0
push 0x520b44
push esi
call fcn.004e8f30
mov ecx, 8
mov edx, 0x60
call fcn.004e8800
mov ecx, 4
mov edx, 0x10
call fcn.004e8800