Function at 0x140161b60
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 [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov rbx, qword [0x1402b6668]
test rbx, rbx
jne 0x140161f25
mov ecx, 0x50
call fcn.1401833f4
mov rbp, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.1401833f4
mov qword [rbp + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rbp + 0x28], rcx
test rax, rax
je 0x140162622
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 [0x1402b6668], rbp
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140162625
mov rdi, rax
mov rcx, rax
call fcn.140183fc8
lea r14, [rsp + 0xf0]
mov qword [r14], rdi
mov qword [r14 + 8], rax
lea rax, [0x14027b680]
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.140136340
mov rax, qword [rdi + 8]
test rax, rax
je 0x140161f25
mov rdi, qword [rsp + 0xd0]
mov qword [rbp], rdi
mov qword [rbp + 8], rax
mov dword [rsp + 0x64], 0
lea rcx, [0x14027bab4]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x14016265e
lea rdx, [0x14027bb04]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140162628
lea rdx, [rsp + 0x64]
mov rcx, rdi
call qword [0x1402c9008]
mov r12, rax
movsxd rdi, dword [rsp + 0x64]
test rdi, rdi
mov qword [rsp + 0x40], rbx
je 0x140162642
test edi, edi
js 0x140162630
shl rdi, 3
lea rcx, [rdi + rdi*2]
call fcn.1401833f4
mov r13, rax
xor ebx, ebx
xor r15d, r15d
mov rcx, r13
add rcx, rbx
je 0x1401625ca
mov rdx, qword [r12 + r15]
call fcn.1401c3a00
add r15, 8
add rbx, 0x18
cmp rdi, r15
jne 0x140161d06
mov rax, r13
add rax, rbx
mov qword [rsp + 0x20], rax
mov ecx, 0x18
call fcn.1401833f4
test rax, rax
lea r15, [rsp + 0xd0]
je 0x140162633
mov rdi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x140161db7
mov qword [rsp + 0x28], rsi
mov rsi, r12
mov r12, qword [rbp + 0x20]
mov rcx, rbx
cmp r12, rbx
je 0x140161da6
add r12, 0xffffffffffffffe8
test r12, r12
je 0x14016263f
cmp byte [r12 + 0x17], 0
js 0x140161eae
lea rax, [r12 - 0x18]
cmp r12, rbx
mov r12, rax
jne 0x140161d80
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x20], rbx
call fcn.1401833ec
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.14001da60
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 0x14016264c
movzx eax, byte [r13 + 0x17]
test al, al
jns 0x140162671
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
test rax, rax
js 0x140162636
test rcx, rcx
jne 0x140161e29
test rax, rax
jne 0x140162683
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x68]
call fcn.14010a8d0
lea rbx, [rsp + 0x110]
mov rcx, rbp
mov rdx, rbx
call fcn.140027a00
cmp byte [rbx + 0x17], 0
jns 0x140161e61
mov rcx, qword [rsp + 0x110]
call fcn.1401833ec
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 0x140161ebc
mov rax, qword [rbp + 8]
mov qword [rsp + 0x48], rax
mov sil, 1
mov eax, 1
movaps xmm6, xmmword [0x14026cc70]
lea rdi, [rsp + 0x98]
xorps xmm7, xmm7
jmp 0x140162032
mov rcx, qword [r12]
call fcn.1401833ec
jmp 0x140161d95
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 0x140161ede
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
mov rsi, qword [rsp + 0x20]
je 0x140161f20
cmp r13, rsi
je 0x140161f18
add rsi, 0xffffffffffffffe8
jmp 0x140161f07
mov rcx, qword [rsi]
call fcn.1401833ec
lea rax, [rsi - 0x18]
cmp rsi, r13
mov rsi, rax
je 0x140161f18
test rsi, rsi
je 0x140162603
cmp byte [rsi + 0x17], 0
jns 0x140161efb
jmp 0x140161ef3
mov rcx, r13
call fcn.1401833ec
mov rbx, qword [rsp + 0x40]
test rbx, rbx
sete bl
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.140186020
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 0x140162187
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
test rax, rax
js 0x1401625e5
test rcx, rcx
jne 0x140161fa8
test rax, rax
jne 0x140162600
mov rcx, rbp
lea rdx, [rsp + 0xb0]
lea r8, [rsp + 0xc0]
call fcn.140026c30
cmp byte [rsp + 0xaf], 0
jns 0x140161fd7
mov rcx, qword [rsp + 0x98]
call fcn.1401833ec
mov sil, 1
cmp byte [rsp + 0xe7], 0
jns 0x140161ff1
mov rcx, qword [rsp + 0xd0]
call fcn.1401833ec
cmp byte [rsp + 0x107], 0
jns 0x140162008
mov rcx, qword [rsp + 0xf0]
call fcn.1401833ec
cmp byte [rsp + 0x127], 0
jns 0x14016201f
mov rcx, qword [rsp + 0x110]
call fcn.1401833ec
mov rax, qword [rsp + 0x58]
inc rax
cmp rax, qword [rsp + 0x50]
je 0x140161ebc
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 0x140162606
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rcx, rbx
call fcn.14001efc0
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 0x1401625d6
mov dword [rsp + 0x28], esi
mov rsi, r13
test rcx, rcx
jne 0x1401620bb
test rax, rax
jne 0x1401625eb
lea rdx, [0x14027b680]
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.140136340
mov r13, qword [rsp + 0xa0]
movabs rax, 0x7fffffffffffffef
cmp r13, rax
ja 0x1401625d9
mov rdi, qword [rsp + 0x98]
cmp r13, 0xa
jbe 0x140161f61
mov r15, r14
mov r14, rbp
mov rbp, r13
or rbp, 7
inc rbp
js 0x1401625e8
lea rcx, [rbp*2]
call fcn.1401833f4
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 0x140162199
lea rax, [rbx + r13*2]
cmp rax, rdi
ja 0x1401625ee
lea r8, [r13*2]
mov rcx, rbx
mov rdx, rdi
call fcn.140187ab0
mov word [rbx + r13*2], 0
cmp byte [rsp + 0x127], 0
jns 0x1401621ca
mov rcx, qword [rsp + 0x110]
call fcn.1401833ec
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 0x1401625dc
mov r13, rsi
mov rdi, r12
test r9, r9
jne 0x14016225e
test r10, r10
jne 0x1401625f1
cmp r10, 2
je 0x14016259d
test byte [rsp + 0x28], 1
je 0x1401625c6
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140150500
test al, al
je 0x14016253d
cmp qword [rsp + 0x48], 0
je 0x140162369
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 0x1401625cd
test rdi, rdi
jne 0x1401622d0
test rsi, rsi
jne 0x1401625f4
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rsi
mov rcx, r12
call fcn.1401506e0
test rax, rax
je 0x140162369
cmp rsi, rax
je 0x140162369
lea rcx, [rdi + rsi*2]
mov rdx, rcx
test rsi, rsi
je 0x14016231a
mov rdx, rdi
mov r8, rsi
cmp word [rdx], 0x3d
je 0x14016242d
add rdx, 2
dec r8
jne 0x140162304
mov rdx, rcx
sub rsi, rax
jb 0x1401625d0
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 0x1401625d3
lea rax, [rdi + rax*2]
test rax, rax
jne 0x14016235f
test r8, r8
jne 0x1401625f7
cmp r8, 0xf
je 0x14016243b
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 0x1401625df
mov rdi, r12
test rcx, rcx
jne 0x1401623b7
test rax, rax
jne 0x1401625fa
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 0x1401625e2
test rcx, rcx
jne 0x140162402
test rax, rax
jne 0x1401625fd
mov rcx, rdi
lea rdx, [rsp + 0x88]
call fcn.140148c90
movzx eax, byte [rsp + 0xaf]
test al, al
js 0x140161f71
and eax, 0x7f
mov rcx, rdi
jmp 0x140161f81
test rdx, rdx
jne 0x14016231a
jmp 0x140162317
cmp word [rax], 0x73
jne 0x140162369
cmp word [rax + 2], 0x69
jne 0x140162369
cmp word [rax + 4], 0x6e
jne 0x140162369
cmp word [rax + 6], 0x67
jne 0x140162369
cmp word [rax + 8], 0x6c
jne 0x140162369
cmp word [rax + 0xa], 0x65
jne 0x140162369
cmp word [rax + 0xc], 0x2d
jne 0x140162369
cmp word [rax + 0xe], 0x61
jne 0x140162369
cmp word [rax + 0x10], 0x72
jne 0x140162369
cmp word [rax + 0x12], 0x67
jne 0x140162369
cmp word [rax + 0x14], 0x75
jne 0x140162369
cmp word [rax + 0x16], 0x6d
jne 0x140162369
cmp word [rax + 0x18], 0x65
jne 0x140162369
cmp word [rax + 0x1a], 0x6e
jne 0x140162369
cmp word [rax + 0x1c], 0x74
jne 0x140162369
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.1401c3b20
cmp byte [rsp + 0xe7], 0
jns 0x140162506
mov rcx, qword [rsp + 0xd0]
call fcn.1401833ec
cmp byte [rsp + 0x107], 0
jns 0x14016251d
mov rcx, qword [rsp + 0xf0]
call fcn.1401833ec
cmp byte [rsp + 0x127], 0
jns 0x140161ebc
mov rcx, qword [rsp + 0x110]
call fcn.1401833ec
jmp 0x140161ebc
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 0x140162639
test rcx, rcx
jne 0x14016258b
test rax, rax
jne 0x14016263c
mov rcx, rbp
lea rdx, [rsp + 0x78]
call fcn.14001dbf0
jmp 0x140161fda
cmp word [r9], 0x2d
jne 0x140162268
test dl, dl
mov r9, rbx
cmovs r9, rcx
cmp word [r9 + 2], 0x2d
setne r9b
test byte [rsp + 0x28], r9b
jne 0x140162273
xor esi, esi
jmp 0x14016255d
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 0x140162079
int3
int3
xor r12d, r12d
jmp 0x140161cd6
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor eax, eax
jmp 0x140161d2e
lea rcx, [rsp + 0x110]
call fcn.140182530
jmp 0x140161e3b
lea rdx, [rsp + 0x64]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x140161cd3
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], rax
mov rcx, r13
jmp 0x140161e1b
int3