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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x30]
movzx eax, byte [ebx + 0x20]
test al, al
je 0x49d945
mov al, 1
xchg byte [ebx + 0x21], al
test al, al
jne 0x49d93b
xor eax, eax
xchg byte [ebx + 0x21], al
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [ebx + 0x20]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], ecx
mov eax, dword [eax]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx]
add esp, 4
mov cl, 1
mov esi, eax
mov edi, edx
xchg byte [ebx + 0x10], cl
test cl, cl
jne 0x49ead3
mov eax, dword [ebx + 8]
test eax, eax
je 0x49d97e
mov eax, dword [eax + 0xc]
push dword [ebx + 0xc]
call eax
add esp, 4
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edi
xor eax, eax
xchg byte [ebx + 0x10], al
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
jne 0x49d92d
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x2c]
push dword [ebp + 0xc]
mov dword [esp + 0x14], eax
push eax
call dword [edi + 0xc]
add esp, 8
test al, al
jne 0x49d93d
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0x14]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov eax, esi
add eax, edx
mov eax, ebx
adc eax, ecx
jb 0x49ebb8
mov eax, dword [ebp + 8]
add esi, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edx
adc ebx, ecx
mov edi, dword [eax + 8]
mov eax, dword [eax + 0x18]
add eax, edi
mov dword [esp + 0x1c], edi
mov edi, eax
cmp eax, 0x3b9aca00
jb 0x49da0d
mov eax, esi
and eax, ebx
cmp eax, 0xffffffff
je 0x49ebb8
add edi, 0xc4653600
add esi, 1
adc ebx, 0
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], edi
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], edi
call sym.std::time::Instant::now::h83333c20253d8abb
mov edi, edx
cmp ecx, 0x4c4b3f
ja 0x49da44
mov edx, eax
or eax, edi
je 0x49ec16
add edx, 0xffffffff
adc edi, 0xffffffff
add ecx, 0x3b9aca00
mov eax, edx
add ecx, 0xffb3b4c0
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], ebx
cmp ecx, 0x3b9aca00
jae 0x49da70
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
jmp 0x49daa7
mov esi, eax
mov eax, ecx
mov edx, 0x44b83
shr eax, 9
mul edx
mov eax, esi
shr edx, 7
add eax, edx
mov eax, edi
adc eax, 0
jb 0x49ebe0
imul eax, edx, 0x3b9aca00
sub ecx, eax
add esi, edx
adc edi, 0
mov eax, esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov ecx, eax
mov ebx, edx
mov edi, esi
xor ebx, eax
mov eax, dword [esp + 8]
xor edi, dword [esp + 4]
cmp dword [esp + 0xc], eax
mov eax, 0
setb al
cmp edx, ecx
mov ecx, esi
sbb ecx, dword [esp + 4]
setb cl
or edi, ebx
mov edi, dword [esp + 0xc]
mov ebx, esi
mov esi, edx
movzx ecx, cl
cmove ecx, eax
cmp cl, 1
jne 0x49db47
call sym.std::time::Instant::now::h83333c20253d8abb
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1c]
mov esi, eax
add eax, ebx
mov eax, edx
adc eax, edi
jb 0x49ebcc
add esi, ebx
adc edx, edi
add ecx, dword [esp + 0xc]
mov ebx, edx
cmp ecx, 0x3b9aca00
jb 0x49db39
mov eax, esi
and eax, ebx
cmp eax, 0xffffffff
je 0x49ebcc
add ecx, 0xc4653600
add esi, 1
adc ebx, 0
mov eax, dword [ebp + 8]
mov edi, ecx
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
push edi
push ebx
push esi
push eax
call dword [ecx + 0x10]
add esp, 0x10
mov ebx, dword [esp + 0x20]
mov edi, eax
mov esi, edx
mov eax, dword [ebx]
test eax, eax
je 0x49db7c
push dword [esp + 0x10]
call eax
add esp, 4
cmp dword [ebx + 4], 0
mov eax, ebx
mov ebx, dword [ebp + 8]
je 0x49dba8
cmp dword [eax + 8], 9
jae 0x49db93
mov eax, dword [esp + 0x10]
jmp 0x49db9a
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov dword [ebx + 0x28], edi
mov dword [ebx + 0x2c], esi
mov ebx, dword [ebx + 0x34]
lea eax, [ebx + 1]
cmp eax, 2
mov eax, dword [esp + 0x14]
jb 0x49d93d
mov eax, dword [ebx]
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x49d93b
js 0x49ebb3
lea ecx, [eax + 1]
lock cmpxchg dword [ebx], ecx
jne 0x49dbd0
lea eax, [ebx + 8]
mov cl, 1
mov dword [esp + 0x2c], eax
xor eax, eax
lock cmpxchg byte [ebx + 8], cl
jne 0x49dc11
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49dc26
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
mov edx, eax
xor dl, 1
jmp 0x49dc28
mov ecx, dword [esp + 0x2c]
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h7bd09c01afe60157
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
jne 0x49dc05
xor edx, edx
movzx eax, byte [ebx + 9]
mov esi, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x38], edx
test al, al
mov dword [esp + 0x54], esi
mov byte [esp + 0x58], dl
setne cl
mov dword [esp + 0x50], ecx
jne 0x49eadf
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], ebx
cmp eax, 0x3b9aca00
mov dword [esp + 0x4c], eax
je 0x49ec2a
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
call sym.std::time::Instant::now::h83333c20253d8abb
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x49ea40
mov ecx, dword [ebx + 0x40]
mov esi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x44]
movdqa xmm0, xmmword [ecx]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
lea edx, [ecx + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ecx
pmovmskb eax, xmm0
mov ecx, esi
not eax
jmp 0x49dce8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 4]
mov dword [eax - 4], ecx
nop
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
lea eax, [edx - 1]
and eax, edx
mov edx, dword [esp + 0x64]
dec ecx
je 0x49ea40
mov esi, dword [esp + 0x48]
test ax, ax
mov dword [esp + 0x30], ecx
jne 0x49dd1a
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [edx]
add esi, 0xfffffdc0
add edx, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x49dd00
not eax
mov dword [esp + 0x60], eax
tzcnt eax, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x48], esi
neg eax
lea eax, [eax + eax*8]
lea ecx, [esi + eax*4]
mov eax, dword [esi + eax*4 - 4]
mov dword [esp + 0x24], ecx
test eax, eax
mov dword [esp + 0x20], eax
je 0x49de9e
mov dword [ecx - 4], 0
xor edi, edi
mov eax, dword [ecx - 8]
mov esi, eax
mov dword [esp + 0x28], eax
jmp 0x49dd77
cmp bl, 1
je 0x49de40
inc edi
add esi, 0x30
cmp dword [esp + 0x20], edi
je 0x49dcbf
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + 8]
test al, al
jne 0x49de40
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 8]
xor eax, eax
cmp edx, 3
setne al
xor ecx, ecx
cmp edx, 1
sete cl
cmp byte [esi + 0x18], 2
cmove ecx, eax
cmp cl, 1
jne 0x49de40
mov edx, dword [esi]
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x68]
push dword [esi + 8]
mov dword [esp + 0x10], esi
push dword [esi + 4]
call sym.std::time::Instant::checked_duration_since::hc27ae9ee3fba9faf
add esp, 8
mov edi, eax
cmp ecx, 0x3b9aca00
mov eax, 0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x34]
cmove edx, eax
cmove edi, eax
xor ebx, ebx
mov esi, edx
mov eax, edi
xor esi, dword [esp + 8]
xor eax, ecx
or eax, esi
mov esi, dword [esp + 0xc]
mov eax, 0xff
setne bl
cmp edi, ecx
mov edi, dword [esp + 0x10]
sbb edx, dword [esp + 8]
cmovb ebx, eax
test bl, bl
jne 0x49dd60
mov ecx, dword [esp + 0x14]
mov eax, 0
cmp ecx, 0x3b9aca00
cmove ecx, eax
cmp ecx, dword [esp + 0x4c]
setne bl
jae 0x49dd60
jmp 0x49dd69
mov ebx, esi
inc edi
add esi, 0x10
lea ecx, [ebx + 0x1c]
call sym.core::ptr::drop_in_place_LT_hyper_util..client..legacy..connect..Connected_GT_::h371676a0ddfb1ed7
cmp byte [ebx + 0x18], 2
jne 0x49de70
mov ebx, dword [esp + 4]
mov ecx, esi
call sym.__ZN4core3ptr99drop_in_place_LT_hyper..client..conn..http2..SendRequest_LT_reqwest..async_impl..body..Body_GT__GT_17h03b921b20
jmp 0x49de7b
mov ebx, dword [esp + 4]
mov ecx, esi
call sym.__ZN4core3ptr187drop_in_place_LT_hyper..client..dispatch..Sender_LT_http..request..Request_LT_reqwest..async_impl..body..Body_
cmp edi, dword [esp + 0x20]
mov dword [esp + 0x1c], 1
jne 0x49dee0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [ecx - 4], eax
jne 0x49dcd0
mov edx, dword [esp + 0x40]
pcmpeqd xmm1, xmm1
mov eax, edx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x38e38e39
lea ecx, [eax - 0x10]
and ecx, dword [esp + 0x5c]
movdqu xmm0, xmmword [edx + ecx]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test edx, edx
je 0x49e4b0
bsr dx, dx
xor edx, 0xf
jmp 0x49e4b4
mov dword [esp + 0x1c], 1
jmp 0x49defa
mov edi, dword [esp + 0x10]
cmp edi, dword [esp + 0x20]
je 0x49de89
mov ecx, dword [esp + 0x28]
lea eax, [edi + edi*2]
shl eax, 4
lea esi, [ecx + eax]
mov eax, dword [ecx + eax + 0x24]
movzx eax, byte [eax + 8]
test al, al
jne 0x49dfd0
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 8]
xor eax, eax
cmp edx, 3
setne al
xor ecx, ecx
cmp edx, 1
sete cl
cmp byte [esi + 0x18], 2
cmove ecx, eax
cmp cl, 1
jne 0x49dfd0
mov edx, dword [esi]
lea ecx, [esp + 0x68]
push dword [esi + 8]
mov dword [esp + 0x18], esi
push dword [esi + 4]
mov ebx, dword [esp + 0xc]
call sym.std::time::Instant::checked_duration_since::hc27ae9ee3fba9faf
add esp, 8
cmp ecx, 0x3b9aca00
mov esi, 0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], edi
cmove edx, esi
cmove eax, esi
xor ebx, ebx
mov esi, edx
mov edi, eax
xor esi, dword [esp + 8]
xor edi, ecx
or edi, esi
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
setne bl
cmp eax, ecx
mov eax, 0xff
sbb edx, dword [esp + 8]
cmovb ebx, eax
test bl, bl
jne 0x49dfc0
mov ecx, dword [esp + 0xc]
mov eax, 0
cmp ecx, 0x3b9aca00
cmove ecx, eax
cmp ecx, dword [esp + 0x4c]
setne bl
jb 0x49e19d
cmp bl, 1
jne 0x49e19d
nop dword [eax]
inc edi
lea eax, [esi + 0x10]
inc dword [esp + 0x1c]
mov dword [esp + 0x10], edi
mov edi, esi
mov esi, dword [esi + 0x1c]
mov dword [esp + 0xc], eax
test esi, esi
je 0x49e015
mov ebx, dword [edi + 0x20]
mov eax, dword [ebx]
test eax, eax
je 0x49dff8
push esi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x49e015
cmp dword [ebx + 8], 9
jb 0x49e007
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [edi + 0x24]
lock dec dword [eax]
jne 0x49e025
mov ecx, dword [edi + 0x24]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0754165c44328bdb
cmp byte [edi + 0x18], 2
mov ecx, dword [esp + 0xc]
jne 0x49e0e0
mov eax, dword [ecx]
lock dec dword [eax]
mov ebx, dword [esp + 4]
jne 0x49e045
mov ecx, dword [ecx]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0830567d170a94de
mov esi, dword [edi + 0x14]
add edi, 0x14
mov dword [esp + 0x14], edi
lock dec dword [esi + 0xe4]
jne 0x49e180
mov edx, 1
lock xadd dword [esi + 0x44], edx
mov ecx, dword [esi + 0x40]
mov edi, edx
and edi, 0xfffffff0
mov dword [esp + 0x18], edi
sub edi, dword [ecx + 0xa80]
jne 0x49e1f7
lock or dword [ecx + 0xa88], 0x20000
mov eax, dword [esi + 0x88]
nop
mov ecx, eax
or ecx, 2
lock cmpxchg dword [esi + 0x88], ecx
jne 0x49e090
test eax, eax
jne 0x49e180
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov dword [esi + 0x80], 0
lock and dword [esi + 0x88], 0xfffffffd
test ecx, ecx
je 0x49e180
mov ecx, dword [ecx + 4]
push eax
call ecx
add esp, 4
jmp 0x49e180
mov eax, dword [ecx]
lock dec dword [eax]
mov ebx, dword [esp + 4]
jne 0x49e0f2
mov ecx, dword [ecx]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0830567d170a94de
mov esi, dword [edi + 0x14]
add edi, 0x14
mov dword [esp + 0x14], edi
lock dec dword [esi + 0xe4]
jne 0x49e180
mov edx, 1
lock xadd dword [esi + 0x44], edx
mov ecx, dword [esi + 0x40]
mov edi, edx
and edi, 0xfffffff0
mov dword [esp + 0x18], edi
sub edi, dword [ecx + 0xa80]
jne 0x49e353
lock or dword [ecx + 0xa88], 0x20000
mov eax, dword [esi + 0x88]
nop dword [eax + eax]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [esi + 0x88], ecx
jne 0x49e140
test eax, eax
jne 0x49e180
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov dword [esi + 0x80], 0
lock and dword [esi + 0x88], 0xfffffffd
test ecx, ecx
je 0x49e180
mov ecx, dword [ecx + 4]
push eax
call ecx
add esp, 4
nop
lock dec dword [esi]
jne 0x49def0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h4782869ad5e34a33
jmp 0x49def4
mov eax, edi
movsd xmm0, qword [esi + 0x28]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 4]
inc edi
sub eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
shl eax, 4
movsd qword [ecx + eax + 0x28], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [ecx + eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [ecx + eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [ecx + eax + 0x10], xmm0
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
movq qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
jmp 0x49def4
shr edi, 4
and edx, 0xf
lea eax, [ecx + 0xa80]
cmp edi, edx
seta dl
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x18]
jmp 0x49e23c
mov dword [esp + 0xc], 0
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
je 0x49e07e
mov edi, ecx
mov ecx, dword [ecx + 0xa84]
test ecx, ecx
jne 0x49e2f9
mov ebx, dword [eax]
add ebx, 0x10
jb 0x49eb7c
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0xa90
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x49eb8b
mov dword [eax + 0xa80], ebx
mov dword [eax + 0xa84], 0
mov dword [eax + 0xa88], 0
mov ecx, eax
mov dword [eax + 0xa8c], 0
xor eax, eax
lock cmpxchg dword [edi + 0xa84], ecx
je 0x49e2f1
mov edx, eax
mov eax, dword [eax + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [edx + 0xa84], ecx
je 0x49e2ef
mov ebx, eax
nop word cs:[eax + eax]
nop dword [eax]
pause
mov eax, dword [ebx + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [ebx + 0xa84], ecx
mov ebx, eax
jne 0x49e2d0
mov ecx, edx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 0xa88]
cmp ax, 0xffff
sete al
test byte [esp + 0xc], al
je 0x49e220
mov eax, edi
lock cmpxchg dword [esi + 0x40], ecx
jne 0x49e220
mfence
mov eax, dword [esi + 0x44]
mov dword [edi + 0xa8c], eax
mov al, 1
lock or dword [edi + 0xa88], 0x10000
mov dword [esp + 0xc], eax
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
jne 0x49e23c
jmp 0x49e07e
shr edi, 4
and edx, 0xf
lea eax, [ecx + 0xa80]
cmp edi, edx
seta dl
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x18]
jmp 0x49e38c
mov dword [esp + 0xc], 0
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
je 0x49e127
mov edi, ecx
mov ecx, dword [ecx + 0xa84]
test ecx, ecx
jne 0x49e449
mov ebx, dword [eax]
add ebx, 0x10
jb 0x49eb6d
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0xa90
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x49eb9f
mov dword [eax + 0xa80], ebx
mov dword [eax + 0xa84], 0
mov dword [eax + 0xa88], 0
mov ecx, eax
mov dword [eax + 0xa8c], 0
xor eax, eax
lock cmpxchg dword [edi + 0xa84], ecx
je 0x49e441
mov edx, eax
mov eax, dword [eax + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [edx + 0xa84], ecx
je 0x49e43f
mov ebx, eax
nop word cs:[eax + eax]
nop dword [eax]
pause
mov eax, dword [ebx + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [ebx + 0xa84], ecx
mov ebx, eax
jne 0x49e420
mov ecx, edx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 0xa88]
cmp ax, 0xffff
sete al
test byte [esp + 0xc], al
je 0x49e370
mov eax, edi
lock cmpxchg dword [esi + 0x40], ecx
jne 0x49e370
mfence
mov eax, dword [esi + 0x44]
mov dword [edi + 0xa8c], eax
mov al, 1
lock or dword [edi + 0xa88], 0x10000
mov dword [esp + 0xc], eax
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
jne 0x49e38c
jmp 0x49e127
mov dx, 0x10
mov esi, dword [esp + 0x40]
mov bl, pe_nt_image_headers32
movdqu xmm0, xmmword [esi + eax]
pcmpeqb xmm0, xmm1
pmovmskb esi, xmm0
or esi, 0x10000
tzcnt esi, esi
add edx, esi
cmp dx, 0xf
jbe 0x49e4e0
mov edx, dword [esp + 4]
jmp 0x49e4f2
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 4]
mov bl, 0xff
inc esi
mov dword [esp + 0x44], esi
mov dword [edx + 0x48], esi
mov esi, dword [esp + 0x40]
mov byte [esi + eax], bl
mov byte [esi + ecx + 0x10], bl
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
mov ebx, edx
dec ecx
mov dword [edx + 0x4c], ecx
mov dword [esp + 0x3c], ecx
cmp byte [esi - 0x24], 2
jb 0x49e53e
mov esi, dword [esi - 0x20]
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 [esp + 0x24]
mov eax, dword [esi - 0x1c]
lea ecx, [esi - 0x10]
mov eax, dword [eax + 0x10]
push dword [esi - 0x14]
push dword [esi - 0x18]
push ecx
call eax
add esp, 0xc
mov ecx, dword [esi - 4]
mov eax, dword [esi - 8]
test ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
je 0x49ea10
xor edx, edx
jmp 0x49e57e
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x20], edx
je 0x49ea10
mov ecx, dword [esp + 0x18]
lea eax, [edx + edx*2]
inc edx
shl eax, 4
mov dword [esp + 0x10], edx
mov esi, dword [ecx + eax + 0x1c]
lea edx, [ecx + eax + 0x10]
lea edi, [ecx + eax]
mov dword [esp + 0xc], edx
test esi, esi
je 0x49e5d1
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + eax + 0x20]
mov eax, dword [ebx]
test eax, eax
je 0x49e5b4
push esi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x49e5d1
cmp dword [ebx + 8], 9
jb 0x49e5c3
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [edi + 0x24]
lock dec dword [eax]
jne 0x49e5e1
mov ecx, dword [edi + 0x24]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0754165c44328bdb
cmp byte [edi + 0x18], 2
mov ecx, dword [esp + 0xc]
jne 0x49e6a0
mov eax, dword [ecx]
lock dec dword [eax]
jne 0x49e5fd
mov ecx, dword [ecx]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0830567d170a94de
mov esi, dword [edi + 0x14]
add edi, 0x14
mov dword [esp + 0x28], edi
lock dec dword [esi + 0xe4]
mov ebx, dword [esp + 4]
jne 0x49e740
mov edx, 1
lock xadd dword [esi + 0x44], edx
mov ecx, dword [esi + 0x40]
mov edi, edx
and edi, 0xfffffff0
mov dword [esp + 0x14], edi
sub edi, dword [ecx + 0xa80]
jne 0x49e759
lock or dword [ecx + 0xa88], 0x20000
mov eax, dword [esi + 0x88]
nop dword [eax + eax]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [esi + 0x88], ecx
jne 0x49e650
test eax, eax
jne 0x49e740
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov dword [esi + 0x80], 0
lock and dword [esi + 0x88], 0xfffffffd
test ecx, ecx
je 0x49e740
mov ecx, dword [ecx + 4]
push eax
call ecx
add esp, 4
jmp 0x49e740
mov eax, dword [ecx]
lock dec dword [eax]
jne 0x49e6ae
mov ecx, dword [ecx]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h0830567d170a94de
mov esi, dword [edi + 0x14]
add edi, 0x14
mov dword [esp + 0x28], edi
lock dec dword [esi + 0xe4]
mov ebx, dword [esp + 4]
jne 0x49e740
mov edx, 1
lock xadd dword [esi + 0x44], edx
mov ecx, dword [esi + 0x40]
mov edi, edx
and edi, 0xfffffff0
mov dword [esp + 0x14], edi
sub edi, dword [ecx + 0xa80]
jne 0x49e8b3
lock or dword [ecx + 0xa88], 0x20000
mov eax, dword [esi + 0x88]
nop dword [eax + eax]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [esi + 0x88], ecx
jne 0x49e700
test eax, eax
jne 0x49e740
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov dword [esi + 0x80], 0
lock and dword [esi + 0x88], 0xfffffffd
test ecx, ecx
je 0x49e740
mov ecx, dword [ecx + 4]
push eax
call ecx
add esp, 4
nop
lock dec dword [esi]
jne 0x49e570
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h4782869ad5e34a33
jmp 0x49e570
shr edi, 4
and edx, 0xf
lea eax, [ecx + 0xa80]
cmp edi, edx
seta dl
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x14]
jmp 0x49e79c
mov dword [esp + 0xc], 0
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
je 0x49e63a
mov edi, ecx
mov ecx, dword [ecx + 0xa84]
test ecx, ecx
jne 0x49e859
mov ebx, dword [eax]
add ebx, 0x10
jb 0x49eb27
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0xa90
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x49eb45
mov dword [eax + 0xa80], ebx
mov dword [eax + 0xa84], 0
mov dword [eax + 0xa88], 0
mov ecx, eax
mov dword [eax + 0xa8c], 0
xor eax, eax
lock cmpxchg dword [edi + 0xa84], ecx
je 0x49e851
mov edx, eax
mov eax, dword [eax + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [edx + 0xa84], ecx
je 0x49e84f
mov ebx, eax
nop word cs:[eax + eax]
nop dword [eax]
pause
mov eax, dword [ebx + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [ebx + 0xa84], ecx
mov ebx, eax
jne 0x49e830
mov ecx, edx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xa88]
cmp ax, 0xffff
sete al
test byte [esp + 0xc], al
je 0x49e780
mov eax, edi
lock cmpxchg dword [esi + 0x40], ecx
jne 0x49e780
mfence
mov eax, dword [esi + 0x44]
mov dword [edi + 0xa8c], eax
mov al, 1
lock or dword [edi + 0xa88], 0x10000
mov dword [esp + 0xc], eax
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
jne 0x49e79c
jmp 0x49e63a
shr edi, 4
and edx, 0xf
lea eax, [ecx + 0xa80]
cmp edi, edx
seta dl
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x14]
jmp 0x49e8ec
mov dword [esp + 0xc], 0
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
je 0x49e6e7
mov edi, ecx
mov ecx, dword [ecx + 0xa84]
test ecx, ecx
jne 0x49e9a9
mov ebx, dword [eax]
add ebx, 0x10
jb 0x49eb36
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0xa90
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x49eb59
mov dword [eax + 0xa80], ebx
mov dword [eax + 0xa84], 0
mov dword [eax + 0xa88], 0
mov ecx, eax
mov dword [eax + 0xa8c], 0
xor eax, eax
lock cmpxchg dword [edi + 0xa84], ecx
je 0x49e9a1
mov edx, eax
mov eax, dword [eax + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [edx + 0xa84], ecx
je 0x49e99f
mov ebx, eax
nop word cs:[eax + eax]
nop dword [eax]
pause
mov eax, dword [ebx + 0xa80]
add eax, 0x10
mov dword [ecx + 0xa80], eax
xor eax, eax
lock cmpxchg dword [ebx + 0xa84], ecx
mov ebx, eax
jne 0x49e980
mov ecx, edx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xa88]
cmp ax, 0xffff
sete al
test byte [esp + 0xc], al
je 0x49e8d0
mov eax, edi
lock cmpxchg dword [esi + 0x40], ecx
jne 0x49e8d0
mfence
mov eax, dword [esi + 0x44]
mov dword [edi + 0xa8c], eax
mov al, 1
lock or dword [edi + 0xa88], 0x10000
mov dword [esp + 0xc], eax
pause
lea eax, [ecx + 0xa80]
cmp dword [ecx + 0xa80], edx
jne 0x49e8ec
jmp 0x49e6e7
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], 0
je 0x49dcd0
push dword [esp + 0x18]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x49dcd0
cmp byte [esp + 0x38], 0
jne 0x49ea60
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49ea60
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x49ea60
mov byte [ebx + 9], 1
mov ecx, dword [esp + 0x2c]
xor eax, eax
xchg byte [ecx], al
cmp al, 2
jne 0x49ea73
push ecx
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test byte [esp + 0x50], 1
je 0x49eaad
mov esi, dword [esp + 0x54]
cmp byte [esp + 0x58], 0
jne 0x49ea9e
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49ea9e
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x49ea9e
mov byte [esi + 1], 1
xor eax, eax
xchg byte [esi], al
cmp al, 2
jne 0x49eaad
push esi
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
lock dec dword [ebx]
jne 0x49eab9
mov ecx, ebx
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h1ee3d91f184a6f4a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x30]
movzx eax, byte [ebx + 0x20]
lea ecx, [ebx + 0x20]
test al, al
je 0x49d948
jmp 0x49d92d
push edi
call dword [esi + 0xc]
add esp, 4
jmp 0x49d92d
cmp byte [esp + 0x38], 0
jne 0x49eaff
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x49eaff
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x49eaff
mov byte [ebx + 9], 1
mov ecx, dword [esp + 0x2c]
xor eax, eax
xchg byte [ecx], al
cmp al, 2
jne 0x49eb12
push ecx
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
lock dec dword [ebx]
jne 0x49d93b
mov ecx, ebx
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h1ee3d91f184a6f4a
jmp 0x49d93b
mov ecx, 0x5a98fc
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
jmp 0x49ec41
mov ecx, 0x5a98fc
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
jmp 0x49ec41
mov ecx, 8
mov edx, 0xa90
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
jmp 0x49ec41
mov ecx, 8
mov edx, 0xa90
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
jmp 0x49ec41
mov ecx, 0x5a98fc
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
jmp 0x49ec41
mov ecx, 0x5a98fc
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
jmp 0x49ec41
mov ecx, 8
mov edx, 0xa90
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
jmp 0x49ec41
mov ecx, 8
mov edx, 0xa90
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
jmp 0x49ec41
call sym.alloc::sync::Weak_LT_T_C_A_GT_::upgrade::checked_increment::panic_cold_display::he7462dab392ff34a
mov ecx, str.overflow_when_adding_duration_to_instantstd_src_time.rs
mov edx, 0x28
push 0x5b1d64
call sym.core::option::expect_failed::hd8e256290d73f0e2
mov ecx, str.overflow_when_adding_duration_to_instantstd_src_time.rs
mov edx, 0x28
push 0x5b1d64
call sym.core::option::expect_failed::hd8e256290d73f0e2
mov dword [esp + 0x68], str.overflow_in_Duration::new
mov dword [esp + 0x6c], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], 0
lea ecx, [esp + 0x68]
mov edx, 0x5b07d8
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
mov ecx, str.overflow_when_subtracting_duration_from_instant
mov edx, 0x2f
push 0x5b1da4
call sym.core::option::expect_failed::hd8e256290d73f0e2
mov edx, 0x18
mov ecx, str.interval_assumes_timeout
push 0x5a63dc
call sym.core::option::expect_failed::hd8e256290d73f0e2
add esp, 4
ud2