Function at 0x14008da20
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 [0x140135028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rsi, qword [0x14014d7f0]
test rsi, rsi
jne 0x14008df38
mov ecx, 0x50
call fcn.14009b6c4
mov r12, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.14009b6c4
mov qword [r12 + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [r12 + 0x28], rcx
test rax, rax
je 0x14008e765
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [r12 + 0x20], rcx
mov rdi, r12
add rdi, 0x38
movups xmmword [r12 + 0x38], xmm6
mov qword [r12 + 0x30], rdi
mov qword [r12 + 0x48], 1
mov qword [0x14014d7f0], r12
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x14008e768
mov rbx, rax
mov rcx, rax
call fcn.14009bd74
lea rdx, [rsp + 0xf0]
mov qword [rdx], rbx
mov qword [rdx + 8], rax
lea rax, [0x140125ed0]
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.14007cc90
mov rax, qword [rbx + 8]
test rax, rax
je 0x14008df38
mov rbx, qword [rsp + 0xd0]
mov qword [r12], rbx
mov qword [r12 + 8], rax
mov dword [rsp + 0x5c], 0
lea rcx, [0x140122614]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x14008e7a2
lea rdx, [0x140122664]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14008e76b
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [0x140159008]
mov qword [rsp + 0x30], rax
movsxd rbx, dword [rsp + 0x5c]
test rbx, rbx
mov qword [rsp + 0x40], rsi
je 0x14008e787
test ebx, ebx
js 0x14008e772
shl rbx, 3
lea rcx, [rbx + rbx*2]
call fcn.14009b6c4
mov r13, rax
xor r15d, r15d
xor r14d, r14d
mov rcx, r13
add rcx, r15
je 0x14008e6ff
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + r14]
call fcn.140012930
add r14, 8
add r15, 0x18
cmp rbx, r14
jne 0x14008dbce
mov r14, r13
add r14, r15
mov ecx, 0x18
call fcn.14009b6c4
test rax, rax
je 0x14008e775
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r15, qword [r12 + 0x18]
test r15, r15
mov qword [rsp + 0x28], r12
je 0x14008dc79
mov rsi, r12
mov r12, qword [r12 + 0x20]
mov rcx, r15
cmp r12, r15
je 0x14008dc6d
add r12, 0xffffffffffffffe8
test r12, r12
je 0x14008e784
cmp byte [r12 + 0x17], 0
js 0x14008e6f1
lea rax, [r12 - 0x18]
cmp r12, r15
mov r12, rax
jne 0x14008dc42
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x20], r15
call fcn.14009b57c
mov r12, rsi
mov rax, rbx
add rax, 0x18
mov qword [r12 + 0x18], rbx
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x28], rax
mov rcx, qword [r12 + 0x38]
call fcn.140012ad0
mov qword [r12 + 0x30], rdi
movups xmmword [r12 + 0x38], xmm6
mov qword [r12 + 0x48], 1
cmp r13, r14
je 0x14008e7b5
movzx eax, byte [r13 + 0x17]
test al, al
lea rsi, [rsp + 0xf0]
jns 0x14008e7cf
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x14008e778
test rcx, rcx
jne 0x14008dcf4
test rax, rax
jne 0x14008e7e1
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x60]
call fcn.14008a9b0
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, rsi
test rax, rax
js 0x14008e77b
test rcx, rcx
jne 0x14008dd41
test rax, rax
jne 0x14008e7e4
movabs rsi, 0x7fffffffffffffef
lea r8, [rsp + 0x108]
lea rdx, [0x140125ed0]
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.14007cc90
mov rdi, qword [rdi + 8]
cmp rdi, rsi
ja 0x14008e77e
mov rbx, qword [rsp + 0xb0]
cmp rdi, 0xa
jbe 0x14008debe
mov r15, rdi
or r15, 7
inc r15
js 0x14008e79f
lea rcx, [r15 + r15]
call fcn.14009b6c4
mov rbp, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, r15
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rdi
cmp rbp, rbx
ja 0x14008de07
lea rax, [rdi*2]
add rax, rbp
cmp rax, rbx
ja 0x14008e7e7
lea r8, [rdi + rdi]
mov rcx, rbp
mov rdx, rbx
call fcn.14009f2a0
mov word [rbp + rdi*2], 0
mov rdi, qword [r12 + 0x18]
cmp qword [r12 + 0x20], rdi
je 0x14008e781
cmp byte [rdi + 0x17], 0
lea rbp, [rsp + 0x108]
js 0x14008e792
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 0x14008de6d
mov rcx, qword [rsp + 0xf0]
call fcn.14009b57c
mov rax, r14
sub rax, r13
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0x50], rcx
cmp rcx, 2
lea rdi, [rsp + 0xf0]
jb 0x14008decf
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
mov r12b, 1
mov r15d, 1
movaps xmm6, xmmword [0x14011bbd0]
xorps xmm7, xmm7
jmp 0x14008e03b
lea rbp, [rsp + 0x108]
mov byte [rbp + 0x17], dil
jmp 0x14008ddee
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14008def5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
je 0x14008df33
cmp r13, r14
je 0x14008df2b
add r14, 0xffffffffffffffe8
jmp 0x14008df19
mov rcx, qword [r14]
call fcn.14009b57c
lea rax, [r14 - 0x18]
cmp r14, r13
mov r14, rax
je 0x14008df2b
test r14, r14
je 0x14008e708
cmp byte [r14 + 0x17], 0
jns 0x14008df0d
jmp 0x14008df05
mov rcx, r13
call fcn.14009b57c
mov rsi, qword [rsp + 0x40]
test rsi, rsi
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.14009d810
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, rdi
call fcn.14000fc90
jmp 0x14008e085
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, rdi
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
test rax, rax
js 0x14008e732
test rcx, rcx
jne 0x14008dfcd
test rax, rax
jne 0x14008e753
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x70]
call fcn.140012b30
xor ebx, ebx
cmp byte [rsp + 0xc7], 0
jns 0x14008dff5
mov rcx, qword [rsp + 0xb0]
call fcn.14009b57c
cmp byte [rsp + 0xe7], 0
jns 0x14008e00c
mov rcx, qword [rsp + 0xd0]
call fcn.14009b57c
mov cl, byte [rsp + 0x107]
test cl, cl
jns 0x14008e024
mov rcx, qword [rsp + 0xf0]
call fcn.14009b57c
test bl, 3
jne 0x14008decf
inc r15
cmp r15, qword [rsp + 0x50]
je 0x14008decf
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 0x14008df74
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, rdi
test rax, rax
js 0x14008e702
test rcx, rcx
jne 0x14008e0c0
test rax, rax
jne 0x14008e714
lea rdx, [0x140125ed0]
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, rbp
mov r9d, 3
call fcn.14007cc90
mov rsi, qword [rsp + 0xb8]
movabs rax, 0x7fffffffffffffef
cmp rsi, rax
ja 0x14008e705
mov rbx, qword [rsp + 0xb0]
cmp rsi, 0xa
jbe 0x14008e204
mov rdi, rsi
or rdi, 7
inc rdi
js 0x14008e711
lea rcx, [rdi + rdi]
call fcn.14009b6c4
mov rbp, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rdi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rsi
lea rdi, [rsp + 0xf0]
cmp rbp, rbx
ja 0x14008e19c
lea rax, [rsi*2]
add rax, rbp
cmp rax, rbx
ja 0x14008e717
lea r8, [rsi + rsi]
mov rcx, rbp
mov rdx, rbx
call fcn.14009f2a0
mov word [rbp + rsi*2], 0
cmp byte [rsp + 0x107], 0
jns 0x14008e1c9
mov rcx, qword [rsp + 0xf0]
call fcn.14009b57c
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 rbp, [rsp + 0x108]
js 0x14008e21b
mov eax, ecx
and eax, 0x7f
jmp 0x14008e223
mov byte [rsp + 0x11f], sil
jmp 0x14008e183
mov ebx, 4
jmp 0x14008e013
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x14008e211
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, rdi
cmovs rdx, r8
test rax, rax
js 0x14008e70b
test rdx, rdx
je 0x14008e70e
cmp rax, 2
jne 0x14008e28d
cmp word [rdx], 0x2d
jne 0x14008e28d
test cl, cl
cmovns r8, rdi
cmp word [r8 + 2], 0x2d
sete cl
jmp 0x14008e28f
xor ecx, ecx
xor cl, 1
and r12b, cl
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.14008f2e0
test rax, rax
je 0x14008df88
movzx edx, byte [rsp + 0x107]
test dl, dl
js 0x14008e2ee
mov ecx, edx
and ecx, 0x7f
jmp 0x14008e2f6
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
je 0x14008df88
mov rax, rdi
test dl, dl
jns 0x14008e30e
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rcx*2]
mov r8, rdx
test rcx, rcx
jle 0x14008e337
mov r8, rax
cmp word [r8], 0x3d
je 0x14008e332
add r8, 2
dec rcx
jne 0x14008e31d
mov r8, rdx
jmp 0x14008e337
test r8, r8
je 0x14008e32d
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
mov rcx, rbp
mov rdx, rdi
xor r8d, r8d
mov r9, rbx
call fcn.1400129f0
cmp byte [rsp + 0xe7], 0
js 0x14008e71a
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
cmp rbx, 0xffffffffffffffff
je 0x14008e3f3
inc rbx
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rdi
mov r8, rbx
mov r9, 0xffffffffffffffff
call fcn.1400129f0
cmp byte [rsp + 0xc7], 0
js 0x14008e738
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xb0], xmm0
test r12b, r12b
je 0x14008df88
cmp qword [rsp + 0x48], 0
je 0x14008e4e4
movzx eax, byte [rsp + 0xe7]
mov ebx, eax
and ebx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xd0]
lea rax, [rsp + 0xd0]
cmovns r12, rax
test rbx, rbx
js 0x14008e74a
test r12, r12
jne 0x14008e44b
test rbx, rbx
jne 0x14008e756
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], rbx
mov rcx, rbp
call fcn.14008f2e0
test rax, rax
je 0x14008e4e4
cmp rbx, rax
je 0x14008e4e4
lea rcx, [r12 + rbx*2]
mov rdx, rcx
test rbx, rbx
je 0x14008e495
mov rdx, r12
mov r8, rbx
cmp word [rdx], 0x3d
je 0x14008e623
add rdx, 2
dec r8
jne 0x14008e47f
mov rdx, rcx
sub rbx, rax
jb 0x14008e74d
mov r8, rdx
sub r8, r12
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 0x14008e750
lea rax, [r12 + rax*2]
test rax, rax
jne 0x14008e4da
test r8, r8
jne 0x14008e759
cmp r8, 0xf
je 0x14008e631
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 0x14008e72c
test rcx, rcx
jne 0x14008e537
test rax, rax
jne 0x14008e75c
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
mov rsi, qword [rsp + 0x28]
js 0x14008e72f
test rcx, rcx
jne 0x14008e58f
test rax, rax
jne 0x14008e75f
mov rcx, rbp
lea rdx, [rsp + 0x80]
call fcn.140087920
movzx eax, byte [rsp + 0x11f]
test al, al
js 0x14008e5b3
and eax, 0x7f
mov rcx, rbp
jmp 0x14008e5c3
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
test rax, rax
js 0x14008e735
test rcx, rcx
jne 0x14008e5ea
test rax, rax
jne 0x14008e762
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
call fcn.14008e7f0
cmp byte [rsp + 0x11f], 0
jns 0x14008e619
mov rcx, qword [rsp + 0x108]
call fcn.14009b57c
xor ebx, ebx
mov r12b, 1
jmp 0x14008dfde
test rdx, rdx
jne 0x14008e495
jmp 0x14008e492
cmp word [rax], 0x73
jne 0x14008e4e4
cmp word [rax + 2], 0x69
jne 0x14008e4e4
cmp word [rax + 4], 0x6e
jne 0x14008e4e4
cmp word [rax + 6], 0x67
jne 0x14008e4e4
cmp word [rax + 8], 0x6c
jne 0x14008e4e4
cmp word [rax + 0xa], 0x65
jne 0x14008e4e4
cmp word [rax + 0xc], 0x2d
jne 0x14008e4e4
cmp word [rax + 0xe], 0x61
jne 0x14008e4e4
cmp word [rax + 0x10], 0x72
jne 0x14008e4e4
cmp word [rax + 0x12], 0x67
jne 0x14008e4e4
cmp word [rax + 0x14], 0x75
jne 0x14008e4e4
cmp word [rax + 0x16], 0x6d
jne 0x14008e4e4
cmp word [rax + 0x18], 0x65
jne 0x14008e4e4
cmp word [rax + 0x1a], 0x6e
jne 0x14008e4e4
cmp word [rax + 0x1c], 0x74
jne 0x14008e4e4
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x28]
call fcn.1400ce710
mov ebx, 1
jmp 0x14008e61b
mov rcx, qword [r12]
call fcn.14009b57c
jmp 0x14008dc57
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd0]
call fcn.14009b57c
jmp 0x14008e37a
int3
int3
int3
int3
mov rcx, qword [rsp + 0xb0]
call fcn.14009b57c
jmp 0x14008e3d3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x14008db98
int3
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor r14d, r14d
jmp 0x14008dbfb
mov rcx, qword [rdi]
call fcn.14009b57c
jmp 0x14008de3f
int3
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x14008db98
lea rcx, [rsp + 0xf0]
call fcn.14009aec0
lea rsi, [rsp + 0xf0]
jmp 0x14008dd06
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], rax
mov rcx, r13
jmp 0x14008dce6
int3
int3
int3