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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov eax, dword [ecx + 0x4c]
mov edi, ecx
mov dword [esp + 0x18], 2
mov dword [esp + 0x28], 0
add edx, eax
jo 0x4395aa
mov eax, edx
mov dword [edi + 0x4c], edx
test eax, eax
jle 0x439892
mov dword [esp + 0x30], edi
jmp 0x4395c8
test eax, eax
jle 0x439815
cmp dword [edi + 0x14], 1
jne 0x4397a8
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x34], eax
cmp edx, dword [edi + 0x20]
jne 0x439640
cmp ecx, dword [edi + 0x24]
jne 0x439640
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [eax + 0x38]
cmp ebx, edx
jbe 0x4398ad
mov eax, dword [eax + 0x34]
imul edi, edx, 0xf8
mov esi, dword [eax + edi]
xor esi, 3
or esi, dword [eax + edi + 4]
je 0x4398ad
add eax, edi
cmp dword [eax + 0xd4], ecx
jne 0x4398ad
test byte [eax + 0x78], 1
jne 0x4398fd
mov edi, dword [esp + 0x30]
mov dword [edi + 0x14], 0
jmp 0x4396a5
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
cmp dword [eax + 0x38], edx
jbe 0x43989a
mov ebx, dword [eax + 0x34]
imul eax, edx, 0xf8
mov edi, dword [ebx + eax]
xor edi, 3
or edi, dword [ebx + eax + 4]
je 0x43989a
add ebx, eax
cmp dword [ebx + 0xd4], ecx
jne 0x43989a
movsd xmm0, qword [ebx + 0x7c]
test byte [ebx + 0x78], 1
mov edi, dword [esp + 0x30]
mov dword [ebx + 0x78], 0
je 0x4398f1
mov eax, dword [ebp + 8]
mov dword [edi + 0x14], 1
movlps qword [edi + 0x18], xmm0
mov ebx, dword [eax + 0x38]
cmp ebx, edx
mov dword [esp], edx
mov dword [esp + 4], ecx
jbe 0x43989a
mov eax, dword [ebp + 8]
imul ebx, edx, 0xf8
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ebx]
xor esi, 3
or esi, dword [eax + ebx + 4]
je 0x43989a
add eax, ebx
cmp dword [eax + 0xd4], ecx
jne 0x43989a
mov byte [eax + 0xea], 0
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
cmp dword [eax + 0x38], edx
jbe 0x4398ad
mov edx, dword [eax + 0x34]
mov eax, dword [edx + ebx]
xor eax, 3
or eax, dword [edx + ebx + 4]
je 0x4398ad
add edx, ebx
cmp dword [edx + 0xd4], ecx
jne 0x4398ad
movzx ecx, byte [edx + 0x20]
mov esi, 6
add cl, 0xfa
movzx eax, cl
cmp cl, 6
cmovae eax, esi
cmp al, 5
je 0x439760
movzx eax, al
cmp eax, 3
mov eax, dword [esp + 0x34]
jne 0x43976a
cmp byte [edx + 0x21], 0
je 0x43976a
jmp 0x439777
cmp byte [edx + 0x21], 1
mov eax, dword [esp + 0x34]
je 0x439777
cmp dword [edx + 0xe0], 0
je 0x4395c0
mov ebx, dword [edx + 0x18]
lea esi, [esp + 0x38]
mov ecx, edi
mov edx, esi
call sym.h2::proto::streams::prioritize::Prioritize::try_assign_capacity::hd198160b486a71b7
xor eax, eax
cmp ebx, 0x3b9aca00
setne al
mov ecx, dword [ebp + 0xc]
mov edx, esi
push eax
call sym.h2::proto::streams::counts::Counts::transition_after::h5d94c023710edf8b
add esp, 4
mov eax, dword [edi + 0x4c]
jmp 0x4395c0
mov edx, dword [esp + 0x18]
cmp edx, 2
je 0x439892
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test dl, 1
je 0x4397cd
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
mov ecx, dword [ecx + 0x34]
lea edx, [esp + 0x10]
push edx
push eax
call ecx
add esp, 8
mov ebx, dword [esp + 0x18]
cmp ebx, 2
je 0x439892
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
test bl, 1
je 0x439808
mov edi, dword [esi + 8]
dec edi
and edi, 0xfffffff8
lea edx, [edx + edi + 8]
mov esi, dword [esi + 0x40]
push ecx
push eax
push edx
call esi
add esp, 0xc
jmp 0x439878
mov edx, dword [esp + 0x18]
cmp edx, 2
je 0x439892
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test dl, 1
je 0x439836
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
mov ecx, dword [ecx + 0x34]
lea edx, [esp + 0x10]
push edx
push eax
call ecx
add esp, 8
mov ebx, dword [esp + 0x18]
cmp ebx, 2
je 0x439892
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
test bl, 1
je 0x43986d
mov edi, dword [esi + 8]
dec edi
and edi, 0xfffffff8
lea edx, [edx + edi + 8]
mov esi, dword [esi + 0x40]
push ecx
push eax
push edx
call esi
add esp, 0xc
test ebx, ebx
je 0x439892
mov eax, dword [esp + 0x1c]
lock dec dword [eax]
jne 0x439892
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h19026b6b64bf7a00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 4]
mov edx, 0x58519c
mov dword [esp + 0x44], 0x585184
jmp 0x4398be
lea eax, [esp + 4]
mov dword [esp + 0x44], 0x585184
mov edx, 0x58518c
mov dword [esp + 8], eax
mov dword [esp + 0xc], sym.__LT_h2..frame..stream_id..StreamId_u20_as_u20_core..fmt..Debug_GT_::fmt::hfb12b609121d3b2f
lea eax, [esp + 8]
lea ecx, [esp + 0x44]
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
jmp 0x439914
mov ecx, 0x5a77b8
call sym.core::option::unwrap_failed::h4002a2165d665d64
jmp 0x439914
mov edx, 0x2c
mov ecx, str.assertion_failed:_N::next_stream_.is_none__TwZ
push 0x5a77f4
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
ud2