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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [ecx + 0x1c]
mov esi, ecx
lea edi, [ecx + 0x1c]
mov dword [ecx + 0x1c], 0
test eax, eax
mov dword [ebp - 0x74], eax
je 0x496769
lea ecx, [ebp - 0x74]
call sym.__ZN4core3ptr148drop_in_place_LT_futures_channel..oneshot..Receiver_LT_hyper_util..client..legacy..client..PoolClient_LT_reqwe
mov eax, dword [esi + 0x18]
test eax, eax
je 0x496769
mov edx, eax
lea ebx, [eax + 8]
mov cl, 1
xor eax, eax
mov dword [ebp - 0x3c], edx
lock cmpxchg byte [edx + 8], cl
jne 0x4962f1
mov eax, dword [0x5e1180]
mov dword [ebp - 0x1c], edi
test eax, 0x7fffffff
je 0x496307
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
xor al, 1
jmp 0x496309
mov ecx, ebx
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h7bd09c01afe60157
mov eax, dword [0x5e1180]
mov dword [ebp - 0x1c], edi
test eax, 0x7fffffff
jne 0x4962e8
xor eax, eax
mov edi, dword [ebp - 0x3c]
xor ecx, ecx
movzx edx, byte [edi + 9]
mov dword [ebp - 0x38], eax
test dl, dl
movzx edx, word [ebp - 0x74]
setne cl
mov dword [ebp - 0x48], ecx
movzx ecx, byte [ebp - 0x72]
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x40], al
mov word [ebp - 0x3f], dx
mov byte [ebp - 0x3d], cl
je 0x496346
mov edi, dword [ebp - 0x1c]
test byte [ebp - 0x38], 1
je 0x496741
jmp 0x49675a
cmp dword [edi + 0x6c], 0
mov edi, dword [ebp - 0x1c]
je 0x4966fa
mov dword [ebp - 0x28], ebx
mov edi, dword [ebp - 0x3c]
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
lea eax, [edi + 0x60]
mov dword [ebp - 0x5c], eax
push esi
push dword [edi + 0x7c]
push dword [edi + 0x78]
call sym.core::hash::BuildHasher::hash_one::hce4552dd6db4bb86
add esp, 0xc
mov edx, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
movzx ebx, byte [esi]
mov edi, dword [esi + 4]
pcmpeqd xmm1, xmm1
mov dword [ebp - 0x24], edx
and edx, eax
shr eax, 0x19
movd xmm0, eax
mov eax, dword [esi + 0x10]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov dword [ebp - 0x50], eax
neg eax
mov dword [ebp - 0x20], eax
movzx eax, byte [esi + 1]
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x18], esi
mov esi, dword [esi + 0xc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x60], ecx
movdqu xmm2, xmmword [ecx + edx]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb esi, xmm3
test esi, esi
je 0x496546
mov dword [ebp - 0x64], edx
jmp 0x49640c
test al, al
je 0x4968b6
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
lea eax, [esi - 1]
and ax, si
mov esi, eax
je 0x496546
tzcnt eax, esi
add eax, edx
and eax, dword [ebp - 0x24]
neg eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], ecx
cmp eax, 1
je 0x4964c0
cmp eax, 2
jne 0x4968b6
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx - 0x28]
cmp al, 2
jne 0x4963f0
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 8]
mov eax, dword [ecx - 0x24]
cmp edx, dword [eax + 8]
mov dword [ebp - 0x58], edx
jne 0x4963f8
mov ecx, dword [ebp - 0x54]
mov edx, dword [eax + 4]
mov eax, 0xffffffff
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x58]
neg edi
nop word [eax + eax]
lea ebx, [edi + eax]
cmp ebx, 0xffffffff
je 0x4964d9
mov ecx, dword [ebp - 0x14]
mov bh, byte [edx + eax + 1]
movzx ecx, byte [ecx + eax + 1]
mov bl, cl
add bl, 0xbf
cmp bl, 0x1a
mov bl, bh
setb ch
add bl, 0xbf
shl ch, 5
cmp bl, 0x1a
setb bl
or ch, cl
inc eax
shl bl, 5
or bl, bh
cmp ch, bl
je 0x496470
cmp eax, dword [ebp - 0x58]
jb 0x4963f8
jmp 0x4964d9
movzx eax, byte [ecx - 0x28]
cmp al, 1
jne 0x4963f0
movzx eax, byte [ebp - 0x2d]
cmp al, byte [ecx - 0x27]
jne 0x4963f8
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [eax - 0x18]
jne 0x4963f8
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 0x1c]
mov eax, 0xffffffff
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [ebp - 0x20]
add edx, eax
cmp edx, 0xffffffff
je 0x496574
mov edx, dword [ebp - 0x2c]
movzx edx, byte [edx + eax + 1]
mov dh, byte [ecx + eax + 1]
mov ebx, edx
mov bh, dh
add bl, 0xbf
cmp bl, 0x1a
setb bl
add bh, 0xbf
shl bl, 5
cmp bh, 0x1a
setb bh
or bl, dl
inc eax
shl bh, 5
or bh, dh
cmp bl, bh
je 0x496500
cmp eax, dword [ebp - 0x50]
jb 0x4963f8
jmp 0x496574
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x28]
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x4966fa
mov eax, dword [ebp - 0x4c]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [ebp - 0x4c], eax
and edx, dword [ebp - 0x24]
jmp 0x4963c9
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 4]
xor eax, eax
test ecx, ecx
je 0x4965cf
mov edx, dword [ebp - 0x10]
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [edx - 4], eax
jbe 0x4968d6
mov esi, dword [edx - 8]
mov ebx, dword [edx - 0x10]
lea edi, [eax + esi]
cmp edi, ebx
mov edi, 0
cmovb ebx, edi
mov edi, dword [edx - 0xc]
sub esi, ebx
add esi, eax
mov esi, dword [edi + esi*4]
movzx ebx, byte [esi + 0x40]
test bl, bl
jne 0x4966b6
mov ebx, dword [ebp - 0x28]
inc eax
cmp ecx, eax
jne 0x496590
jmp 0x4966cc
xor edx, edx
cmp edx, ecx
jae 0x4966c1
mov dword [ebp - 0x20], eax
nop dword [eax]
mov eax, ecx
mov ecx, dword [ebp - 0x10]
cmp dword [ecx - 4], edx
jbe 0x4968cf
mov esi, dword [ecx - 8]
mov ebx, dword [ecx - 0x10]
mov ecx, dword [ecx - 0xc]
lea edi, [edx + esi]
cmp edi, ebx
mov edi, 0
cmovb ebx, edi
sub esi, ebx
add esi, edx
mov esi, dword [ecx + esi*4]
movzx ebx, byte [esi + 0x40]
test bl, bl
je 0x496622
mov ebx, dword [ebp - 0x28]
inc edx
mov ecx, eax
cmp edx, eax
jb 0x4965e0
jmp 0x4966aa
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebx - 4]
cmp esi, dword [ebp - 0x20]
jbe 0x4968fc
cmp esi, edx
jbe 0x4968f0
mov ecx, eax
mov edi, dword [ebx - 8]
mov eax, dword [ebp - 0x20]
lea esi, [edi + eax]
mov dword [ebp - 0x14], esi
mov esi, dword [ebx - 0x10]
mov ebx, dword [ebx - 0xc]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], ebx
mov ebx, esi
cmp dword [ebp - 0x14], esi
mov esi, 0
cmovb ebx, esi
add edi, edx
sub dword [ebp - 0x14], ebx
mov ebx, 0
mov esi, dword [ebp - 0x24]
cmp edi, esi
cmovb esi, ebx
inc edx
inc eax
sub edi, esi
cmp edx, ecx
mov dword [ebp - 0x34], edi
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [esi + ebx*4]
mov dword [ebp - 0x24], ebx
mov ebx, dword [esi + edi*4]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x2c]
mov dword [edi + esi*4], ebx
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x34]
mov dword [esi + edi*4], ebx
mov ebx, dword [ebp - 0x28]
jb 0x4965d9
jmp 0x4966ad
mov eax, dword [ebp - 0x20]
cmp edx, eax
je 0x4966cc
jmp 0x4967dd
lea edx, [eax + 1]
cmp edx, ecx
jb 0x4965d9
mov ebx, dword [ebp - 0x28]
cmp edx, eax
jne 0x4967dd
mov eax, dword [ebp - 0x10]
mov esi, dword [eax - 4]
test esi, esi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
jne 0x4966fa
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x74]
push esi
call sym.hashbrown::map::HashMap_LT_K_C_V_C_S_C_A_GT_::remove::h62548438d8217654
add esp, 4
xor eax, eax
cmp eax, dword [ebp - 0x74]
jo 0x4966fa
lea ecx, [ebp - 0x74]
call sym.__ZN4core3ptr193drop_in_place_LT_alloc..collections..vec_deque..VecDeque_LT_futures_channel..oneshot..Sender_LT_hyper_util..cl
cmp byte [ebp - 0x38], 0
jne 0x49671c
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49671c
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x49671c
mov eax, dword [ebp - 0x3c]
mov byte [eax + 9], 1
xor eax, eax
xchg byte [ebx], al
cmp al, 2
jne 0x49672b
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test byte [ebp - 0x48], 1
je 0x496769
movzx eax, byte [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
test byte [ebp - 0x38], 1
jne 0x49675a
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49675a
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x49675a
mov byte [ebx + 1], 1
xor eax, eax
xchg byte [ebx], al
cmp al, 2
jne 0x496769
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp byte [esi], 2
jb 0x496799
mov dword [ebp - 0x18], esi
mov esi, dword [esi + 4]
mov eax, dword [esi]
lea ecx, [esi + 0xc]
mov eax, dword [eax + 0x10]
push dword [esi + 8]
push dword [esi + 4]
push ecx
call eax
add esp, 0xc
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 8]
lea ecx, [esi + 0x14]
mov eax, dword [eax + 0x10]
push dword [esi + 0x10]
push dword [esi + 0xc]
push ecx
call eax
add esp, 0xc
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4967c2
lock dec dword [eax]
jne 0x4967c2
mov ecx, dword [esi + 0x18]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h1ee3d91f184a6f4a
cmp dword [edi], 0
je 0x4967d5
mov ecx, edi
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
jmp sym.__ZN4core3ptr148drop_in_place_LT_futures_channel..oneshot..Receiver_LT_hyper_util..client..legacy..client..PoolClient_LT_reqwe
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x10]
mov esi, dword [edx - 4]
mov edi, esi
sub edi, eax
jbe 0x4966d2
mov ecx, edx
mov edx, dword [edx - 8]
mov ebx, dword [ecx - 0x10]
mov ecx, 0
cmp edx, ebx
mov dword [ebp - 0x14], ebx
cmovb ebx, ecx
sub edx, ebx
mov ebx, dword [ebp - 0x14]
lea ecx, [edx + esi]
sub ebx, edx
cmp ebx, esi
cmovb ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], esi
sub esi, ebx
mov ebx, dword [ebp - 0x10]
mov ebx, dword [ebx - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, 0
cmovb esi, ebx
sub ecx, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], ecx
mov esi, eax
mov edx, dword [ebp - 0x10]
sub esi, ecx
mov dword [edx - 4], eax
jbe 0x496866
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
inc edi
lea ecx, [eax + esi*4]
nop dword [eax]
cmp edi, 1
je 0x4966cc
lea esi, [ecx + 4]
dec edi
call sym.__ZN4core3ptr146drop_in_place_LT_futures_channel..oneshot..Sender_LT_hyper_util..client..legacy..client..PoolClient_LT_reqwest
mov ecx, esi
jmp 0x496850
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
mov edi, esi
lea ecx, [edx + ecx*4]
sub edi, eax
lea ecx, [ecx + eax*4]
mov eax, esi
inc edi
nop
cmp edi, 1
je 0x496895
lea esi, [ecx + 4]
dec edi
call sym.__ZN4core3ptr146drop_in_place_LT_futures_channel..oneshot..Sender_LT_hyper_util..client..legacy..client..PoolClient_LT_reqwest
mov eax, dword [ebp - 0x14]
mov ecx, esi
jmp 0x496880
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub edi, eax
inc edi
nop
cmp edi, 1
je 0x4966cc
lea esi, [ecx + 4]
dec edi
call sym.__ZN4core3ptr146drop_in_place_LT_futures_channel..oneshot..Sender_LT_hyper_util..client..legacy..client..PoolClient_LT_reqwest
mov ecx, esi
jmp 0x4968a0
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5860f0
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x496914
mov eax, 0x5a8bd8
jmp 0x4968db
mov eax, 0x5a8bc8
mov edx, 0x14
mov ecx, 0x5a8b54
push eax
call sym.core::option::expect_failed::hd8e256290d73f0e2
add esp, 4
jmp 0x496914
mov eax, 0x5a8c38
mov ecx, str.assertion_failed:_j___self.len__h
jmp 0x496906
mov eax, 0x5a8c08
mov ecx, str.assertion_failed:_i___self.len__h
mov edx, 0x20
push eax
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
ud2