Function at 0x4b6565
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, 0x52b45c
mov ebp, edx
call fcn.004b4566
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
cmp dword [eax + 0x78], 0
je 0x4b6ad5
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 0x4b6931
xor ebx, ebx
mov al, byte [esi + 0x8c]
cmp byte [esi + 0xa4], 0
mov dword [esp + 0x14], esi
mov dword [esp], edi
je 0x4b6604
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.00497ea9
add esp, 8
cmp byte [esi], 4
jne 0x4b684a
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
jmp 0x4b6692
mov al, byte [0x538038]
mov ecx, 0x80
mov edx, 0x40
call fcn.00439850
test eax, eax
je 0x4b6ae9
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 0x4b6ad3
mov edx, eax
add edx, 0x40
mov dword [esp + 0x4c], edx
mov ecx, dword [esi + 0x9c]
cmp ecx, edx
je 0x4b6af8
test ecx, ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], 0
je 0x4b667d
mov dword [ecx + 0x20], edx
mov dword [esi + 0x9c], edx
cmp dword [esi + 0xa0], 0
jne 0x4b6692
mov dword [esi + 0xa0], edx
mov dword [esp + 8], eax
mov ecx, dword [esp + 4]
movzx edx, bl
call fcn.00422910
mov eax, dword [esp + 8]
cmp dword [esp + 0xb0], 0
lea eax, [eax + 0x40]
mov dword [esp + 0x10], eax
je 0x4b671c
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 0x4b6aac
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.004b9bac
mov ecx, dword [esp + 4]
movzx edx, bl
call fcn.00422910
mov ecx, dword [esp + 8]
lock dec dword [ecx]
jne 0x4b6715
call fcn.004b62f4
mov esi, ebp
jmp 0x4b6874
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 0x4b6abb
xor eax, eax
mov edx, dword [esp + 0xc]
mov cl, byte [edx + 0x14]
test cl, cl
jne 0x4b6b14
mov dword [esp + 0x24], ebx
mov byte [esp + 0x28], al
lea eax, [edx + 0x18]
mov ecx, dword [edx + 0x20]
test ecx, ecx
je 0x4b6775
mov edx, dword [edx + 0x1c]
mov ecx, dword [edx + ecx*4 - 4]
mov ecx, dword [ecx]
cmp ecx, 0x20
jbe 0x4b6798
mov edx, dword [esi]
lea esi, [esp + 0x5c]
mov ecx, esi
push eax
call fcn.00438b9d
add esp, 4
cmp byte [esi], 4
je 0x4b6798
mov ebx, dword [esp + 0x5c]
cmp bl, 4
jne 0x4b6940
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x4b6b36
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + eax*4 - 4]
lock inc dword [esi]
jle 0x4b6ad3
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
call fcn.00422910
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x4c]
mov edx, ebp
mov ecx, esi
push 0x48000022
call fcn.00438d1d
add esp, 4
cmp dword [esi], 0
je 0x4b68b8
mov edi, 0xfffffff4
lea esi, [esp + 0x34]
mov ecx, esi
mov edx, ebp
push dword [edi + 0x520f78]
call fcn.00438d1d
add esp, 4
cmp dword [esp + 0x34], 0
jne 0x4b6814
mov ebx, dword [esp + 0x38]
cmp ebx, ebp
jne 0x4b68bc
add edi, 4
jne 0x4b67ef
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 0x4b683a
call fcn.00437379
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
movzx eax, bl
jmp 0x4b695d
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
cmp al, 4
jne 0x4b6866
mov dword [esp + 8], esi
mov esi, dword [esp + 0x14]
mov edi, dword [esp]
jmp 0x4b6696
mov ecx, dword [esp + 4]
movzx edx, bl
mov edi, eax
call fcn.00422910
mov ebx, edi
cmp bl, 4
jne 0x4b6883
mov edi, dword [esp]
jmp 0x4b6a7b
mov eax, dword [esp + 0x20]
lock dec dword [eax]
mov edi, dword [esp]
jne 0x4b6898
lea ecx, [esp + 0x20]
call fcn.004b515b
lea ecx, [esp + 0x1c]
call fcn.00437a03
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 0x4b6a90
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov al, byte [0x538038]
mov ecx, 0x60
mov edx, 8
call fcn.00439850
test eax, eax
je 0x4b6bdb
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 0x4b6966
call fcn.004ec480
mov ebx, eax
xor bl, 1
jmp 0x4b65be
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
call fcn.00422910
movzx eax, bl
cmp eax, 4
je 0x4b67c4
cmp eax, 4
jne 0x4b6a72
lea ebp, [esi + 8]
push ebp
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x4b6ac7
xor eax, eax
mov cl, byte [esi + 0xc]
test cl, cl
jne 0x4b6bb8
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.00422910
mov eax, dword [esp + 0xc]
lock inc dword [eax]
jle 0x4b6ad3
lock inc dword [esi]
jle 0x4b6ad3
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.00438d64
mov al, byte [edi + 0x3c]
test al, al
je 0x4b6a09
lea ebx, [esp + 0x34]
mov edx, esi
mov ecx, ebx
call fcn.00438384
cmp byte [ebx], 4
je 0x4b6a09
mov ebx, dword [esp + 0x34]
cmp bl, 4
jne 0x4b6a62
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
test edi, edi
je 0x4b6a6f
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.00439850
test eax, eax
je 0x4b6bea
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.00437a03
mov edi, dword [esp]
mov dword [esp + 0x1c], esi
jmp 0x4b6a77
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x5c]
call fcn.00438ddc
mov edi, dword [esp]
cmp bl, 4
jne 0x4b6a9d
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 0x4b66c1
call fcn.004ec480
mov ebx, eax
xor bl, 1
jmp 0x4b66e0
call fcn.004ec480
xor al, 1
jmp 0x4b6746
call fcn.004ec480
xor al, 1
jmp 0x4b6982
ud2
mov ecx, 0x52b838
mov edx, 0x68
push 0x52b45c
call fcn.004e8d40
mov ecx, 0x40
mov edx, 0x80
call fcn.004e8590
lea eax, [esp + 0x5c]
add esi, 0x9c
lea edx, [esp + 0x4c]
mov dword [eax], 0
mov ecx, esi
push eax
call fcn.004ecaad
lea esi, [esp + 0x5c]
mov ecx, 0x52e579
mov edx, 0x2b
mov dword [esi], ebx
mov byte [esi + 4], al
push 0x520d90
push 0x520ab0
jmp 0x4b6bd5
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], 0x437c7b
mov dword [esi], edx
mov dword [esi + 8], edx
mov dword [eax + 8], ecx
mov ecx, 0x20
mov dword [eax + 0xc], 0x437fa5
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], 0x520dec
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, 0x520dfc
call fcn.004e88e0
lea esi, [esp + 0x5c]
mov ecx, 0x52e579
mov edx, 0x2b
mov dword [esi], ebp
mov byte [esi + 4], al
push 0x520f3c
push 0x520ac0
push esi
call fcn.004e8cc0
mov ecx, 8
mov edx, 0x60
call fcn.004e8590
mov ecx, 4
mov edx, 0x10
call fcn.004e8590