Function at 0x140024780
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x170], xmm6
mov rax, qword [0x14010c038]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov rax, qword [0x1401138f8]
test rax, rax
jne 0x1400251c4
mov qword [rsp + 0x50], rax
mov ecx, 0x48
call fcn.140078938
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov ecx, 0x18
call fcn.140078938
mov qword [rsi + 0x10], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x20], rcx
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x18], rcx
lea rdi, [rsi + 0x30]
movups xmmword [rsi + 0x30], xmm6
mov qword [rsi + 0x28], rdi
mov qword [rsi + 0x40], 1
mov qword [rsp + 0x28], rsi
mov qword [0x1401138f8], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140025324
mov rcx, rax
call fcn.140092480
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x90]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rsi, [rsp + 0x150]
mov rcx, rsi
mov r8d, 3
call fcn.140031c00
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
cmp qword [rsp + 0x68], 0
je 0x1400251bf
movaps xmm0, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
mov dword [rsp + 0x8c], 0
lea rcx, str.api_ms_win_downlevel_shell32_l1_1_0.dll
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x48], rax
je 0x14002532b
lea rdx, [0x1400f2b4e]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140025343
mov rbp, rax
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x8c]
call rax
mov r13, rax
mov qword [rsp + 0x30], rdi
movsxd r15, dword [rsp + 0x8c]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
test r15, r15
je 0x1400249fd
test r15d, r15d
js 0x14002534b
shl r15, 3
lea rsi, [r15 + r15*2]
mov rcx, rsi
call fcn.140078938
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rax
add rax, rsi
mov qword [rsp + 0x80], rax
xor esi, esi
mov rbp, qword [r13 + rsi]
mov rcx, rbp
call fcn.140092480
mov rbx, rax
movabs rax, 0x7fffffffffffffef
cmp rbx, rax
ja 0x1400252b5
cmp rbx, 0xb
jae 0x1400249ad
mov byte [rdi + 0x17], bl
test rbx, rbx
je 0x140024994
cmp rbx, 3
jne 0x140025319
movzx eax, word [rbp + 4]
mov word [rdi + 4], ax
mov eax, dword [rbp]
mov dword [rdi], eax
mov r12, rdi
mov word [r12 + rbx*2], 0
add rdi, 0x18
add rsi, 8
cmp r15, rsi
jne 0x14002494c
jmp 0x1400249f8
mov r14, r13
lea r13, [rbx + 8]
and r13, 0xfffffffffffffff8
mov rcx, r13
add rcx, r13
call fcn.140078938
mov r12, rax
mov qword [rdi], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, r13
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], rbx
mov r8, rbx
add r8, rbx
mov rcx, r12
mov rdx, rbp
call fcn.14007bca0
mov r13, r14
jmp 0x140024997
mov qword [rsp + 0x78], rdi
mov ecx, 0x18
call fcn.140078938
mov rsi, rax
lea rdi, [rax + 0x18]
movups xmmword [rax], xmm6
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov rbp, qword [rsp + 0x28]
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x38], rcx
call fcn.140026e20
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
lea rdi, [rsp + 0x150]
mov qword [rdi + 0x10], rbx
movaps xmmword [rdi], xmm6
mov rcx, rdi
call fcn.140059ba0
mov rcx, rbp
add rcx, 0x28
mov rdx, qword [rbp + 0x30]
call fcn.140026dc0
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x28], rax
movups xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x40], 1
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
je 0x140025355
movzx ecx, byte [rax + 0x17]
test cl, cl
mov rbp, qword [rax]
cmovns rbp, rax
lea rdx, [rsp + 0xa0]
mov qword [rdx], rbp
cmovs rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
lea rcx, [rsp + 0x120]
call fcn.140059d20
lea rax, [rsp + 0x120]
movzx ecx, byte [rax + 0x17]
test cl, cl
mov rdx, qword [rax]
cmovns rdx, rax
lea r12, [rsp + 0xd0]
mov qword [r12], rdx
cmovs rcx, qword [rax + 8]
mov qword [r12 + 8], rcx
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, r12
mov r8d, 3
call fcn.140031c00
mov rsi, qword [rsi + 8]
test rsi, rsi
mov qword [rsp + 0x40], r13
je 0x14002527f
movabs rax, 0x7fffffffffffffef
cmp rsi, rax
ja 0x1400252bd
mov r14, qword [rsp + 0xf0]
cmp rsi, 0xa
jbe 0x140025200
lea rbx, [rsi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.140078938
mov rdi, rax
mov qword [rsp + 0x150], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbx
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], rsi
lea r8, [rsi + rsi]
mov rcx, rdi
mov rdx, r14
call fcn.14007bca0
mov word [rdi + rsi*2], 0
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax + 0x10]
cmp byte [rsi + 0x17], 0
js 0x140025367
mov rax, qword [rsp + 0x160]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x150]
movups xmmword [rsi], xmm0
lea rbp, [rsp + 0x120]
mov rcx, rbp
call fcn.140059e20
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
sar rcx, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rdx
cmp rcx, 2
jb 0x14002518f
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x30], 1
mov r13d, 1
movaps xmm6, xmmword [0x1400ec9c0]
xorps xmm7, xmm7
lea rdx, [r13*2]
add rdx, r13
lea rcx, [rax + rdx*8]
movabs rbx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rbx
movaps xmmword [rsp + 0x120], xmm6
cmp byte [rcx + 0x17], 0
jns 0x1400252cd
mov r8, qword [rax + rdx*8 + 8]
mov rdx, qword [rcx]
mov rcx, rbp
call fcn.1400582d0
movzx eax, byte [rsp + 0x137]
test al, al
mov rcx, qword [rsp + 0x120]
cmovns rcx, rbp
mov qword [rsp + 0x110], rcx
cmovs rax, qword [rsp + 0x128]
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x110]
mov r8d, 3
call fcn.140031c00
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x140025254
movabs rax, 0x7fffffffffffffef
cmp rdi, rax
ja 0x1400252bd
mov r15, qword [rsp + 0xf0]
cmp rdi, 0xa
jbe 0x140025061
lea rbx, [rdi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.140078938
mov rsi, rax
mov qword [rsp + 0x150], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbx
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], rdi
lea r8, [rdi + rdi]
mov rcx, rsi
mov rdx, r15
call fcn.14007bca0
mov word [rsi + rdi*2], 0
cmp byte [rsp + 0x137], 0
jns 0x140024d2f
mov rcx, qword [rsp + 0x120]
call fcn.140078974
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x130], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x120], xmm0
xor eax, eax
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm7
mov qword [rsp + 0xe0], rax
movaps xmmword [rsp + 0xd0], xmm7
movzx eax, byte [rsp + 0x137]
test al, al
jns 0x140024d85
mov rax, qword [rsp + 0x128]
mov cl, 1
cmp rax, 2
je 0x1400252e9
mov al, byte [rsp + 0x30]
and al, cl
mov byte [rsp + 0x30], al
cmp al, 1
jne 0x14002520d
mov rcx, rbp
lea rdx, [rsp + 0xf0]
mov r8, r12
call fcn.140059620
test al, al
je 0x14002520d
cmp qword [rsp + 0x58], 0
je 0x140024f2d
movzx ebx, byte [rsp + 0x107]
lea r15, [rsp + 0xf0]
test bl, bl
jns 0x140024dee
mov r15, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
xor ebp, ebp
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], rax
movaps xmmword [rsp + 0x150], xmm6
mov rax, rbp
shl rax, 4
lea rcx, [0x1400f2ac0]
mov rdx, qword [rax + rcx]
mov rsi, qword [rax + rcx + 8]
mov byte [rsp + 0x167], sil
lea r8, [rsi + rsi]
lea rcx, [rsp + 0x150]
call fcn.14007bca0
mov word [rsp + rsi*2 + 0x150], 0
movzx eax, byte [rsp + 0x167]
mov rcx, rax
test al, al
jns 0x140024e5b
mov rcx, qword [rsp + 0x158]
cmp rbx, rcx
jb 0x140024ebe
mov r14b, 1
test rcx, rcx
je 0x1400252ad
lea rdx, [rsp + 0x150]
test al, al
jns 0x140024e80
mov rdx, qword [rsp + 0x150]
xor edi, edi
movzx esi, word [r15 + rdi*2]
cmp si, word [rdx + rdi*2]
jne 0x140024ebe
inc rdi
cmp rcx, rdi
jne 0x140024e82
mov r12, rcx
test al, al
js 0x14002529b
test r14b, r14b
jne 0x140024ec3
inc rbp
movzx eax, byte [0x140113900]
xor rax, 3
cmp rbp, rax
jb 0x140024df0
jmp 0x140024f2d
xor r14d, r14d
jmp 0x140024e98
test r12, r12
je 0x140024f2d
cmp rbx, r12
je 0x140024f2d
lea rax, [0x1400f2af0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], rbx
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x150]
xor r8d, r8d
call fcn.14005eff0
sub rbx, r12
jb 0x1400252ca
sub rax, r12
cmp rbx, rax
cmovb rax, rbx
cmp rax, 0xf
je 0x140025076
movzx eax, byte [rsp + 0xe7]
test al, al
mov rcx, qword [rsp + 0xd0]
lea r12, [rsp + 0xd0]
cmovns rcx, r12
cmovs rax, qword [rsp + 0xd8]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
movzx eax, byte [rsp + 0x107]
test al, al
mov rcx, qword [rsp + 0xf0]
lea rdx, [rsp + 0xf0]
cmovns rcx, rdx
mov qword [rsp + 0xb0], rcx
cmovs rax, qword [rsp + 0xf8]
mov qword [rsp + 0xb8], rax
lea rsi, [rsp + 0x150]
mov rcx, rsi
lea rdx, [rsp + 0xb0]
call fcn.14005d050
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
lea r8, [rsp + 0xc0]
call fcn.140025390
cmp byte [rsp + 0x167], 0
js 0x14002504f
lea rbp, [rsp + 0x120]
cmp byte [rsp + 0xe7], 0
jns 0x140024ff1
mov rcx, qword [rsp + 0xd0]
call fcn.140078974
cmp byte [rsp + 0x107], 0
jns 0x140025008
mov rcx, qword [rsp + 0xf0]
call fcn.140078974
cmp byte [rsp + 0x137], 0
jns 0x14002501f
mov rcx, qword [rsp + 0x120]
call fcn.140078974
inc r13
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
sar rcx, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rdx
cmp r13, rcx
jb 0x140024c03
jmp 0x14002518f
mov rcx, qword [rsp + 0x150]
call fcn.140078974
jmp 0x140024fd2
mov byte [rsp + 0x167], dil
lea rsi, [rsp + 0x150]
jmp 0x140024d03
cmp word [r15 + r12*2], 0x73
jne 0x140024f2d
cmp word [r15 + r12*2 + 2], 0x69
jne 0x140024f2d
cmp word [r15 + r12*2 + 4], 0x6e
jne 0x140024f2d
cmp word [r15 + r12*2 + 6], 0x67
jne 0x140024f2d
cmp word [r15 + r12*2 + 8], 0x6c
jne 0x140024f2d
cmp word [r15 + r12*2 + 0xa], 0x65
jne 0x140024f2d
cmp word [r15 + r12*2 + 0xc], 0x2d
jne 0x140024f2d
cmp word [r15 + r12*2 + 0xe], 0x61
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x10], 0x72
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x12], 0x67
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x14], 0x75
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x16], 0x6d
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x18], 0x65
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x1a], 0x6e
jne 0x140024f2d
cmp word [r15 + r12*2 + 0x1c], 0x74
jne 0x140024f2d
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0x28]
call fcn.1400c6d80
cmp byte [rsp + 0xe7], 0
jns 0x140025161
mov rcx, qword [rsp + 0xd0]
call fcn.140078974
cmp byte [rsp + 0x107], 0
jns 0x140025178
mov rcx, qword [rsp + 0xf0]
call fcn.140078974
cmp byte [rsp + 0x137], 0
jns 0x14002518f
mov rcx, qword [rsp + 0x120]
call fcn.140078974
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400251b5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rsp + 0x70]
call fcn.140059ba0
mov rax, qword [rsp + 0x50]
test rax, rax
sete bl
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1400797f0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x167], sil
jmp 0x140024b68
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax + 0x18]
cmp rsi, qword [rax + 0x20]
je 0x14002526d
cmp byte [rsp + 0x137], 0
jns 0x140025374
mov rdx, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov rcx, rsi
call fcn.1400582d0
add rsi, 0x18
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x18], rsi
jmp 0x140024fda
movaps xmmword [rsp + 0x150], xmm7
mov qword [rsp + 0x160], 0
jmp 0x140024d18
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
call fcn.140027090
jmp 0x140024fda
xorps xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
jmp 0x140024b7d
mov rcx, qword [rsp + 0x150]
call fcn.140078974
jmp 0x140024ea0
xor r12d, r12d
jmp 0x140024e98
mov rcx, rdi
call fcn.1400c5490
lea rcx, [rsp + 0x150]
call fcn.1400c5490
int3
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x140024c46
mov qword [rsp + 0x20], 2
lea r9, [0x1400f2af4]
lea rcx, [rsp + 0x120]
xor edx, edx
mov r8, 0xffffffffffffffff
call fcn.1400591c0
test eax, eax
setne cl
jmp 0x140024d91
mov r14, r13
mov r12, rdi
jmp 0x1400249e2
xor eax, eax
jmp 0x14002483e
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x8c]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x1400248ec
xor r13d, r13d
jmp 0x1400248ef
lea rcx, [rsp + 0x70]
call fcn.1400a5790
lea rcx, [rsp + 0x120]
call fcn.140059ca0
jmp 0x140024ab0
mov rcx, qword [rsi]
call fcn.140078974
jmp 0x140024b90
mov rax, qword [rsp + 0x130]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsi], xmm0
jmp 0x140025242