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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
mov rbx, r8
mov rdi, rdx
call fcn.140040620
mov rsi, rax
cmp dword [rax], 2
je 0x14004038b
cmp qword [rsi + 8], 0
je 0x14004038b
mov r8, qword [rsi + 0x10]
mov rcx, qword [0x14007d268]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsi], 1
movups xmm0, xmmword [rbx]
movups xmmword [rsi + 8], xmm0
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x18], rax
mov rdx, qword [rdi + 0xe8]
mov rax, qword [rdi + 0xf0]
shl rax, 4
mov rcx, 0xffffffffffffffff
xor ebx, ebx
movabs r15, 0x7236a26ea06fb465
movabs r14, 0x8169a0e375e7e250
test rax, rax
je 0x140040433
mov r8, rdx
add rdx, 0x10
inc rcx
add rax, 0xfffffffffffffff0
cmp qword [r8], r15
jne 0x1400403d0
cmp qword [r8 + 8], r14
jne 0x1400403d0
mov rdx, qword [rdi + 0x108]
cmp rcx, rdx
jae 0x1400405f8
mov rdx, qword [rdi + 0x100]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rdx, qword [rdx + rcx + 8]
mov rcx, rax
call qword [rdx + 0x40]
mov rbx, rax
mov rcx, rax
call qword [rdx + 0x18]
cmp rax, r15
jne 0x140040604
cmp rdx, r14
jne 0x140040604
test rbx, rbx
lea rax, [0x140070740]
cmovne rax, rbx
mov rcx, qword [rax]
mov rdx, qword [rax + 6]
mov qword [rsp + 0x2e], rdx
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0xe]
mov rdx, qword [rax + 0x14]
mov qword [rsp + 0x3c], rdx
mov qword [rsp + 0x36], rcx
mov rcx, qword [rax + 0x1c]
mov rdx, qword [rax + 0x22]
mov qword [rsp + 0x4a], rdx
mov qword [rsp + 0x44], rcx
mov rcx, qword [rax + 0x2a]
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x52], rcx
mov rcx, qword [rax + 0x38]
mov rdx, qword [rax + 0x3e]
mov qword [rsp + 0x66], rdx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x46]
mov rdx, qword [rax + 0x4c]
mov qword [rsp + 0x6e], rcx
mov qword [rsp + 0x74], rdx
mov rcx, qword [rax + 0x54]
mov rax, qword [rax + 0x5a]
mov qword [rsp + 0x7c], rcx
mov qword [rsp + 0x82], rax
movzx eax, word [rsp + 0x88]
mov word [rsi + 0xd0], ax
mov eax, dword [rsp + 0x78]
mov dword [rsi + 0xc0], eax
mov rax, qword [rsp + 0x7c]
mov qword [rsi + 0xc4], rax
mov eax, dword [rsp + 0x84]
mov dword [rsi + 0xcc], eax
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0xb0], eax
movzx eax, word [rsp + 0x6c]
mov word [rsi + 0xb4], ax
mov rax, qword [rsp + 0x6e]
mov qword [rsi + 0xb6], rax
movzx eax, word [rsp + 0x76]
mov word [rsi + 0xbe], ax
movups xmm0, xmmword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x38]
movups xmm2, xmmword [rsp + 0x48]
movups xmm3, xmmword [rsp + 0x58]
movups xmmword [rsi + 0xa0], xmm3
movups xmmword [rsi + 0x90], xmm2
movups xmmword [rsi + 0x80], xmm1
movups xmmword [rsi + 0x70], xmm0
mov edx, dword [rdi + 0x2bc]
mov eax, dword [rdi + 0x2c0]
mov ecx, eax
or ecx, edx
mov r8d, ecx
shr r8d, 0x1c
and r8b, 1
test ecx, 0x20000000
movzx r8d, r8b
mov r9d, 2
mov r10d, 2
cmove r10d, r8d
mov byte [rsi + 0xd3], r10b
test ecx, 0x20040000
cmove r9d, r8d
mov byte [rsi + 0xd4], r9b
test ecx, 0x80000
jne 0x1400405b1
lea rcx, [0x140072cca]
mov edx, 6
jmp 0x1400405de
xor ecx, ecx
test edx, 0x100000
jne 0x1400405de
cmp qword [rdi + 0xc0], 0
je 0x1400405de
xor ecx, ecx
test eax, 0x100000
lea rax, [0x140072cd0]
cmove rcx, rax
mov edx, 4
jmp 0x1400405de
mov qword [rsi + 0x60], rcx
mov qword [rsi + 0x68], rdx
mov rax, rsi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, str._home_user_.cargo_registry_src_index.crates.io_6f17d22bba15001f_clap_builder_4.5.2_src_util_flat_map.rs
call fcn.14006c920
lea rcx, str._home_user_.cargo_registry_src_index.crates.io_6f17d22bba15001f_clap_builder_4.5.2_src_builder_ext.rs
call fcn.14006cc20
int3