Function at 0x1400c63a0
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rbx, qword [0x1402084f0]
test rbx, rbx
jne 0x1400c6c3c
mov ecx, 0x50
call fcn.1400d2b88
mov r15, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.1400d2b88
mov qword [r15 + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [r15 + 0x28], rcx
test rax, rax
je 0x1400c6d1d
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [r15 + 0x20], rcx
mov rsi, r15
add rsi, 0x38
movups xmmword [r15 + 0x38], xmm6
mov qword [r15 + 0x30], rsi
mov qword [r15 + 0x48], 1
mov qword [0x1402084f0], r15
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x1400c6d1d
mov rdi, rax
mov rcx, rax
call fcn.1400d3138
lea rdx, [rsp + 0x100]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
lea rax, [0x1401d6c20]
lea r8, [rsp + 0x120]
mov qword [r8], rax
mov qword [r8 + 8], 0x19
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov r9d, 3
call fcn.1400b7430
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400c6c3c
mov rdi, qword [rsp + 0xe0]
mov qword [r15], rdi
mov qword [r15 + 8], rax
mov dword [rsp + 0x74], 0
lea rcx, [0x1401d7148]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbp, rax
test rax, rax
je 0x1400c6d9a
lea rdx, [0x1401d7198]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c6d5c
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [0x1401e8220]
mov qword [rsp + 0x28], rax
movsxd r14, dword [rsp + 0x74]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
test r14, r14
je 0x1400c6d70
test r14d, r14d
js 0x1400c6d63
shl r14, 3
lea rdi, [r14 + r14*2]
mov rcx, rdi
call fcn.1400d2b88
mov r12, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
add rax, rdi
mov qword [rsp + 0x60], rax
xor edi, edi
mov r13, r12
test r13, r13
je 0x1400c6d1d
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + rdi]
mov rcx, r13
call fcn.140014b00
add r13, 0x18
add rdi, 8
cmp r14, rdi
jne 0x1400c6565
mov qword [rsp + 0x58], r13
mov ecx, 0x18
call fcn.1400d2b88
test rax, rax
je 0x1400c6d1d
mov rdi, rax
mov qword [rsp + 0x30], rbp
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r14, qword [r15 + 0x18]
test r14, r14
mov qword [rsp + 0x20], r15
je 0x1400c6610
mov rbp, r15
mov r15, qword [r15 + 0x20]
mov rcx, r14
cmp r15, r14
je 0x1400c6604
add r15, 0xffffffffffffffe8
test r15, r15
je 0x1400c6d1d
cmp byte [r15 + 0x17], 0
js 0x1400c6d7b
lea rax, [r15 - 0x18]
cmp r15, r14
mov r15, rax
jne 0x1400c65db
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x20], r14
call fcn.1400d2b80
mov r15, rbp
mov rax, rdi
add rax, 0x18
mov qword [r15 + 0x18], rdi
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rax
mov rcx, qword [r15 + 0x38]
call fcn.14002d520
mov qword [r15 + 0x30], rsi
movups xmmword [r15 + 0x38], xmm6
mov qword [r15 + 0x48], 1
cmp r12, r13
mov qword [rsp + 0x38], rbx
je 0x1400c6d88
movsx rax, byte [r12 + 0x17]
test rax, rax
jns 0x1400c6dad
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
test rax, rax
js 0x1400c6d1d
test rax, rax
sete al
test rcx, rcx
setne cl
or cl, al
je 0x1400c6d1d
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x78]
call fcn.1400c5a60
lea rdi, [rsp + 0x120]
mov rcx, r15
mov rdx, rdi
call fcn.14002e0b0
cmp byte [rdi + 0x17], 0
lea rbx, [rsp + 0x100]
jns 0x1400c66cd
mov rcx, qword [rsp + 0x120]
call fcn.1400d2b80
cmp r12, r13
je 0x1400c6bd2
mov qword [rsp + 0x48], r13
sub r13, r12
add r12, 0x18
cmp r13, 0x18
jl 0x1400c6d6d
je 0x1400c6bd2
mov rax, qword [r15 + 8]
mov qword [rsp + 0x40], rax
mov r13b, 1
movabs rbp, 0x7ffffffffffffff7
movaps xmm6, xmmword [0x1401c7000]
xorps xmm7, xmm7
jmp 0x1400c6a98
cmp word [rsi + rax*2], 0x73
jne 0x1400c6914
jmp 0x1400c6dc2
mov byte [rsp + 0x117], r15b
mov rcx, rbx
lea rbx, [rcx + r15*2]
cmp rcx, r14
seta al
cmp rbx, r14
setbe dl
or dl, al
je 0x1400c6d1d
mov rdi, rsi
test r15, r15
je 0x1400c6760
add r15, r15
mov rdx, r14
mov r8, r15
call fcn.14010c000
mov word [rbx], 0
cmp byte [rsp + 0x137], 0
jns 0x1400c677c
mov rcx, qword [rsp + 0x120]
call fcn.1400d2b80
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x120], xmm0
xor eax, eax
mov qword [rsp + 0x110], rax
movaps xmmword [rsp + 0x100], xmm7
mov qword [rsp + 0xf0], rax
movaps xmmword [rsp + 0xe0], xmm7
movsx rcx, byte [rsp + 0x137]
test rcx, rcx
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov r9, rcx
cmovs r9, rdx
mov r8, rdi
cmovs r8, rax
test r9, r9
mov r15, qword [rsp + 0x20]
lea rbx, [rsp + 0x100]
js 0x1400c6d1d
sete r10b
test r8, r8
setne r11b
or r11b, r10b
je 0x1400c6d1d
cmp r9, 2
je 0x1400c6ca5
test r13b, 1
je 0x1400c6cc5
mov rcx, rdi
mov rdx, rbx
lea r8, [rsp + 0xe0]
call fcn.1400c6ed0
test al, al
je 0x1400c6c84
cmp qword [rsp + 0x40], 0
je 0x1400c6914
movsx r14, byte [rsp + 0x117]
test r14, r14
cmovs r14, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
cmovns rsi, rbx
test r14, r14
js 0x1400c6d1d
sete al
test rsi, rsi
setne cl
or cl, al
je 0x1400c6d1d
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], r14
lea rcx, [rsp + 0xa8]
call fcn.14002d2f0
test rax, rax
je 0x1400c6914
cmp r14, rax
je 0x1400c6914
lea rcx, [rsi + r14*2]
mov rdx, rcx
test r14, r14
je 0x1400c68d7
mov rdx, rsi
mov r8, r14
cmp word [rdx], 0x3d
je 0x1400c6c78
add rdx, 2
dec r8
jne 0x1400c68c1
mov rdx, rcx
sub r14, rax
jb 0x1400c6d2c
mov r8, rdx
sub r8, rsi
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp r14, r8
cmovb r8, r14
test r8, r8
js 0x1400c6d1d
cmp r8, 0xf
je 0x1400c6717
movsx rcx, byte [rsp + 0xf7]
test rcx, rcx
cmovs rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xe0]
lea rdx, [rsp + 0xe0]
cmovns rax, rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
test rcx, rcx
js 0x1400c6d1d
sete cl
test rax, rax
setne al
or al, cl
je 0x1400c6d1d
movsx rcx, byte [rsp + 0x117]
test rcx, rcx
cmovs rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
cmovns rax, rbx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rcx
test rcx, rcx
js 0x1400c6d1d
sete cl
test rax, rax
setne al
or al, cl
je 0x1400c6d1d
lea rsi, [rsp + 0xa8]
mov rcx, rsi
lea rdx, [rsp + 0x98]
call fcn.1400c70a0
movsx rcx, byte [rsp + 0xbf]
test rcx, rcx
jns 0x1400c69e8
mov rcx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], rcx
test rcx, rcx
js 0x1400c6d1d
sete cl
test rsi, rsi
setne al
or al, cl
je 0x1400c6d1d
mov rcx, r15
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0xd0]
call fcn.14002d580
cmp byte [rsp + 0xbf], 0
jns 0x1400c6a41
mov rcx, qword [rsp + 0xa8]
call fcn.1400d2b80
mov r13b, 1
cmp byte [rsp + 0xf7], 0
jns 0x1400c6a5b
mov rcx, qword [rsp + 0xe0]
call fcn.1400d2b80
cmp byte [rsp + 0x117], 0
jns 0x1400c6a72
mov rcx, qword [rsp + 0x100]
call fcn.1400d2b80
cmp byte [rsp + 0x137], 0
jns 0x1400c6a89
mov rcx, qword [rsp + 0x120]
call fcn.1400d2b80
add r12, 0x18
cmp r12, qword [rsp + 0x48]
je 0x1400c6bd2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
movaps xmmword [rsp + 0x120], xmm6
cmp byte [r12 + 0x17], 0
jns 0x1400c6d3d
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
mov rcx, rdi
call fcn.14002b300
movsx rax, byte [rsp + 0x137]
test rax, rax
cmovs rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
cmovns rcx, rdi
test rax, rax
js 0x1400c6d1d
sete dl
test rcx, rcx
setne r8b
or r8b, dl
je 0x1400c6d1d
mov rsi, rdi
lea rdx, [0x1401d6c20]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], 0x19
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0xe0]
mov r8, rbx
mov r9d, 3
call fcn.1400b7430
mov r15, qword [rsp + 0xb0]
cmp r15, rbp
ja 0x1400c6d1f
mov r14, qword [rsp + 0xa8]
cmp r15, 0xa
jbe 0x1400c6727
mov rdi, rbp
lea rax, [rbp + 5]
and rax, r15
add rax, 4
mov rbx, r15
or rbx, 3
cmp rbx, 0xb
cmove rbx, rax
inc rbx
js 0x1400c6d38
lea rcx, [rbx + rbx]
call fcn.1400d2b88
mov rcx, rax
mov qword [rsp + 0x100], rax
lea rax, [rdi + rbx]
add rax, 9
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x108], r15
jmp 0x1400c6732
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400c6bf4
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rsi, qword [rsp + 0x50]
test rsi, rsi
mov rbx, qword [rsp + 0x38]
je 0x1400c6c3c
mov rdi, qword [rsp + 0x58]
cmp rdi, rsi
je 0x1400c6c34
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x1400c6d1d
cmp byte [rdi + 0x17], 0
jns 0x1400c6c28
mov rcx, qword [rdi]
call fcn.1400d2b80
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x1400c6c11
mov rcx, rsi
call fcn.1400d2b80
test rbx, rbx
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400d4e20
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rdx, rdx
cmove rdx, rcx
jmp 0x1400c68d7
mov r8b, byte [rsp + 0x137]
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
movzx ecx, r8b
mov r13b, 1
jmp 0x1400c6ccb
cmp word [r8], 0x2d
jne 0x1400c681c
test cl, cl
mov r8, rdi
cmovs r8, rax
cmp word [r8 + 2], 0x2d
jne 0x1400c681c
xor r13d, r13d
mov r8d, ecx
test r8b, r8b
cmovs rcx, rdx
cmovns rax, rsi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rcx
test rcx, rcx
js 0x1400c6d1d
sete cl
test rax, rax
setne al
or al, cl
je 0x1400c6d1d
lea rdx, [rsp + 0x88]
mov r15, qword [rsp + 0x20]
mov rcx, r15
call fcn.14002e900
lea rbx, [rsp + 0x100]
mov rdi, rsi
jmp 0x1400c6a44
ud2
lea rcx, [rsp + 0x100]
call fcn.140111350
lea rcx, str.string_view::substr
call fcn.140111410
call fcn.140111390
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x1400c6acf
xor eax, eax
jmp 0x1400c650e
lea rcx, [rsp + 0x50]
call fcn.140111ad0
int3
xor r13d, r13d
xor r12d, r12d
jmp 0x1400c6591
mov rcx, qword [r15]
call fcn.1400d2b80
jmp 0x1400c65ef
lea rcx, [rsp + 0x120]
call fcn.140049440
jmp 0x1400c669f
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x1400c650e
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], rax
mov rcx, r12
jmp 0x1400c6679
cmp word [rsi + rax*2 + 2], 0x69
jne 0x1400c6914
cmp word [rsi + rax*2 + 4], 0x6e
jne 0x1400c6914
cmp word [rsi + rax*2 + 6], 0x67
jne 0x1400c6914
cmp word [rsi + rax*2 + 8], 0x6c
jne 0x1400c6914
cmp word [rsi + rax*2 + 0xa], 0x65
jne 0x1400c6914
cmp word [rsi + rax*2 + 0xc], 0x2d
jne 0x1400c6914
cmp word [rsi + rax*2 + 0xe], 0x61
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x10], 0x72
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x12], 0x67
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x14], 0x75
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x16], 0x6d
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x18], 0x65
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x1a], 0x6e
jne 0x1400c6914
cmp word [rsi + rax*2 + 0x1c], 0x74
jne 0x1400c6914
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.140137ba0
cmp byte [rsp + 0xf7], 0
jns 0x1400c6e91
mov rcx, qword [rsp + 0xe0]
call fcn.1400d2b80
cmp byte [rsp + 0x117], 0
jns 0x1400c6ea8
mov rcx, qword [rsp + 0x100]
call fcn.1400d2b80
cmp byte [rsp + 0x137], 0
jns 0x1400c6ebf
mov rcx, qword [rsp + 0x120]
call fcn.1400d2b80
mov r15, qword [rsp + 0x20]
jmp 0x1400c6bd2