Function at 0x140015480
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, 0x178
mov r10, rdx
mov r11, rcx
mov rdi, qword [rcx + 0xe8]
mov rsi, qword [rcx + 0xf0]
shl rsi, 4
mov rcx, 0xffffffffffffffff
xor r14d, r14d
movabs rbp, 0x1f4f01ddfe41c365
movabs r13, 0x922ec42a86169d16
xor eax, eax
mov rdx, rdi
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x98], r11
nop word cs:[rax + rax]
cmp rsi, rax
je 0x14001554d
mov r9, rdx
add rdx, 0x10
add rax, 0x10
inc rcx
cmp qword [r9], rbp
jne 0x1400154f0
cmp qword [r9 + 8], r13
jne 0x1400154f0
mov rdx, qword [r11 + 0x108]
cmp rcx, rdx
jae 0x140015a8d
mov rdx, qword [r11 + 0x100]
mov rcx, qword [rdx + rax - 0x10]
mov rax, qword [rdx + rax - 8]
call qword [rax + 0x40]
mov r14, rax
mov rcx, rax
call qword [rdx + 0x18]
cmp rax, rbp
jne 0x140015a99
cmp rdx, r13
jne 0x140015a99
test r14, r14
lea r15, [0x14006cc42]
cmove r14, r15
mov cl, 1
call fcn.140003100
mov rbx, rax
mov rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
nop word cs:[rax + rax]
cmp rsi, rax
je 0x1400155e5
mov rdx, rdi
add rdi, 0x10
add rax, 0x10
inc rcx
cmp qword [rdx], rbp
jne 0x140015580
cmp qword [rdx + 8], r13
jne 0x140015580
mov r8, qword [rsp + 0x98]
mov rdx, qword [r8 + 0x108]
cmp rcx, rdx
jae 0x140015a8d
mov rdx, qword [r8 + 0x100]
mov rcx, qword [rdx + rax - 0x10]
mov rax, qword [rdx + rax - 8]
call qword [rax + 0x40]
mov r12, rax
mov rcx, rax
call qword [rdx + 0x18]
cmp rax, rbp
jne 0x140015a99
cmp rdx, r13
jne 0x140015a99
test r12, r12
cmovne r15, r12
mov rax, qword [r15]
mov rcx, qword [r15 + 6]
mov qword [rsp + 0x2e], rcx
mov qword [rsp + 0x28], rax
mov rax, qword [r15 + 0xe]
mov rcx, qword [r15 + 0x14]
mov qword [rsp + 0x3c], rcx
mov qword [rsp + 0x36], rax
mov rax, qword [r15 + 0x1c]
mov rcx, qword [r15 + 0x22]
mov qword [rsp + 0x4a], rcx
mov qword [rsp + 0x44], rax
mov rax, qword [r15 + 0x2a]
mov rcx, qword [r15 + 0x30]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x52], rax
mov rax, qword [r15 + 0x38]
mov rcx, qword [r15 + 0x3e]
mov qword [rsp + 0x66], rcx
mov qword [rsp + 0x60], rax
mov rax, qword [r15 + 0x46]
mov rcx, qword [r15 + 0x4c]
mov qword [rsp + 0x6e], rax
mov qword [rsp + 0x74], rcx
mov rax, qword [r15 + 0x54]
mov rcx, qword [r15 + 0x5a]
mov qword [rsp + 0x7c], rax
mov qword [rsp + 0x82], rcx
movzx eax, word [rsp + 0x88]
mov word [rbx + 0xd0], ax
mov eax, dword [rsp + 0x78]
mov dword [rbx + 0xc0], eax
mov rax, qword [rsp + 0x7c]
mov qword [rbx + 0xc4], rax
mov eax, dword [rsp + 0x84]
mov dword [rbx + 0xcc], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0xb0], eax
movzx eax, word [rsp + 0x6c]
mov word [rbx + 0xb4], ax
mov rax, qword [rsp + 0x6e]
mov qword [rbx + 0xb6], rax
movzx eax, word [rsp + 0x76]
mov word [rbx + 0xbe], ax
movups xmm0, xmmword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x38]
movups xmm2, xmmword [rsp + 0x48]
movups xmm3, xmmword [rsp + 0x58]
movups xmmword [rbx + 0xa0], xmm3
movups xmmword [rbx + 0x90], xmm2
movups xmmword [rbx + 0x80], xmm1
movups xmmword [rbx + 0x70], xmm0
mov r11, qword [rsp + 0x98]
mov edx, dword [r11 + 0x2bc]
mov eax, dword [r11 + 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 [rbx + 0xd3], r10b
test ecx, 0x20040000
cmove r9d, r8d
mov byte [rbx + 0xd4], r9b
test ecx, 0x80000
jne 0x14001576e
lea rcx, str.__helphelp
mov edx, 6
mov rsi, qword [rsp + 0x90]
jmp 0x1400157a3
xor ecx, ecx
test edx, 0x100000
mov rsi, qword [rsp + 0x90]
jne 0x1400157a3
cmp qword [r11 + 0xc0], 0
je 0x1400157a3
xor ecx, ecx
test eax, 0x100000
lea rax, [0x14006cc3e]
cmove rcx, rax
mov edx, 4
jmp 0x1400157a3
mov qword [rbx + 0x60], rcx
mov qword [rbx + 0x68], rdx
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 1
mov qword [rsp + 0xd8], 0
movzx eax, word [r14 + 0x52]
mov rcx, qword [r14 + 0x46]
movq xmm0, rcx
mov qword [rsp + 0xa0], rcx
mov ecx, dword [r14 + 0x4e]
mov dword [rsp + 0xa8], ecx
mov word [rsp + 0xac], ax
movdqa xmmword [rsp + 0xf0], xmm0
cmp byte [rsp + 0xf0], 3
jne 0x140015830
cmp byte [rsp + 0xf4], 3
jne 0x140015830
movd xmm0, ecx
movd ecx, xmm0
cmp cl, 3
jne 0x140015830
test ax, ax
jne 0x140015830
xor eax, eax
mov ecx, 1
jmp 0x14001583c
mov eax, 4
lea rcx, str.e_0m__
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
movzx eax, word [r14 + 0x60]
mov rcx, qword [r14 + 0x54]
movq xmm0, rcx
mov qword [rsp + 0xb0], rcx
mov ecx, dword [r14 + 0x5c]
mov dword [rsp + 0xb8], ecx
mov word [rsp + 0xbc], ax
movdqa xmmword [rsp + 0xe0], xmm0
cmp byte [rsp + 0xe0], 3
jne 0x1400158ad
cmp byte [rsp + 0xe4], 3
jne 0x1400158ad
movd xmm0, ecx
movd ecx, xmm0
cmp cl, 3
jne 0x1400158ad
test ax, ax
jne 0x1400158ad
xor eax, eax
mov ecx, 1
jmp 0x1400158b9
mov eax, 4
lea rcx, str.e_0m__
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [0x14004d550]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rsi
lea rcx, [0x140008980]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x108]
mov qword [rsp + 0x48], rcx
lea rcx, [0x140006ab0]
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
lea rax, str.subcommand__exists__to_use_it__remove_the____before_it
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 6
mov qword [rsp + 0x168], 0
lea rax, [rsp + 0x28]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 5
lea rdx, [0x14006ca30]
lea rcx, [rsp + 0xc8]
lea r8, [rsp + 0x148]
call fcn.140064380
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x130], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x140], rax
movzx eax, byte [0x14007f101]
mov ecx, 0x18
mov edx, 8
call fcn.140008910
test rax, rax
je 0x140015a7e
mov rcx, qword [rsp + 0xd8]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rax], xmm0
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x30], 2
movups xmm0, xmmword [rsp + 0x129]
movups xmm1, xmmword [rsp + 0x138]
movups xmmword [rsp + 0x31], xmm0
movups xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x50], 0xe
mov byte [rsp + 0x58], 5
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.140011660
movabs rax, 0x8000000000000000
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx], rax
je 0x140015a67
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x28], 4
lea r8, [rsp + 0x28]
mov rcx, rbx
mov dl, 0xf
call fcn.140011350
mov rax, rbx
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 8
mov edx, 0x18
call fcn.14006a300
lea r8, str.C:Usersedr.cargo_registry_srcindex.crates.io_6f17d22bba15001fclap_builder_4.5.0_srcutil_flat_map.rs
call fcn.14006a5d0
lea rcx, str.C:Usersedr.cargo_registry_srcindex.crates.io_6f17d22bba15001fclap_builder_4.5.0_src_builderext.rs
call fcn.14006a400
int3