Function at 0x140084360
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 [0x14012f028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rbp, qword [0x1401474c0]
test rbp, rbp
jne 0x140084862
mov ecx, 0x50
call fcn.140093d8c
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.140093d8c
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x1400850b2
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 [0x1401474c0], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x1400850b5
mov rbx, rax
mov rcx, rax
call fcn.140094568
lea rdx, [rsp + 0xf0]
mov qword [rdx], rbx
mov qword [rdx + 8], rax
lea rax, [0x14011e4e0]
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.140076af0
mov rax, qword [rbx + 8]
test rax, rax
je 0x140084862
mov rbx, qword [rsp + 0xd0]
mov qword [rsi], rbx
mov qword [rsi + 8], rax
mov dword [rsp + 0x5c], 0
lea rcx, [0x14011a9e4]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x40], rax
je 0x1400850f0
lea rdx, [0x14011aa34]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400850b8
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [0x140152008]
mov r12, rax
movsxd rbx, dword [rsp + 0x5c]
test rbx, rbx
je 0x1400850d5
test ebx, ebx
js 0x1400850c0
shl rbx, 3
lea rcx, [rbx + rbx*2]
call fcn.140093d8c
mov r13, rax
xor r15d, r15d
xor r14d, r14d
mov rcx, r13
add rcx, r15
je 0x14008504c
mov rdx, qword [r12 + r14]
call fcn.1400c7b70
add r14, 8
add r15, 0x18
cmp rbx, r14
jne 0x1400844fe
mov r14, r13
add r14, r15
mov ecx, 0x18
call fcn.140093d8c
test rax, rax
je 0x1400850c3
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r15, qword [rsi + 0x18]
test r15, r15
je 0x1400845a8
mov qword [rsp + 0x30], rdi
mov rdi, rbp
mov rbp, r12
mov r12, qword [rsi + 0x20]
mov rcx, r15
cmp r12, r15
je 0x140084594
add r12, 0xffffffffffffffe8
test r12, r12
je 0x1400850d2
cmp byte [r12 + 0x17], 0
js 0x14008503e
lea rax, [r12 - 0x18]
cmp r12, r15
mov r12, rax
jne 0x14008456e
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x20], r15
call fcn.140093dd0
mov r12, rbp
mov rbp, rdi
mov rdi, qword [rsp + 0x30]
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.140010050
mov qword [rsi + 0x30], rdi
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x48], 1
cmp r13, r14
je 0x140085103
movzx eax, byte [r13 + 0x17]
test al, al
lea rdi, [rsp + 0xf0]
jns 0x14008511d
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x1400850c6
test rcx, rcx
jne 0x14008461b
test rax, rax
jne 0x14008512f
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x60]
call fcn.140083170
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 0x1400850c9
test rcx, rcx
jne 0x140084668
test rax, rax
jne 0x140085132
mov qword [rsp + 0x48], rbp
movabs rdi, 0x7ffffffffffffff7
lea r8, [rsp + 0x108]
lea rdx, [0x14011e4e0]
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.140076af0
mov rbx, qword [rbx + 8]
cmp rbx, rdi
ja 0x1400850cc
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x1400847ee
mov rax, rbx
and rax, 0xfffffffffffffffc
add rax, 4
mov rdi, rbx
or rdi, 3
cmp rdi, 0xb
cmove rdi, rax
inc rdi
js 0x1400850ed
lea rcx, [rdi + rdi]
call fcn.140093d8c
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 0x14008473f
cmp rdi, rbp
ja 0x140085135
test rbx, rbx
je 0x140084752
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.140097a10
mov word [rdi], 0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], rdi
je 0x1400850cf
mov qword [rsp + 0x38], r12
cmp byte [rdi + 0x17], 0
js 0x1400850e0
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 0x1400847a2
mov rcx, qword [rsp + 0xf0]
call fcn.140093dd0
mov rax, r14
sub rax, r13
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0x30], rcx
cmp rcx, 2
lea rdi, [rsp + 0xf0]
jb 0x1400847fe
mov rax, qword [rsi + 8]
mov qword [rsp + 0x50], rax
mov r12b, 1
mov r15d, 1
movaps xmm6, xmmword [0x140114ca0]
xorps xmm7, xmm7
jmp 0x140084966
lea rcx, [rsp + 0x108]
mov byte [rcx + 0x17], bl
jmp 0x14008472d
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14008481f
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
mov rbp, qword [rsp + 0x48]
je 0x140084862
cmp r13, r14
je 0x14008485a
add r14, 0xffffffffffffffe8
jmp 0x140084848
mov rcx, qword [r14]
call fcn.140093dd0
lea rax, [r14 - 0x18]
cmp r14, r13
mov r14, rax
je 0x14008485a
test r14, r14
je 0x140085055
cmp byte [r14 + 0x17], 0
jns 0x14008483c
jmp 0x140084834
mov rcx, r13
call fcn.140093dd0
test rbp, rbp
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140095f80
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.14000d470
jmp 0x1400849b0
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 0x14008507f
test rcx, rcx
jne 0x1400848f7
test rax, rax
jne 0x1400850a0
mov rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.1400100b0
xor ebx, ebx
cmp byte [rsp + 0xc7], 0
jns 0x14008491d
mov rcx, qword [rsp + 0xb0]
call fcn.140093dd0
cmp byte [rsp + 0xe7], 0
jns 0x140084934
mov rcx, qword [rsp + 0xd0]
call fcn.140093dd0
mov cl, byte [rsp + 0x107]
test cl, cl
jns 0x14008494c
mov rcx, qword [rsp + 0xf0]
call fcn.140093dd0
test bl, 3
jne 0x1400847fe
inc r15
mov r12d, ebp
cmp r15, qword [rsp + 0x30]
je 0x1400847fe
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 0x14008489e
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 0x14008504f
test rcx, rcx
lea rdi, [rsp + 0x108]
jne 0x1400849f3
test rax, rax
jne 0x140085061
lea rdx, [0x14011e4e0]
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, rdi
mov r9d, 3
call fcn.140076af0
mov rbx, qword [rsp + 0xb8]
movabs rax, 0x7ffffffffffffff7
cmp rbx, rax
ja 0x140085052
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x140084b40
mov rax, rbx
and rax, 0xfffffffffffffffc
add rax, 4
mov rdi, rbx
or rdi, 3
cmp rdi, 0xb
cmove rdi, rax
inc rdi
js 0x14008505e
lea rcx, [rdi + rdi]
call fcn.140093d8c
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 0x140084ad3
cmp rdi, rbp
ja 0x140085064
test rbx, rbx
je 0x140084ae6
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.140097a10
mov word [rdi], 0
cmp byte [rsp + 0x107], 0
jns 0x140084b02
mov rcx, qword [rsp + 0xf0]
call fcn.140093dd0
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 rdi, [rsp + 0xf0]
jns 0x140084b5c
mov rax, qword [rsp + 0xf8]
jmp 0x140084b61
mov byte [rsp + 0x11f], bl
mov rcx, rdi
jmp 0x140084ac1
mov ebx, 4
mov ebp, r12d
jmp 0x14008493b
mov eax, ecx
and eax, 0x7f
test rax, rax
je 0x140084b4f
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 0x140085058
test rdx, rdx
je 0x14008505b
cmp rax, 2
jne 0x140084bcc
cmp word [rdx], 0x2d
jne 0x140084bcc
test cl, cl
cmovns r8, rdi
cmp word [r8 + 2], 0x2d
sete bpl
jmp 0x140084bce
xor ebp, ebp
xor bpl, 1
and bpl, r12b
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.140085470
test rax, rax
je 0x1400848b2
movzx edx, byte [rsp + 0x107]
test dl, dl
js 0x140084c2e
mov ecx, edx
and ecx, 0x7f
jmp 0x140084c36
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
je 0x1400848b2
mov rax, rdi
test dl, dl
jns 0x140084c4e
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rcx*2]
mov r8, rdx
test rcx, rcx
jle 0x140084c77
mov r8, rax
cmp word [r8], 0x3d
je 0x140084c72
add r8, 2
dec rcx
jne 0x140084c5d
mov r8, rdx
jmp 0x140084c77
test r8, r8
je 0x140084c6d
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, rdi
xor r8d, r8d
mov r9, rbx
call fcn.14000ff60
cmp byte [rsp + 0xe7], 0
js 0x140085067
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
cmp rbx, 0xffffffffffffffff
je 0x140084d3d
inc rbx
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x108]
mov rdx, rdi
mov r8, rbx
mov r9, 0xffffffffffffffff
call fcn.14000ff60
cmp byte [rsp + 0xc7], 0
js 0x140085085
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xb0], xmm0
test bpl, bpl
je 0x1400848b2
cmp qword [rsp + 0x50], 0
je 0x140084e33
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 0x140085097
test r12, r12
jne 0x140084d95
test rbx, rbx
jne 0x1400850a3
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], rbx
lea rcx, [rsp + 0x108]
call fcn.140085470
test rax, rax
je 0x140084e33
cmp rbx, rax
je 0x140084e33
lea rcx, [r12 + rbx*2]
mov rdx, rcx
test rbx, rbx
je 0x140084de4
mov rdx, r12
mov r8, rbx
cmp word [rdx], 0x3d
je 0x140084f72
add rdx, 2
dec r8
jne 0x140084dce
mov rdx, rcx
sub rbx, rax
jb 0x14008509a
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 0x14008509d
lea rax, [r12 + rax*2]
test rax, rax
jne 0x140084e29
test r8, r8
jne 0x1400850a6
cmp r8, 0xf
je 0x140084f80
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 0x140085079
test rcx, rcx
jne 0x140084e86
test rax, rax
jne 0x1400850a9
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 0x14008507c
test rcx, rcx
jne 0x140084ed9
test rax, rax
jne 0x1400850ac
lea rbx, [rsp + 0x108]
mov rcx, rbx
lea rdx, [rsp + 0x80]
call fcn.14007b020
movzx eax, byte [rsp + 0x11f]
test al, al
js 0x140084f02
and eax, 0x7f
jmp 0x140084f12
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rax
test rax, rax
js 0x140085082
test rbx, rbx
jne 0x140084f39
test rax, rax
jne 0x1400850af
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
call fcn.140010390
cmp byte [rsp + 0x11f], 0
jns 0x140084f68
mov rcx, qword [rsp + 0x108]
call fcn.140093dd0
xor ebx, ebx
mov bpl, 1
jmp 0x140084906
test rdx, rdx
jne 0x140084de4
jmp 0x140084de1
cmp word [rax], 0x73
jne 0x140084e33
cmp word [rax + 2], 0x69
jne 0x140084e33
cmp word [rax + 4], 0x6e
jne 0x140084e33
cmp word [rax + 6], 0x67
jne 0x140084e33
cmp word [rax + 8], 0x6c
jne 0x140084e33
cmp word [rax + 0xa], 0x65
jne 0x140084e33
cmp word [rax + 0xc], 0x2d
jne 0x140084e33
cmp word [rax + 0xe], 0x61
jne 0x140084e33
cmp word [rax + 0x10], 0x72
jne 0x140084e33
cmp word [rax + 0x12], 0x67
jne 0x140084e33
cmp word [rax + 0x14], 0x75
jne 0x140084e33
cmp word [rax + 0x16], 0x6d
jne 0x140084e33
cmp word [rax + 0x18], 0x65
jne 0x140084e33
cmp word [rax + 0x1a], 0x6e
jne 0x140084e33
cmp word [rax + 0x1c], 0x74
jne 0x140084e33
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400c7ca0
mov ebx, 1
jmp 0x140084f6a
mov rcx, qword [r12]
call fcn.140093dd0
jmp 0x140084583
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd0]
call fcn.140093dd0
jmp 0x140084cbf
int3
int3
int3
int3
mov rcx, qword [rsp + 0xb0]
call fcn.140093dd0
jmp 0x140084d1d
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor r12d, r12d
jmp 0x1400844d2
int3
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor r14d, r14d
jmp 0x140084526
mov rcx, qword [rdi]
call fcn.140093dd0
jmp 0x140084774
int3
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x1400844cf
lea rcx, [rsp + 0xf0]
call fcn.140093540
lea rdi, [rsp + 0xf0]
jmp 0x14008462d
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], rax
mov rcx, r13
jmp 0x14008460d
int3
int3
int3