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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x358
mov rsi, rcx
movzx eax, byte [rdx]
test rax, rax
je 0x1400e3fbe
mov r14, r8
mov rdi, rdx
cmp eax, 1
jne 0x1400e3fca
lea rbx, [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov ecx, 2
xchg qword [rax + 0x10], rcx
cmp rcx, 2
je 0x1400e3f22
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdx + 0x28]
mov rcx, rax
or rcx, 2
lock cmpxchg qword [rdx + 0x28], rcx
jne 0x1400e3ef0
test rax, rax
jne 0x1400e3f22
mov rax, qword [rdx + 0x18]
mov rcx, qword [rdx + 0x20]
mov qword [rdx + 0x18], 0
lock and qword [rdx + 0x28], 0xfffffffffffffffd
test rax, rax
je 0x1400e3f22
call qword [rax + 8]
cmp qword [rbx], 0
je 0x1400e3f7c
mov r15, qword [r14]
lea rcx, [rsp + 0x1e0]
mov rdx, rbx
call fcn.1400e3220
cmp dword [rsp + 0x1e0], 2
jne 0x1400e4167
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400e4ae9
add rcx, 0x48
mov rdx, r15
call fcn.1400c05b0
lea rcx, [rsp + 0x30]
mov rdx, rbx
call fcn.1400e3220
mov rax, qword [rsp + 0x30]
test rax, rax
jne 0x1400e41f4
mov r15, qword [rdi + 0x20]
movzx eax, byte [r15 + 0xa8]
test al, al
jne 0x1400e465e
mov rax, qword [r14]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
mov rdi, rax
mov rbx, rdx
mov al, 1
xchg byte [r15 + 0x88], al
test al, al
je 0x1400e4627
mov rcx, rbx
call qword [rdi + 0x18]
jmp 0x1400e465e
mov qword [rsi], 5
jmp 0x1400e4992
cmp byte [rdi + 1], 0
je 0x1400e4102
mov r13, qword [rdi + 0x18]
lea rbx, [r13 + 0x10]
mov rcx, rbx
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x14037f340]
shl rax, 1
test rax, rax
jne 0x1400e489b
xor eax, eax
movzx ecx, byte [r13 + 0x18]
test cl, cl
jne 0x1400e48af
mov dword [rsp + 0x2c], eax
mov ecx, dword [rdi + 0x20]
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x90], ecx
mov dword [rsp + 0x94], eax
cmp qword [r13 + 0x1e0], rcx
jbe 0x1400e4a71
mov rbp, qword [r13 + 0x1d8]
test rbp, rbp
je 0x1400e4a71
imul rcx, rcx, 0x130
cmp dword [rbp + rcx], 2
je 0x1400e4a71
add rbp, rcx
cmp dword [rbp + 0x114], eax
jne 0x1400e4a71
lea r12, [r13 + 0x80]
mov r14, qword [r14]
lea r15, [rbp + 0x18]
lea rcx, [rsp + 0x1e0]
mov rdx, r15
mov r8, r12
call fcn.1400cedc0
mov rax, qword [rsp + 0x1e0]
cmp rax, 5
je 0x1400e4247
cmp eax, 6
jne 0x1400e42c6
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0xf0]
call fcn.1400d10f0
movzx r12d, byte [rsp + 0xf0]
cmp r12b, 3
jne 0x1400e4356
cmp byte [rsp + 0xf1], 0
je 0x1400e4890
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
call qword [rax]
mov r15, rax
mov r14, rdx
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x1400e40ef
mov rcx, qword [rbp + 0xb0]
call qword [rax + 0x18]
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], r14
jmp 0x1400e43ab
lea r15, [rdi + 0x18]
lea rcx, [rsp + 0x30]
mov rdx, r15
mov r8, r14
call fcn.1400d9480
movzx eax, byte [rsp + 0x30]
cmp rax, 7
je 0x1400e46f2
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30f], rcx
movups xmm0, xmmword [rsp + 0x31]
movups xmm1, xmmword [rsp + 0x41]
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
cmp eax, 5
je 0x1400e4708
cmp eax, 6
jne 0x1400e47ad
mov byte [rdi + 1], 1
jmp 0x1400e3fd4
movups xmm0, xmmword [rsp + 0x1e0]
movups xmm1, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x110], rax
movaps xmmword [rsp + 0x100], xmm1
cmp qword [rsp + 0xf0], 0
jne 0x1400e41bf
mov rax, qword [rbx]
test rax, rax
je 0x1400e41b8
lock dec qword [rax]
jne 0x1400e41b8
mov rcx, qword [rbx]
call fcn.1400e2d30
mov qword [rbx], 0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400e3f7c
cmp eax, 1
jne 0x1400e46f2
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400e46fe
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9, qword [rdi + 8]
cmp r9, 0xfffffffffffffffd
ja 0x1400e422b
sub r9, rdx
mov qword [rdi + 8], r9
mov qword [rsi], 3
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], r8
jmp 0x1400e4992
mov r15, qword [rsp + 0x1e8]
movzx r12d, byte [rsp + 0x1f0]
movzx r14d, byte [rsp + 0x1f1]
movups xmm0, xmmword [rsp + 0x1f2]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x202]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xde], rax
movups xmm0, xmmword [rsp + 0x218]
movaps xmmword [rsp + 0x320], xmm0
movups xmm0, xmmword [rsp + 0x228]
movaps xmmword [rsp + 0x330], xmm0
movups xmm0, xmmword [rsp + 0x238]
movaps xmmword [rsp + 0x340], xmm0
jmp 0x1400e43b1
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x1e0]
mov r8d, 0xe0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xf0], 0
mov r14, qword [r13 + 0xa0]
lea r8, [rsp + 0xf0]
mov rcx, r12
mov rdx, r14
call fcn.1400ccb90
cmp qword [r15], 0
je 0x1400e4397
cmp qword [r13 + 0x90], r14
jbe 0x1400e4b01
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x1400e4b01
imul rcx, r14, 0xf0
add rax, rcx
cmp dword [rax], 2
je 0x1400e4b01
mov rcx, qword [rbp + 0x20]
add rbp, 0x20
mov qword [rax], 1
mov qword [rax + 8], rcx
jmp 0x1400e43a7
movzx r14d, byte [rsp + 0xf1]
movups xmm0, xmmword [rsp + 0xf2]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x102]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xde], rax
mov r15d, 3
jmp 0x1400e43b1
mov qword [rbp + 0x18], 1
mov qword [rbp + 0x20], r14
add rbp, 0x28
mov qword [rbp], r14
mov r15d, 5
cmp byte [rsp + 0x2c], 0
jne 0x1400e43d2
mov rax, qword [0x14037f340]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1400e4a0c
mov rcx, rbx
call fcn.140269a24
cmp r15, 3
je 0x1400e459b
cmp r15, 4
je 0x1400e4451
cmp r15, 5
je 0x1400e46f2
mov rax, qword [rsp + 0xde]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x4a], xmm1
movups xmmword [rsp + 0x3a], xmm0
movaps xmm0, xmmword [rsp + 0x320]
movaps xmm1, xmmword [rsp + 0x330]
movaps xmm2, xmmword [rsp + 0x340]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rsp + 0x80], xmm2
mov byte [rsp + 0x38], r12b
mov byte [rsp + 0x39], r14b
jmp 0x1400e4457
mov r15d, 3
mov qword [rsp + 0xf0], r15
movzx eax, byte [rsp + 0x38]
movzx ecx, byte [rsp + 0x39]
mov rdx, qword [rsp + 0x3a]
mov r8d, dword [rsp + 0x42]
movzx r9d, word [rsp + 0x46]
movups xmm0, xmmword [rsp + 0x48]
mov byte [rsp + 0xf8], al
mov byte [rsp + 0xf9], cl
mov qword [rsp + 0xfa], rdx
mov dword [rsp + 0x102], r8d
mov word [rsp + 0x106], r9w
movups xmmword [rsp + 0x108], xmm0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x118], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x140], xmm0
mov rcx, qword [rdi + 0x10]
call fcn.1400e4fc0
mov rax, qword [rsp + 0xf8]
mov ecx, 5
cmp r15, 3
je 0x1400e4553
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmm3, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x210], xmm3
movaps xmmword [rsp + 0x200], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x1e0], xmm0
mov rcx, r15
mov qword [rsi], rcx
mov qword [rsi + 8], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmm1, xmmword [rsp + 0x1f0]
movaps xmm2, xmmword [rsp + 0x200]
movaps xmm3, xmmword [rsp + 0x210]
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x40], xmm3
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [rsi + 0x50], xmm0
jmp 0x1400e4992
mov byte [rsp + 0x98], r12b
mov byte [rsp + 0x99], r14b
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x9a], xmm0
movups xmmword [rsp + 0xaa], xmm1
mov rax, qword [rsp + 0xde]
mov qword [rsp + 0xb8], rax
test r12b, r12b
je 0x1400e47ff
movzx eax, r12b
cmp eax, 1
jne 0x1400e4814
mov rax, qword [rsp + 0xa0]
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x100], rcx
mov dl, 1
mov ecx, dword [rsp + 0x9c]
jmp 0x1400e4901
mov rax, qword [r15 + 0x78]
test rax, rax
je 0x1400e463a
mov rcx, qword [r15 + 0x80]
call qword [rax + 0x18]
mov qword [r15 + 0x78], rdi
mov qword [r15 + 0x80], rbx
xor eax, eax
xchg byte [r15 + 0x88], al
movzx eax, byte [r15 + 0xa8]
test al, al
je 0x1400e46f2
mov al, 1
xchg byte [r15 + 0x70], al
mov ecx, 5
test al, al
je 0x1400e4675
mov qword [rsi], rcx
jmp 0x1400e4992
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x10], 3
cmp rax, 3
jne 0x1400e4695
xor eax, eax
xchg byte [r15 + 0x70], al
mov qword [rsi], rcx
jmp 0x1400e4992
mov rcx, qword [r15 + 0x68]
mov qword [rsp + 0x140], rcx
movups xmm0, xmmword [r15 + 0x58]
movaps xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [r15 + 0x18]
movups xmm1, xmmword [r15 + 0x28]
movups xmm2, xmmword [r15 + 0x38]
movups xmm3, xmmword [r15 + 0x48]
movaps xmmword [rsp + 0x120], xmm3
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
xor ecx, ecx
xchg byte [r15 + 0x70], cl
cmp rax, 4
jne 0x1400e4840
mov qword [rsi], 6
jmp 0x1400e4992
mov rax, qword [rsp + 0x40]
jmp 0x1400e4987
movups xmm0, xmmword [rsp + 0x2f7]
mov rax, qword [rsp + 0x307]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x30f]
mov qword [rsp + 0x1f8], rax
movaps xmmword [rsp + 0x1e0], xmm0
mov rbx, qword [rsp + 0x1f0]
lea rcx, [rsp + 0xf0]
mov rdx, r15
mov r8, rbx
call fcn.1400d9f30
movzx eax, byte [rsp + 0xf0]
cmp rax, 5
je 0x1400e4a30
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400e4a30
test rax, rax
je 0x1400e4a30
cmp eax, 1
jne 0x1400e4a23
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x110]
mov r8, qword [rsp + 0x108]
call qword [rax + 0x18]
jmp 0x1400e4a30
lea rcx, [rsp + 0x31]
mov byte [rsp + 0x1e0], al
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x1e1], xmm0
movups xmmword [rsp + 0x1f1], xmm1
mov rcx, qword [rcx + 0x1f]
mov qword [rsp + 0x200], rcx
test rax, rax
je 0x1400e49a6
cmp eax, 1
je 0x1400e47f3
cmp eax, 2
jne 0x1400e49ca
mov eax, dword [rsp + 0x1e4]
jmp 0x1400e49ad
mov ecx, dword [rsp + 0x9c]
mov eax, dword [rsp + 0xa0]
xor edx, edx
jmp 0x1400e4901
movabs rax, 0x7fffffffffffffff
inc rax
cmp qword [rsp + 0xa0], rax
jne 0x1400e48ef
movzx eax, r14b
shl rax, 0x20
or rax, 3
jmp 0x1400e48ff
mov rcx, qword [rsp + 0x140]
mov qword [rsi + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmm2, xmmword [rsp + 0x110]
movaps xmm3, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x38], xmm3
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov rcx, rax
jmp 0x1400e466d
mov r15d, 4
jmp 0x1400e43b1
call fcn.1401ff0c0
xor al, 1
movzx ecx, byte [r13 + 0x18]
test cl, cl
je 0x1400e4006
mov qword [rsp + 0xf0], rbx
mov byte [rsp + 0xf8], al
lea rax, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_h2_0.4.5_src_proto_streams_streams.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.1400a3a40
lea r8, [rsp + 0xf0]
mov edx, 0x2b
call fcn.1400aced0
jmp 0x1400e4b0d
lea rdx, [rsp + 0xa0]
mov ecx, r14d
call fcn.1400c7770
mov dl, 4
mov r8, qword [rsp + 0x100]
mov qword [rsp + 0x58], r8
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], dl
mov byte [rsp + 0x39], r14b
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], r8
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x2c0], al
movzx eax, byte [rsp + 0x39]
mov byte [rsp + 0x2c1], al
movzx eax, word [rsp + 0x3a]
mov word [rsp + 0x2c2], ax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x2c4], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x2c8], rax
lea rcx, [rsp + 0x2c0]
call fcn.1400e50c0
mov qword [rsi], 4
mov qword [rsi + 8], rax
add rsp, 0x358
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x1e8]
test eax, 0xfffffff7
jne 0x1400e49ca
mov qword [rsi], 5
lea rcx, [rsp + 0x1e0]
call fcn.14017c930
jmp 0x1400e4992
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [rsp + 0x1e0]
movups xmm1, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [rsp + 0xf0]
call fcn.1400e4f10
jmp 0x1400e4987
call fcn.1401ff0c0
test al, al
jne 0x1400e43d2
mov byte [r13 + 0x18], 1
jmp 0x1400e43d2
lea rcx, [rsp + 0xf8]
call fcn.1400f5c80
mov rax, qword [rdi + 8]
cmp rax, 0xfffffffffffffffd
ja 0x1400e4a41
sub rax, rbx
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 0x10]
mov rdx, rbx
call fcn.1400e4c50
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmm1, xmmword [rsp + 0x1f0]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 3
jmp 0x1400e4992
lea rax, [rsp + 0x94]
mov qword [rsp + 0x1e0], rax
lea rax, [0x1400c3480]
mov qword [rsp + 0x1e8], rax
lea rax, str.dangling_store_key_for_stream_id
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x110], 0
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
lea rdx, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_h2_0.4.5_src_proto_streams_store.rs
lea rcx, [rsp + 0xf0]
call fcn.1400a6c30
jmp 0x1400e4b0d
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_futures_channel_0.3.30_src_mpsc_mod.rs
mov edx, 0x2b
call fcn.1400a7990
lea rcx, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_h2_0.4.5_src_proto_streams_buffer.rs
call fcn.1400ccca0
ud2