Function at 0x14008f680
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 [0x14013b028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rbp, qword [0x14014cad8]
test rbp, rbp
jne 0x14008fb69
mov ecx, 0x50
call fcn.14009fd48
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.14009fd48
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x1400903b9
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x20], rcx
mov rdi, rsi
add rdi, 0x38
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x48], 1
mov qword [0x14014cad8], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x1400903bc
mov rbx, rax
mov rcx, rax
call fcn.1400a0510
lea rdx, [rsp + 0xf0]
mov qword [rdx], rbx
mov qword [rdx + 8], rax
lea rax, [0x140129460]
lea r8, [rsp + 0x108]
mov qword [r8], rax
mov qword [r8 + 8], 0x19
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov r9d, 3
call fcn.140088da0
mov rax, qword [rbx + 8]
test rax, rax
je 0x14008fb69
mov rbx, qword [rsp + 0xd0]
mov qword [rsi], rbx
mov qword [rsi + 8], rax
mov dword [rsp + 0x5c], 0
lea rcx, [0x140128a44]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r12, rax
test rax, rax
je 0x1400903f6
lea rdx, [0x140128a94]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400903bf
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [0x140163008]
mov qword [rsp + 0x30], rax
movsxd rbx, dword [rsp + 0x5c]
test rbx, rbx
je 0x1400903db
test ebx, ebx
js 0x1400903c6
shl rbx, 3
lea rcx, [rbx + rbx*2]
call fcn.14009fd48
mov r13, rax
xor r15d, r15d
xor r14d, r14d
mov rcx, r13
add rcx, r15
je 0x140090353
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + r14]
call fcn.1400d3e00
add r14, 8
add r15, 0x18
cmp rbx, r14
jne 0x14008f81e
mov r14, r13
add r14, r15
mov qword [rsp + 0x38], r12
mov ecx, 0x18
call fcn.14009fd48
test rax, rax
je 0x1400903c9
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r15, qword [rsi + 0x18]
test r15, r15
je 0x14008f8bc
mov r12, qword [rsi + 0x20]
mov rcx, r15
cmp r12, r15
je 0x14008f8b3
add r12, 0xffffffffffffffe8
test r12, r12
je 0x1400903d8
cmp byte [r12 + 0x17], 0
js 0x140090345
lea rax, [r12 - 0x18]
cmp r12, r15
mov r12, rax
jne 0x14008f88d
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x20], r15
call fcn.14009fde8
mov rax, rbx
add rax, 0x18
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rax
mov rcx, qword [rsi + 0x38]
call fcn.1400133d0
mov qword [rsi + 0x30], rdi
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x48], 1
cmp r13, r14
je 0x140090409
movzx eax, byte [r13 + 0x17]
test al, al
lea r12, [rsp + 0xf0]
jns 0x140090423
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x1400903cc
test rcx, rcx
jne 0x14008f92f
test rax, rax
jne 0x140090435
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x60]
call fcn.140094bd0
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, r12
test rax, rax
js 0x1400903cf
test rcx, rcx
jne 0x14008f97c
test rax, rax
jne 0x140090438
mov qword [rsp + 0x40], rbp
movabs rdi, 0x7ffffffffffffff7
lea r8, [rsp + 0x108]
lea rdx, [0x140129460]
mov qword [r8], rdx
mov qword [r8 + 8], 0x19
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov r9d, 3
call fcn.140088da0
mov rbx, qword [rbx + 8]
cmp rbx, rdi
ja 0x1400903d2
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x14008faf5
mov rax, rbx
and rax, 0xfffffffffffffffc
add rax, 4
mov rdi, rbx
or rdi, 3
cmp rdi, 0xb
cmove rdi, rax
inc rdi
js 0x1400903f3
lea rcx, [rdi + rdi]
call fcn.14009fd48
mov rcx, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7ffffffffffffff7
add rax, 9
or rax, rdi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea rdi, [rcx + rbx*2]
cmp rcx, rbp
ja 0x14008fa53
cmp rdi, rbp
ja 0x14009043b
test rbx, rbx
je 0x14008fa66
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400a3a80
mov word [rdi], 0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], rdi
je 0x1400903d5
cmp byte [rdi + 0x17], 0
js 0x1400903e6
mov rax, qword [rsp + 0x118]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [rdi], xmm0
cmp byte [rsp + 0x107], 0
jns 0x14008fab1
mov rcx, qword [rsp + 0xf0]
call fcn.14009fde8
mov rax, r14
sub rax, r13
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0x50], rcx
cmp rcx, 2
jb 0x14008fb05
mov rax, qword [rsi + 8]
mov qword [rsp + 0x48], rax
mov dil, 1
mov r15d, 1
movaps xmm6, xmmword [0x14011bb10]
xorps xmm7, xmm7
jmp 0x14008fc6c
lea rcx, [rsp + 0x108]
mov byte [rcx + 0x17], bl
jmp 0x14008fa41
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14008fb26
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
mov rbp, qword [rsp + 0x40]
je 0x14008fb69
cmp r13, r14
je 0x14008fb61
add r14, 0xffffffffffffffe8
jmp 0x14008fb4f
mov rcx, qword [r14]
call fcn.14009fde8
lea rax, [r14 - 0x18]
cmp r14, r13
mov r14, rax
je 0x14008fb61
test r14, r14
je 0x14009035c
cmp byte [r14 + 0x17], 0
jns 0x14008fb43
jmp 0x14008fb3b
mov rcx, r13
call fcn.14009fde8
test rbp, rbp
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400a1ff0
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
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rcx, r12
call fcn.140001d90
jmp 0x14008fcb6
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, r12
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
test rax, rax
js 0x140090386
test rcx, rcx
jne 0x14008fbfe
test rax, rax
jne 0x1400903a7
mov rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.140013430
xor ebx, ebx
cmp byte [rsp + 0xc7], 0
jns 0x14008fc24
mov rcx, qword [rsp + 0xb0]
call fcn.14009fde8
cmp byte [rsp + 0xe7], 0
jns 0x14008fc3b
mov rcx, qword [rsp + 0xd0]
call fcn.14009fde8
mov cl, byte [rsp + 0x107]
test cl, cl
jns 0x14008fc53
mov rcx, qword [rsp + 0xf0]
call fcn.14009fde8
test bl, 3
jne 0x14008fb05
inc r15
mov edi, ebp
cmp r15, qword [rsp + 0x50]
je 0x14008fb05
lea rax, [r15 + r15*2]
lea rax, [rax*8]
add rax, r13
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rcx
movaps xmmword [rsp + 0xf0], xmm6
cmp byte [rax + 0x17], 0
js 0x14008fba5
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, r12
test rax, rax
js 0x140090356
test rcx, rcx
lea r12, [rsp + 0x108]
jne 0x14008fcf9
test rax, rax
jne 0x140090368
lea rdx, [0x140129460]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0x19
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0xd0]
mov r8, r12
mov r9d, 3
call fcn.140088da0
mov rbx, qword [rsp + 0xb8]
movabs rax, 0x7ffffffffffffff7
cmp rbx, rax
ja 0x140090359
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x14008fe45
mov rax, rbx
and rax, 0xfffffffffffffffc
add rax, 4
mov r12, rbx
or r12, 3
cmp r12, 0xb
cmove r12, rax
inc r12
js 0x140090365
lea rcx, [r12 + r12]
call fcn.14009fd48
mov rcx, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7ffffffffffffff7
add rax, 9
or rax, r12
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea r12, [rcx + rbx*2]
cmp rcx, rbp
ja 0x14008fdd9
cmp r12, rbp
ja 0x14009036b
test rbx, rbx
je 0x14008fdec
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400a3a80
mov word [r12], 0
cmp byte [rsp + 0x107], 0
jns 0x14008fe0a
mov rcx, qword [rsp + 0xf0]
call fcn.14009fde8
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xf0], xmm0
movzx ecx, byte [rsp + 0x107]
test cl, cl
lea r12, [rsp + 0xf0]
js 0x14008fe60
mov eax, ecx
and eax, 0x7f
jmp 0x14008fe68
mov byte [rsp + 0x11f], bl
mov rcx, r12
jmp 0x14008fdc7
mov ebx, 4
mov ebp, edi
jmp 0x14008fc42
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x14008fe54
test cl, cl
movaps xmmword [rsp + 0xd0], xmm7
mov edx, 0
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xc0], rdx
movaps xmmword [rsp + 0xb0], xmm7
mov r8, qword [rsp + 0xf0]
mov rdx, r12
cmovs rdx, r8
test rax, rax
js 0x14009035f
test rdx, rdx
je 0x140090362
cmp rax, 2
jne 0x14008fed3
cmp word [rdx], 0x2d
jne 0x14008fed3
test cl, cl
cmovns r8, r12
cmp word [r8 + 2], 0x2d
sete bpl
jmp 0x14008fed5
xor ebp, ebp
xor bpl, 1
and bpl, dil
xor ecx, ecx
mov word [rsp + 0xd0], cx
mov byte [rsp + 0xe7], cl
mov word [rsp + 0xb0], cx
mov byte [rsp + 0xc7], cl
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
lea rcx, [rsp + 0x120]
call fcn.1400905d0
test rax, rax
je 0x14008fbb9
movzx edx, byte [rsp + 0x107]
test dl, dl
js 0x14008ff35
mov ecx, edx
and ecx, 0x7f
jmp 0x14008ff3d
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
je 0x14008fbb9
mov rax, r12
test dl, dl
jns 0x14008ff55
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rcx*2]
mov r8, rdx
test rcx, rcx
jle 0x14008ff7e
mov r8, rax
cmp word [r8], 0x3d
je 0x14008ff79
add r8, 2
dec rcx
jne 0x14008ff64
mov r8, rdx
jmp 0x14008ff7e
test r8, r8
je 0x14008ff74
mov rbx, r8
sub rbx, rax
sar rbx, 1
cmp r8, rdx
mov rax, 0xffffffffffffffff
cmove rbx, rax
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x108]
mov rdx, r12
xor r8d, r8d
mov r9, rbx
call fcn.1400132e0
cmp byte [rsp + 0xe7], 0
js 0x14009036e
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
cmp rbx, 0xffffffffffffffff
je 0x140090044
inc rbx
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x108]
mov rdx, r12
mov r8, rbx
mov r9, 0xffffffffffffffff
call fcn.1400132e0
cmp byte [rsp + 0xc7], 0
js 0x14009038c
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xb0], xmm0
test bpl, bpl
je 0x14008fbb9
cmp qword [rsp + 0x48], 0
je 0x14009013a
movzx eax, byte [rsp + 0xe7]
mov edi, eax
and edi, 0x7f
test al, al
cmovs rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
lea rax, [rsp + 0xd0]
cmovns rbx, rax
test rdi, rdi
js 0x14009039e
test rbx, rbx
jne 0x14009009c
test rdi, rdi
jne 0x1400903aa
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rdi
lea rcx, [rsp + 0x108]
call fcn.1400905d0
test rax, rax
je 0x14009013a
cmp rdi, rax
je 0x14009013a
lea rcx, [rbx + rdi*2]
mov rdx, rcx
test rdi, rdi
je 0x1400900eb
mov rdx, rbx
mov r8, rdi
cmp word [rdx], 0x3d
je 0x140090279
add rdx, 2
dec r8
jne 0x1400900d5
mov rdx, rcx
sub rdi, rax
jb 0x1400903a1
mov r8, rdx
sub r8, rbx
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp rdi, r8
cmovb r8, rdi
test r8, r8
js 0x1400903a4
lea rax, [rbx + rax*2]
test rax, rax
jne 0x140090130
test r8, r8
jne 0x1400903ad
cmp r8, 0xf
je 0x140090287
movzx ecx, byte [rsp + 0xc7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0xb0]
cmovns rcx, rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
test rax, rax
js 0x140090380
test rcx, rcx
jne 0x14009018d
test rax, rax
jne 0x1400903b0
movzx ecx, byte [rsp + 0xe7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0xd0]
cmovns rcx, rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
test rax, rax
js 0x140090383
test rcx, rcx
jne 0x1400901e0
test rax, rax
jne 0x1400903b3
lea rdi, [rsp + 0x108]
mov rcx, rdi
lea rdx, [rsp + 0x80]
call fcn.1400863f0
movzx eax, byte [rsp + 0x11f]
test al, al
js 0x140090209
and eax, 0x7f
jmp 0x140090219
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rax
test rax, rax
js 0x140090389
test rdi, rdi
jne 0x140090240
test rax, rax
jne 0x1400903b6
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
call fcn.140013710
cmp byte [rsp + 0x11f], 0
jns 0x14009026f
mov rcx, qword [rsp + 0x108]
call fcn.14009fde8
xor ebx, ebx
mov bpl, 1
jmp 0x14008fc0d
test rdx, rdx
jne 0x1400900eb
jmp 0x1400900e8
cmp word [rax], 0x73
jne 0x14009013a
cmp word [rax + 2], 0x69
jne 0x14009013a
cmp word [rax + 4], 0x6e
jne 0x14009013a
cmp word [rax + 6], 0x67
jne 0x14009013a
cmp word [rax + 8], 0x6c
jne 0x14009013a
cmp word [rax + 0xa], 0x65
jne 0x14009013a
cmp word [rax + 0xc], 0x2d
jne 0x14009013a
cmp word [rax + 0xe], 0x61
jne 0x14009013a
cmp word [rax + 0x10], 0x72
jne 0x14009013a
cmp word [rax + 0x12], 0x67
jne 0x14009013a
cmp word [rax + 0x14], 0x75
jne 0x14009013a
cmp word [rax + 0x16], 0x6d
jne 0x14009013a
cmp word [rax + 0x18], 0x65
jne 0x14009013a
cmp word [rax + 0x1a], 0x6e
jne 0x14009013a
cmp word [rax + 0x1c], 0x74
jne 0x14009013a
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400d3f30
mov ebx, 1
jmp 0x140090271
mov rcx, qword [r12]
call fcn.14009fde8
jmp 0x14008f8a2
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd0]
call fcn.14009fde8
jmp 0x14008ffc6
int3
int3
int3
int3
mov rcx, qword [rsp + 0xb0]
call fcn.14009fde8
jmp 0x140090024
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x14008f7ed
int3
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor r14d, r14d
jmp 0x14008f84b
mov rcx, qword [rdi]
call fcn.14009fde8
jmp 0x14008fa83
int3
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x14008f7ed
lea rcx, [rsp + 0xf0]
call fcn.14009f040
lea r12, [rsp + 0xf0]
jmp 0x14008f941
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], rax
mov rcx, r13
jmp 0x14008f921
int3
int3
int3