Function at 0x140181430
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
mov rax, qword [0x1402b7040]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov rax, qword [0x1402c9600]
test rax, rax
jne 0x140181cc2
mov qword [rsp + 0x40], rax
mov ecx, 0x50
call fcn.14019ca88
mov r14, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, Ordinal_26
call fcn.14019ca88
mov qword [r14 + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [r14 + 0x28], rcx
test rax, rax
je 0x140181e10
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [r14 + 0x20], rcx
mov rsi, r14
add rsi, 0x38
movups xmmword [r14 + 0x38], xmm6
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x48], 1
mov qword [0x1402c9600], r14
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140181e10
mov rdi, rax
mov rcx, rax
call fcn.14019cee8
lea rdx, [rsp + 0x78]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
lea rdi, [rsp + 0x140]
mov rcx, rdi
mov r8d, 3
call fcn.140029580
mov rax, qword [rdi + 8]
test rax, rax
je 0x140181cbd
mov rdi, qword [rsp + 0x140]
mov qword [r14], rdi
mov qword [r14 + 8], rax
mov dword [rsp + 0x74], 0
lea rcx, [0x140287998]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x140181ecd
lea rdx, [0x1402879e8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140181e8b
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [0x1402a7b00]
mov qword [rsp + 0x28], rax
movsxd rbx, dword [rsp + 0x74]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
test rbx, rbx
mov qword [rsp + 0x30], r14
je 0x140181e99
test ebx, ebx
js 0x140181ea1
shl rbx, 3
lea rdi, [rbx + rbx*2]
mov rcx, rdi
call fcn.14019ca88
mov r14, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
add rax, rdi
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov r13d, Ordinal_14
jmp 0x14018166c
mov rax, r15
or rax, 3
lea rbp, [rax + 1]
cmp rax, 0xb
cmove rbp, r13
test rbp, rbp
js 0x140181e12
lea rcx, [rbp*2]
call fcn.14019ca88
mov rcx, rax
mov qword [r14], rax
movabs rax, 0x7ffffffffffffff7
add rax, rbp
add rax, 9
mov qword [r14 + 0x10], rax
mov qword [r14 + 8], r15
lea rbp, [rcx + r15*2]
cmp rdi, rcx
jb 0x140181646
cmp rdi, rbp
jb 0x140181e10
test r15, r15
je 0x140181659
add r15, r15
mov rdx, rdi
mov r8, r15
call fcn.1401d8080
mov word [rbp], 0
add r14, 0x18
add r12, 8
cmp rbx, r12
je 0x1401816bb
test r14, r14
je 0x140181e10
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + r12]
test rdi, rdi
je 0x140181e10
mov rcx, rdi
call fcn.14019cee8
mov r15, rax
movabs rax, 0x7ffffffffffffff7
cmp r15, rax
ja 0x140181e17
cmp r15, 0xa
ja 0x1401815ec
mov byte [r14 + 0x17], r15b
mov rcx, r14
jmp 0x140181634
mov qword [rsp + 0x58], r14
mov ecx, Ordinal_26
call fcn.14019ca88
test rax, rax
mov r12, qword [rsp + 0x30]
je 0x140181e10
mov rdi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x140181733
mov r15, qword [r12 + 0x20]
mov rcx, rbx
cmp rbx, r15
je 0x140181729
add r15, 0xffffffffffffffe8
test r15, r15
je 0x140181e10
cmp byte [r15 + 0x17], 0
js 0x140181ec0
lea rax, [r15 - 0x18]
cmp r15, rbx
mov r15, rax
jne 0x140181704
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x20], rbx
call fcn.14019cac4
mov rax, rdi
add rax, 0x18
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x28], rax
mov rcx, qword [r12 + 0x38]
call fcn.140008fb0
mov qword [r12 + 0x30], rsi
movups xmmword [r12 + 0x38], xmm6
mov qword [r12 + 0x48], 1
mov rsi, qword [rsp + 0x50]
cmp rsi, r14
je 0x140181eae
movsx rax, byte [rsi + 0x17]
mov rcx, rsi
test rax, rax
jns 0x140181789
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
lea rdx, [rsp + 0x88]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rsp + 0x140]
call fcn.140152d30
lea r13, [rsp + 0x140]
mov rcx, r12
mov rdx, r13
call fcn.14002a250
cmp byte [r13 + 0x17], 0
jns 0x1401817cc
mov rcx, qword [rsp + 0x140]
call fcn.14019cac4
cmp rsi, r14
je 0x140181c53
mov rax, r14
sub rax, rsi
add rsi, 0x18
cmp rax, 0x18
jl 0x140181eab
je 0x140181c53
mov rax, qword [r12 + 8]
mov qword [rsp + 0x48], rax
mov r15b, 1
movaps xmm6, xmmword [0x140275a70]
lea rbp, [rsp + 0x120]
xorps xmm7, xmm7
jmp 0x140181b2a
test rdx, rdx
jne 0x1401819d3
jmp 0x1401819d0
mov rax, r13
or rax, 3
lea r12, [rax + 1]
cmp rax, 0xb
mov eax, Ordinal_14
cmove r12, rax
test r12, r12
js 0x140181e12
lea rcx, [r12 + r12]
call fcn.14019ca88
mov rcx, rax
mov qword [rsp + 0x120], rax
movabs rax, 0x7ffffffffffffff7
add rax, r12
add rax, 9
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], r13
lea r12, [rcx + r13*2]
cmp rbx, rcx
setb al
cmp rbx, r12
setae dl
or dl, al
je 0x140181e10
test r13, r13
je 0x1401818a2
add r13, r13
mov rdx, rbx
mov r8, r13
call fcn.1401d8080
mov word [r12], 0
cmp byte [rsp + 0x157], 0
jns 0x1401818c0
mov rcx, qword [rsp + 0x140]
call fcn.14019cac4
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x140], xmm0
xor eax, eax
mov qword [rsp + 0x130], rax
movaps xmmword [rsp + 0x120], xmm7
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm7
movsx rax, byte [rsp + 0x157]
test rax, rax
mov rcx, qword [rsp + 0x148]
mov rdx, rax
cmovs rdx, rcx
cmp rdx, 2
mov r12, qword [rsp + 0x30]
mov r13, rdi
je 0x140181e38
test r15b, 1
lea rdi, [rsp + 0xb8]
je 0x140181e65
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0xf0]
call fcn.14017a5c0
test al, al
je 0x140181d06
cmp qword [rsp + 0x48], 0
je 0x140181a07
movsx r15, byte [rsp + 0x137]
test r15, r15
cmovs r15, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x120]
cmovns rbx, rbp
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], r15
mov rcx, rdi
call fcn.14017a8e0
test rax, rax
je 0x140181a07
cmp r15, rax
je 0x140181a07
lea rcx, [rbx + r15*2]
mov rdx, rcx
test r15, r15
jle 0x1401819d3
mov rdx, rbx
mov r8, r15
cmp word [rdx], 0x3d
je 0x140181813
add rdx, 2
dec r8
jne 0x1401819bd
mov rdx, rcx
sub r15, rax
jb 0x140181e2c
mov r8, rdx
sub r8, rbx
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp r15, r8
cmovb r8, r15
cmp r8, 0xf
je 0x140181bfb
movsx rax, byte [rsp + 0x107]
test rax, rax
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
lea rdx, [rsp + 0xf0]
cmovns rcx, rdx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
movsx rax, byte [rsp + 0x137]
test rax, rax
cmovs rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
cmovns rcx, rbp
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov rcx, rdi
lea rdx, [rsp + 0xa8]
call fcn.14014ed30
movsx rax, byte [rsp + 0xcf]
test rax, rax
jns 0x140181a9f
mov rax, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xb8]
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], rax
mov rcx, r12
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0xe0]
call fcn.140029730
cmp byte [rsp + 0xcf], 0
js 0x140181be9
mov r15b, 1
cmp byte [rsp + 0x107], 0
jns 0x140181aef
mov rcx, qword [rsp + 0xf0]
call fcn.14019cac4
cmp byte [rsp + 0x137], 0
jns 0x140181b06
mov rcx, qword [rsp + 0x120]
call fcn.14019cac4
cmp byte [rsp + 0x157], 0
jns 0x140181b1d
mov rcx, qword [rsp + 0x140]
call fcn.14019cac4
add rsi, 0x18
cmp rsi, r14
je 0x140181c53
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x150], rax
movaps xmmword [rsp + 0x140], xmm6
cmp byte [rsi + 0x17], 0
jns 0x140181e6f
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov rcx, r13
call fcn.14014e8d0
movsx rax, byte [rsp + 0x157]
test rax, rax
cmovs rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x140]
mov rdi, r13
cmovns rcx, r13
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x110]
mov r8d, 3
call fcn.140029580
mov r13, qword [rsp + 0xf8]
movabs rax, 0x7ffffffffffffff7
cmp r13, rax
ja 0x140181e1f
mov rbx, qword [rsp + 0xf0]
cmp r13, 0xa
ja 0x140181821
mov byte [rsp + 0x137], r13b
mov rcx, rbp
jmp 0x140181877
mov rcx, qword [rsp + 0xb8]
call fcn.14019cac4
jmp 0x140181ad5
cmp word [rbx + rax*2], 0x73
jne 0x140181a07
cmp word [rbx + rax*2 + 2], 0x69
jne 0x140181a07
cmp word [rbx + rax*2 + 4], 0x6e
jne 0x140181a07
cmp word [rbx + rax*2 + 6], 0x67
jne 0x140181a07
cmp word [rbx + rax*2 + 8], 0x6c
jne 0x140181a07
cmp word [rbx + rax*2 + 0xa], 0x65
jne 0x140181a07
cmp word [rbx + rax*2 + 0xc], 0x2d
je 0x140181d52
jmp 0x140181a07
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140181c76
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x140181cbd
mov rdi, qword [rsp + 0x58]
cmp rsi, rdi
je 0x140181cb5
add rdi, 0xffffffffffffffe8
jmp 0x140181ca4
mov rcx, qword [rdi]
call fcn.14019cac4
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140181cb5
test rdi, rdi
je 0x140181e10
cmp byte [rdi + 0x17], 0
js 0x140181c90
jmp 0x140181c98
mov rcx, rsi
call fcn.14019cac4
mov rax, qword [rsp + 0x40]
test rax, rax
sete al
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
cmp rcx, qword [0x1402b7040]
je 0x140181ce2
call fcn.14019f290
int3
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dl, byte [rsp + 0x157]
mov rcx, qword [rsp + 0x148]
movzx eax, dl
mov r15b, 1
test dl, dl
cmovs rax, rcx
mov rcx, qword [rsp + 0x140]
cmovns rcx, r13
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rcx, r12
lea rdx, [rsp + 0x98]
call fcn.14002a3b0
jmp 0x140181ad8
cmp word [rbx + rax*2 + 0xe], 0x61
jne 0x140181a07
cmp word [rbx + rax*2 + 0x10], 0x72
jne 0x140181a07
cmp word [rbx + rax*2 + 0x12], 0x67
jne 0x140181a07
cmp word [rbx + rax*2 + 0x14], 0x75
jne 0x140181a07
cmp word [rbx + rax*2 + 0x16], 0x6d
jne 0x140181a07
cmp word [rbx + rax*2 + 0x18], 0x65
jne 0x140181a07
cmp word [rbx + rax*2 + 0x1a], 0x6e
jne 0x140181a07
cmp word [rbx + rax*2 + 0x1c], 0x74
jne 0x140181a07
lea rdx, [rsp + 0x120]
mov rcx, r12
call fcn.140206fa0
cmp byte [rsp + 0x107], 0
jns 0x140181dd9
mov rcx, qword [rsp + 0xf0]
call fcn.14019cac4
cmp byte [rsp + 0x137], 0
jns 0x140181df0
mov rcx, qword [rsp + 0x120]
call fcn.14019cac4
cmp byte [rsp + 0x157], 0
jns 0x140181c53
mov rcx, qword [rsp + 0x140]
call fcn.14019cac4
jmp 0x140181c53
ud2
call fcn.1401dc2e0
mov rcx, r14
call fcn.1401dc2a0
lea rcx, [rsp + 0x120]
call fcn.1401dc2a0
lea rcx, str.string_view::substr
call fcn.1401dc320
test al, al
mov rdx, qword [rsp + 0x140]
mov r8, r13
cmovs r8, rdx
cmp word [r8], 0x2d
jne 0x14018192f
test al, al
cmovns rdx, r13
cmp word [rdx + 2], 0x2d
jne 0x14018192f
xor r15d, r15d
mov edx, eax
jmp 0x140181d1b
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x140], xmm0
jmp 0x140181b5d
mov qword [rsp + 0x28], 0
jmp 0x14018158d
xor r14d, r14d
jmp 0x1401816c0
lea rcx, [rsp + 0x50]
call fcn.1401dca40
int3
lea rcx, [rsp + 0x140]
call fcn.14019afb0
jmp 0x1401817a5
mov rcx, qword [r15]
call fcn.14019cac4
jmp 0x140181718
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x140181588