Function at 0x140162340
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x130], xmm6
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov rbx, qword [0x1402b7668]
test rbx, rbx
jne 0x140162705
mov ecx, 0x50
call fcn.140184dc4
mov rbp, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.140184dc4
mov qword [rbp + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rbp + 0x28], rcx
test rax, rax
je 0x140162e02
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rbp + 0x20], rcx
mov rsi, rbp
add rsi, 0x38
movups xmmword [rbp + 0x38], xmm6
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x48], 1
mov qword [0x1402b7668], rbp
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140162e05
mov rdi, rax
mov rcx, rax
call fcn.140185998
lea r14, [rsp + 0xf0]
mov qword [r14], rdi
mov qword [r14 + 8], rax
lea rax, [0x14027c680]
lea r8, [rsp + 0x110]
mov qword [r8], rax
mov qword [r8 + 8], 0x19
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov rdx, r14
mov r9d, 3
call fcn.140137120
mov rax, qword [rdi + 8]
test rax, rax
je 0x140162705
mov rdi, qword [rsp + 0xd0]
mov qword [rbp], rdi
mov qword [rbp + 8], rax
mov dword [rsp + 0x64], 0
lea rcx, [0x14027cab4]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x140162e3e
lea rdx, [0x14027cb04]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140162e08
lea rdx, [rsp + 0x64]
mov rcx, rdi
call qword [0x1402ca008]
mov r12, rax
movsxd rdi, dword [rsp + 0x64]
test rdi, rdi
mov qword [rsp + 0x40], rbx
je 0x140162e22
test edi, edi
js 0x140162e10
shl rdi, 3
lea rcx, [rdi + rdi*2]
call fcn.140184dc4
mov r13, rax
xor ebx, ebx
xor r15d, r15d
mov rcx, r13
add rcx, rbx
je 0x140162daa
mov rdx, qword [r12 + r15]
call fcn.1401c4a50
add r15, 8
add rbx, 0x18
cmp rdi, r15
jne 0x1401624e6
mov rax, r13
add rax, rbx
mov qword [rsp + 0x20], rax
mov ecx, 0x18
call fcn.140184dc4
test rax, rax
lea r15, [rsp + 0xd0]
je 0x140162e13
mov rdi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x140162597
mov qword [rsp + 0x28], rsi
mov rsi, r12
mov r12, qword [rbp + 0x20]
mov rcx, rbx
cmp r12, rbx
je 0x140162586
add r12, 0xffffffffffffffe8
test r12, r12
je 0x140162e1f
cmp byte [r12 + 0x17], 0
js 0x14016268e
lea rax, [r12 - 0x18]
cmp r12, rbx
mov r12, rax
jne 0x140162560
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x20], rbx
call fcn.140184dbc
mov r12, rsi
mov rsi, qword [rsp + 0x28]
mov rax, rdi
add rax, 0x18
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x38]
call fcn.14001d4c0
mov qword [rbp + 0x30], rsi
movups xmmword [rbp + 0x38], xmm6
mov qword [rbp + 0x48], 1
cmp r13, qword [rsp + 0x20]
mov qword [rsp + 0x30], r12
je 0x140162e2c
movzx eax, byte [r13 + 0x17]
test al, al
jns 0x140162e51
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
test rax, rax
js 0x140162e16
test rcx, rcx
jne 0x140162609
test rax, rax
jne 0x140162e63
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x68]
call fcn.14010c090
lea rbx, [rsp + 0x110]
mov rcx, rbp
mov rdx, rbx
call fcn.140028a70
cmp byte [rbx + 0x17], 0
jns 0x140162641
mov rcx, qword [rsp + 0x110]
call fcn.140184dbc
mov rax, qword [rsp + 0x20]
sub rax, r13
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0x50], rcx
cmp rcx, 2
jb 0x14016269c
mov rax, qword [rbp + 8]
mov qword [rsp + 0x48], rax
mov sil, 1
mov eax, 1
movaps xmm6, xmmword [0x14026dc70]
lea rdi, [rsp + 0x98]
xorps xmm7, xmm7
jmp 0x140162812
mov rcx, qword [r12]
call fcn.140184dbc
jmp 0x140162575
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1401626be
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
mov rsi, qword [rsp + 0x20]
je 0x140162700
cmp r13, rsi
je 0x1401626f8
add rsi, 0xffffffffffffffe8
jmp 0x1401626e7
mov rcx, qword [rsi]
call fcn.140184dbc
lea rax, [rsi - 0x18]
cmp rsi, r13
mov rsi, rax
je 0x1401626f8
test rsi, rsi
je 0x140162de3
cmp byte [rsi + 0x17], 0
jns 0x1401626db
jmp 0x1401626d3
mov rcx, r13
call fcn.140184dbc
mov rbx, qword [rsp + 0x40]
test rbx, rbx
sete bl
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1401879f0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x107], r13b
mov rbx, r14
jmp 0x140162967
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
test rax, rax
js 0x140162dc5
test rcx, rcx
jne 0x140162788
test rax, rax
jne 0x140162de0
mov rcx, rbp
lea rdx, [rsp + 0xb0]
lea r8, [rsp + 0xc0]
call fcn.140027ca0
cmp byte [rsp + 0xaf], 0
jns 0x1401627b7
mov rcx, qword [rsp + 0x98]
call fcn.140184dbc
mov sil, 1
cmp byte [rsp + 0xe7], 0
jns 0x1401627d1
mov rcx, qword [rsp + 0xd0]
call fcn.140184dbc
cmp byte [rsp + 0x107], 0
jns 0x1401627e8
mov rcx, qword [rsp + 0xf0]
call fcn.140184dbc
cmp byte [rsp + 0x127], 0
jns 0x1401627ff
mov rcx, qword [rsp + 0x110]
call fcn.140184dbc
mov rax, qword [rsp + 0x58]
inc rax
cmp rax, qword [rsp + 0x50]
je 0x14016269c
mov qword [rsp + 0x58], rax
lea rax, [rax + rax*2]
lea rax, [rax*8]
add rax, r13
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], rcx
movaps xmmword [rsp + 0x110], xmm6
cmp byte [rax + 0x17], 0
jns 0x140162de6
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rcx, rbx
call fcn.14001ea20
movzx ecx, byte [rsp + 0x127]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x110]
cmovns rcx, rbx
test rax, rax
js 0x140162db6
mov dword [rsp + 0x28], esi
mov rsi, r13
test rcx, rcx
jne 0x14016289b
test rax, rax
jne 0x140162dcb
lea rdx, [0x14027c680]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 0x19
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov r12, rdi
mov rcx, rdi
mov rdx, r15
mov r8, r14
mov r9d, 3
call fcn.140137120
mov r13, qword [rsp + 0xa0]
movabs rax, 0x7fffffffffffffef
cmp r13, rax
ja 0x140162db9
mov rdi, qword [rsp + 0x98]
cmp r13, 0xa
jbe 0x140162741
mov r15, r14
mov r14, rbp
mov rbp, r13
or rbp, 7
inc rbp
js 0x140162dc8
lea rcx, [rbp*2]
call fcn.140184dc4
mov rbx, rax
mov qword [rsp + 0xf0], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbp
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xf8], r13
mov rbp, r14
mov r14, r15
lea r15, [rsp + 0xd0]
cmp rbx, rdi
ja 0x140162979
lea rax, [rbx + r13*2]
cmp rax, rdi
ja 0x140162dce
lea r8, [r13*2]
mov rcx, rbx
mov rdx, rdi
call fcn.140189480
mov word [rbx + r13*2], 0
cmp byte [rsp + 0x127], 0
jns 0x1401629aa
mov rcx, qword [rsp + 0x110]
call fcn.140184dbc
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x110], 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 edx, byte [rsp + 0x127]
mov eax, edx
and eax, 0x7f
test dl, dl
mov rcx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
mov r10, rax
cmovs r10, r8
lea rbx, [rsp + 0x110]
mov r9, rbx
cmovs r9, rcx
test r10, r10
js 0x140162dbc
mov r13, rsi
mov rdi, r12
test r9, r9
jne 0x140162a3e
test r10, r10
jne 0x140162dd1
cmp r10, 2
je 0x140162d7d
test byte [rsp + 0x28], 1
je 0x140162da6
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.14014f390
test al, al
je 0x140162d1d
cmp qword [rsp + 0x48], 0
je 0x140162b49
movzx eax, byte [rsp + 0x107]
mov esi, eax
and esi, 0x7f
test al, al
cmovs rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
cmovns rdi, r14
test rsi, rsi
js 0x140162dad
test rdi, rdi
jne 0x140162ab0
test rsi, rsi
jne 0x140162dd4
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rsi
mov rcx, r12
call fcn.14014f570
test rax, rax
je 0x140162b49
cmp rsi, rax
je 0x140162b49
lea rcx, [rdi + rsi*2]
mov rdx, rcx
test rsi, rsi
je 0x140162afa
mov rdx, rdi
mov r8, rsi
cmp word [rdx], 0x3d
je 0x140162c0d
add rdx, 2
dec r8
jne 0x140162ae4
mov rdx, rcx
sub rsi, rax
jb 0x140162db0
mov r8, rdx
sub r8, rdi
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp rsi, r8
cmovb r8, rsi
test r8, r8
js 0x140162db3
lea rax, [rdi + rax*2]
test rax, rax
jne 0x140162b3f
test r8, r8
jne 0x140162dd7
cmp r8, 0xf
je 0x140162c1b
movzx ecx, byte [rsp + 0xe7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
cmovns rcx, r15
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
test rax, rax
js 0x140162dbf
mov rdi, r12
test rcx, rcx
jne 0x140162b97
test rax, rax
jne 0x140162dda
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, r14
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
test rax, rax
js 0x140162dc2
test rcx, rcx
jne 0x140162be2
test rax, rax
jne 0x140162ddd
mov rcx, rdi
lea rdx, [rsp + 0x88]
call fcn.1401482e0
movzx eax, byte [rsp + 0xaf]
test al, al
js 0x140162751
and eax, 0x7f
mov rcx, rdi
jmp 0x140162761
test rdx, rdx
jne 0x140162afa
jmp 0x140162af7
cmp word [rax], 0x73
jne 0x140162b49
cmp word [rax + 2], 0x69
jne 0x140162b49
cmp word [rax + 4], 0x6e
jne 0x140162b49
cmp word [rax + 6], 0x67
jne 0x140162b49
cmp word [rax + 8], 0x6c
jne 0x140162b49
cmp word [rax + 0xa], 0x65
jne 0x140162b49
cmp word [rax + 0xc], 0x2d
jne 0x140162b49
cmp word [rax + 0xe], 0x61
jne 0x140162b49
cmp word [rax + 0x10], 0x72
jne 0x140162b49
cmp word [rax + 0x12], 0x67
jne 0x140162b49
cmp word [rax + 0x14], 0x75
jne 0x140162b49
cmp word [rax + 0x16], 0x6d
jne 0x140162b49
cmp word [rax + 0x18], 0x65
jne 0x140162b49
cmp word [rax + 0x1a], 0x6e
jne 0x140162b49
cmp word [rax + 0x1c], 0x74
jne 0x140162b49
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.1401c4b70
cmp byte [rsp + 0xe7], 0
jns 0x140162ce6
mov rcx, qword [rsp + 0xd0]
call fcn.140184dbc
cmp byte [rsp + 0x107], 0
jns 0x140162cfd
mov rcx, qword [rsp + 0xf0]
call fcn.140184dbc
cmp byte [rsp + 0x127], 0
jns 0x14016269c
mov rcx, qword [rsp + 0x110]
call fcn.140184dbc
jmp 0x14016269c
movzx edx, byte [rsp + 0x127]
mov rcx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
mov eax, edx
and eax, 0x7f
mov sil, 1
test dl, dl
cmovs rax, r8
cmovns rcx, rbx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
test rax, rax
js 0x140162e19
test rcx, rcx
jne 0x140162d6b
test rax, rax
jne 0x140162e1c
mov rcx, rbp
lea rdx, [rsp + 0x78]
call fcn.14001d650
jmp 0x1401627ba
cmp word [r9], 0x2d
jne 0x140162a48
test dl, dl
mov r9, rbx
cmovs r9, rcx
cmp word [r9 + 2], 0x2d
setne r9b
test byte [rsp + 0x28], r9b
jne 0x140162a53
xor esi, esi
jmp 0x140162d3d
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x110], xmm0
jmp 0x140162859
int3
int3
xor r12d, r12d
jmp 0x1401624b6
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor eax, eax
jmp 0x14016250e
lea rcx, [rsp + 0x110]
call fcn.140183f20
jmp 0x14016261b
lea rdx, [rsp + 0x64]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x1401624b3
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], rax
mov rcx, r13
jmp 0x1401625fb
int3