Function at 0x14008e770
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 [0x140139028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov r14, qword [0x14014aad8]
test r14, r14
jne 0x14008ec49
mov ecx, 0x50
call fcn.14009f7f4
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.14009f7f4
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x14008f44d
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 [0x14014aad8], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x14008f450
mov rbx, rax
mov rcx, rax
call fcn.14009ffb0
lea r13, [rsp + 0xf0]
mov qword [r13], rbx
mov qword [r13 + 8], rax
lea rax, str._t_v_f__n_r
lea r8, [rsp + 0x108]
mov qword [r8], rax
mov qword [r8 + 8], 0x19
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov rdx, r13
mov r9d, 3
call fcn.14008ac50
mov rax, qword [rbx + 8]
test rax, rax
je 0x14008ec49
mov rbx, qword [rsp + 0xd0]
mov qword [rsi], rbx
mov qword [rsi + 8], rax
mov dword [rsp + 0x5c], 0
lea rcx, [0x140127094]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x40], rax
je 0x14008f49c
lea rdx, [0x1401270e4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14008f453
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [0x14012df48]
mov qword [rsp + 0x30], rax
movsxd rbx, dword [rsp + 0x5c]
test rbx, rbx
mov qword [rsp + 0x48], r14
je 0x14008f46f
test ebx, ebx
js 0x14008f45a
shl rbx, 3
lea rcx, [rbx + rbx*2]
call fcn.14009f7f4
mov r12, rax
xor r14d, r14d
mov r15, rax
test r15, r15
je 0x14008f3e7
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + r14]
mov rcx, r15
call fcn.1400d2d80
add r15, 0x18
add r14, 8
cmp rbx, r14
jne 0x14008e919
mov ecx, 0x18
call fcn.14009f7f4
test rax, rax
je 0x14008f45d
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x14008e9bb
mov rbp, r12
mov r12, qword [rsi + 0x20]
mov rcx, r14
cmp r12, r14
je 0x14008e9af
add r12, 0xffffffffffffffe8
jmp 0x14008e998
mov rcx, qword [r12]
call fcn.14009f888
lea rax, [r12 - 0x18]
cmp r12, r14
mov r12, rax
je 0x14008e9ab
test r12, r12
je 0x14008f3f6
cmp byte [r12 + 0x17], 0
js 0x14008e982
jmp 0x14008e98b
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x20], r14
call fcn.14009f888
mov r12, rbp
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.140011ab0
mov qword [rsi + 0x30], rdi
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x48], 1
cmp r12, r15
je 0x14008f47a
movzx eax, byte [r12 + 0x17]
test al, al
jns 0x14008f4af
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x14008f460
test rcx, rcx
jne 0x14008ea28
test rax, rax
jne 0x14008f4c1
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x60]
call fcn.14008e460
movzx eax, byte [rsp + 0x107]
test al, al
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, r13
test rax, rax
js 0x14008f463
je 0x14008ea6d
test rcx, rcx
je 0x14008f4c4
movabs r14, 0x7ffffffffffffff7
lea r8, [rsp + 0x108]
lea rdx, str._t_v_f__n_r
mov qword [r8], rdx
mov qword [r8 + 8], 0x19
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov r9d, 3
call fcn.14008ac50
mov rbx, qword [rdi + 8]
cmp rbx, r14
ja 0x14008f466
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x14008ec06
lea rax, [r14 + 5]
and rax, rbx
add rax, 4
mov rdi, rbx
or rdi, 3
cmp rdi, 0xb
cmove rdi, rax
inc rdi
js 0x14008f499
lea rcx, [rdi + rdi]
call fcn.14009f7f4
mov rcx, rax
mov qword [rsp + 0x108], rax
lea rax, [r14 + 9]
or rax, rdi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea rdi, [rcx + rbx*2]
cmp rcx, rbp
ja 0x14008eb35
cmp rdi, rbp
ja 0x14008f4c7
test rbx, rbx
je 0x14008eb48
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400a3450
mov word [rdi], 0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], rdi
je 0x14008f469
cmp byte [rdi + 0x17], 0
js 0x14008f48c
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 0x14008eb93
mov rcx, qword [rsp + 0xf0]
call fcn.14009f888
cmp r12, r15
je 0x14008ebd5
mov rax, r15
sub rax, r12
mov qword [rsp + 0x38], r12
add r12, 0x18
cmp rax, 0x18
jl 0x14008f46c
je 0x14008ebd0
mov rax, qword [rsi + 8]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x2f], 1
movaps xmm6, xmmword [0x140118af0]
xorps xmm7, xmm7
jmp 0x14008ed6a
mov r12, qword [rsp + 0x38]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14008ebf6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r12, r12
je 0x14008ec44
cmp r12, r15
je 0x14008ec3c
add r15, 0xffffffffffffffe8
jmp 0x14008ec2a
lea rcx, [rsp + 0x108]
mov byte [rcx + 0x17], bl
jmp 0x14008eb23
mov rcx, qword [r15]
call fcn.14009f888
lea rax, [r15 - 0x18]
cmp r15, r12
mov r15, rax
je 0x14008ec3c
test r15, r15
je 0x14008f3f3
cmp byte [r15 + 0x17], 0
js 0x14008ec16
jmp 0x14008ec1e
mov rcx, r12
call fcn.14009f888
mov r14, qword [rsp + 0x48]
test r14, r14
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400a19c0
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 [r12]
mov r8, qword [r12 + 8]
mov rcx, r13
call fcn.1400617d0
jmp 0x14008edaa
mov byte [rsp + 0x11f], bl
lea rcx, [rsp + 0x108]
jmp 0x14008eeb0
mov ebx, 3
jmp 0x14008ed3f
movzx ecx, byte [rsp + 0x107]
test cl, cl
cmovs rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
cmovns rax, r13
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
test rcx, rcx
js 0x14008f429
je 0x14008ecf6
test rax, rax
je 0x14008f42c
mov rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.140011b10
xor ebx, ebx
cmp byte [rsp + 0xc7], 0
jns 0x14008ed1c
mov rcx, qword [rsp + 0xb0]
call fcn.14009f888
cmp byte [rsp + 0xe7], 0
jns 0x14008ed33
mov rcx, qword [rsp + 0xd0]
call fcn.14009f888
mov cl, byte [rsp + 0x107]
mov byte [rsp + 0x2f], bpl
test cl, cl
jns 0x14008ed50
mov rcx, qword [rsp + 0xf0]
call fcn.14009f888
cmp ebx, 3
je 0x14008ed5d
test ebx, ebx
jne 0x14008ebd0
add r12, 0x18
cmp r12, r15
je 0x14008ebd0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm6
cmp byte [r12 + 0x17], 0
js 0x14008ec85
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xf0], xmm0
movzx eax, byte [rsp + 0x107]
test al, al
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, r13
test rax, rax
js 0x14008f3ea
mov rdi, rsi
je 0x14008ede0
test rcx, rcx
je 0x14008f3ed
lea rdx, str._t_v_f__n_r
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]
lea r8, [rsp + 0x108]
mov r9d, 3
call fcn.14008ac50
mov rbx, qword [rsp + 0xb8]
movabs rsi, 0x7ffffffffffffff7
cmp rbx, rsi
ja 0x14008f3f0
mov r14, r13
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x14008ec9b
lea rax, [rsi + 5]
and rax, rbx
add rax, 4
mov r13, rbx
or r13, 3
cmp r13, 0xb
cmove r13, rax
inc r13
js 0x14008f3ff
lea rcx, [r13*2]
call fcn.14009f7f4
mov rcx, rax
mov qword [rsp + 0x108], rax
lea rax, [rsi + 9]
or rax, r13
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea r13, [rcx + rbx*2]
cmp rcx, rbp
mov rsi, rdi
ja 0x14008eec5
cmp r13, rbp
ja 0x14008f402
test rbx, rbx
je 0x14008eed8
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400a3450
mov word [r13], 0
cmp byte [rsp + 0x107], 0
jns 0x14008eef6
mov rcx, qword [rsp + 0xf0]
call fcn.14009f888
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]
mov rax, rcx
test cl, cl
mov r13, r14
jns 0x14008ef30
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x14008ecaf
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, r13
cmovs rdx, r8
test rax, rax
js 0x14008f3f9
test rdx, rdx
je 0x14008f3fc
mov bpl, 1
cmp rax, 2
jne 0x14008efa0
cmp word [rdx], 0x2d
jne 0x14008efa0
test cl, cl
cmovns r8, r13
cmp word [r8 + 2], 0x2d
setne bpl
and bpl, byte [rsp + 0x2f]
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.14008f650
test rax, rax
je 0x14008ecb9
movzx edx, byte [rsp + 0x107]
mov rcx, rdx
test dl, dl
jns 0x14008f002
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
je 0x14008ecb9
mov rax, r13
test dl, dl
jns 0x14008f01a
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rcx*2]
mov r8, rdx
test rcx, rcx
jle 0x14008f043
mov r8, rax
cmp word [r8], 0x3d
je 0x14008f03e
add r8, 2
dec rcx
jne 0x14008f029
mov r8, rdx
jmp 0x14008f043
test r8, r8
je 0x14008f039
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, r13
xor r8d, r8d
mov r9, rbx
call fcn.1400119c0
cmp byte [rsp + 0xe7], 0
js 0x14008f405
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
cmp rbx, 0xffffffffffffffff
je 0x14008f109
inc rbx
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x108]
mov rdx, r13
mov r8, rbx
mov r9, 0xffffffffffffffff
call fcn.1400119c0
cmp byte [rsp + 0xc7], 0
js 0x14008f42f
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xb0], xmm0
test bpl, bpl
je 0x14008ecb9
cmp qword [rsp + 0x50], 0
je 0x14008f1e5
movzx ebx, byte [rsp + 0xe7]
test bl, bl
cmovs rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
lea rax, [rsp + 0xd0]
cmovns rdi, rax
test rbx, rbx
js 0x14008f441
je 0x14008f159
test rdi, rdi
je 0x14008f444
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rbx
lea rcx, [rsp + 0x108]
call fcn.14008f650
test rax, rax
je 0x14008f1e5
cmp rbx, rax
je 0x14008f1e5
lea rcx, [rdi + rbx*2]
mov rdx, rcx
test rbx, rbx
je 0x14008f1a8
mov rdx, rdi
mov r8, rbx
cmp word [rdx], 0x3d
je 0x14008f30c
add rdx, 2
dec r8
jne 0x14008f192
mov rdx, rcx
sub rbx, rax
jb 0x14008f447
mov r8, rdx
sub r8, rdi
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp rbx, r8
cmovb r8, rbx
test r8, r8
js 0x14008f44a
cmp r8, 0xf
je 0x14008f31a
movzx ecx, byte [rsp + 0xc7]
test cl, cl
cmovs rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
lea rdx, [rsp + 0xb0]
cmovns rax, rdx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
test rcx, rcx
js 0x14008f417
je 0x14008f230
test rax, rax
je 0x14008f41a
movzx ecx, byte [rsp + 0xe7]
test cl, cl
cmovs rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
lea rdx, [rsp + 0xd0]
cmovns rax, rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
test rcx, rcx
js 0x14008f41d
je 0x14008f27b
test rax, rax
je 0x14008f420
lea rdi, [rsp + 0x108]
mov rcx, rdi
lea rdx, [rsp + 0x80]
call fcn.14008a630
movzx ecx, byte [rsp + 0x11f]
test cl, cl
jns 0x14008f2af
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rcx
test rcx, rcx
js 0x14008f423
je 0x14008f2d3
test rdi, rdi
je 0x14008f426
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
call fcn.140011df0
cmp byte [rsp + 0x11f], 0
jns 0x14008f302
mov rcx, qword [rsp + 0x108]
call fcn.14009f888
xor ebx, ebx
mov bpl, 1
jmp 0x14008ed05
test rdx, rdx
jne 0x14008f1a8
jmp 0x14008f1a5
cmp word [rdi + rax*2], 0x73
jne 0x14008f1e5
cmp word [rdi + rax*2 + 2], 0x69
jne 0x14008f1e5
cmp word [rdi + rax*2 + 4], 0x6e
jne 0x14008f1e5
cmp word [rdi + rax*2 + 6], 0x67
jne 0x14008f1e5
cmp word [rdi + rax*2 + 8], 0x6c
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0xa], 0x65
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0xc], 0x2d
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0xe], 0x61
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x10], 0x72
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x12], 0x67
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x14], 0x75
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x16], 0x6d
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x18], 0x65
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x1a], 0x6e
jne 0x14008f1e5
cmp word [rdi + rax*2 + 0x1c], 0x74
jne 0x14008f1e5
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400d3750
mov ebx, 1
jmp 0x14008f304
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd0]
call fcn.14009f888
jmp 0x14008f08b
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xb0]
call fcn.14009f888
jmp 0x14008f0e9
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x14008e8e3
int3
int3
int3
int3
int3
int3
int3
xor r12d, r12d
xor r15d, r15d
jmp 0x14008e940
lea rcx, [rsp + 0xf0]
call fcn.14009ec90
jmp 0x14008ea3a
mov rcx, qword [rdi]
call fcn.14009f888
jmp 0x14008eb65
int3
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x14008e8e3
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rax
mov rcx, r12
jmp 0x14008ea1a
int3
int3
int3