Function at 0x100002578
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
xor ebx, ebx
mov ebp, ecx
mov dword [rsp + 0x98], 1
mov r15d, ebx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [rbp + 1]
lea ecx, [rbx + 0x40]
shl rdx, 3
mov r13, rax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
cmp rax, rbx
jne 0x1000025cc
lea ecx, [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x100002973
xor edi, edi
mov r12d, ebx
mov r14d, ebx
cmp word [r13], di
je 0x10000296a
lea r8, [r13 + 4]
lea r10d, [rdi + 1]
lea r11, [r13 - 2]
mov qword [rsp + 0xa8], r8
lea r8, [r13 + 2]
mov rdx, r13
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
lea rcx, [r13 + 4]
cmp word [rdx], 0x20
je 0x10000288b
cmp word [rdx], 9
je 0x10000288b
cmp word [rdx], 0x22
jne 0x10000287b
or rcx, 0xffffffffffffffff
mov eax, ebx
lea r9, [r13 + rax*2]
xor eax, eax
mov rdi, r9
repne scasw ax, word [rdi]
xor edi, edi
not rcx
dec rcx
cmp ebx, edi
je 0x1000026bb
cmp word [r11], 0x5c
jne 0x1000026bb
lea r8, [rcx + rcx + 2]
dec ebx
mov rdx, r9
lea rcx, [r13 + rbx*2]
call fcn.100002d46
mov r10d, dword [rsp + 0xa0]
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
sub qword [rsp + 0x20], 2
sub qword [rsp + 0xa8], 2
dec r10d
sub r8, 2
mov dword [rsp + 0x98], 1
sub rdx, 2
mov r11, qword [rsp + 0x20]
mov rcx, qword [rsp + 0xa8]
jmp 0x100002789
cmp r15d, edi
je 0x1000027d6
mov edi, dword [rsp + 0x90]
cmp edi, ebx
jne 0x1000026fb
cmp rcx, 1
je 0x1000026e3
cmp word [r8], 0x20
je 0x1000026e3
cmp word [r8], 9
jne 0x1000026fb
xor ecx, ecx
mov r12d, ebx
mov word [rdx], cx
mov r15d, ecx
mov rcx, qword [rsp + 0xa8]
jmp 0x100002792
mov edi, dword [rsp + 0x98]
cmp edi, eax
je 0x1000027f0
cmp rcx, 2
jne 0x100002746
cmp word [r8], 0x22
jne 0x1000027f0
lea r8d, [rcx + 2]
mov eax, r10d
mov rcx, r9
lea rdx, [r13 + rax*2]
call fcn.100002d46
mov r10d, dword [rsp + 0xa0]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jmp 0x1000026a9
cmp rcx, 3
jb 0x1000027f0
cmp word [r8], 0x22
jne 0x1000027f0
mov rax, qword [rsp + 0xa8]
cmp word [rax], 0x20
je 0x100002780
cmp word [rax], 9
je 0x10000277a
xor eax, eax
lea r8, [rcx + rcx]
mov r15d, eax
jmp 0x10000271f
cmp word [rax], 0x20
jne 0x1000027f0
cmp word [rax], 9
jne 0x1000027f0
mov rcx, rax
mov edi, dword [rsp + 0x90]
xor eax, eax
add rdx, 2
inc r10d
add r11, 2
add r8, 2
add rcx, 2
inc ebx
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xa8], rcx
cmp word [rdx], ax
je 0x100002926
xor edi, edi
jmp 0x10000261a
mov edi, dword [rsp + 0x98]
cmp edi, eax
je 0x1000027f0
cmp rcx, 1
jne 0x1000027f0
cmp r14d, eax
je 0x100002912
xor edx, edx
cmp r15d, edx
mov eax, edx
sete al
mov r15d, eax
cmp eax, edx
je 0x10000281b
cmp edi, edx
jne 0x10000281b
mov dword [rsp + 0x98], 1
mov edi, ebx
mov dword [rsp + 0x90], ebx
jmp 0x100002822
mov edi, dword [rsp + 0x90]
mov eax, r10d
lea r8, [rcx + rcx]
mov rcx, r9
lea rdx, [r13 + rax*2]
call fcn.100002d46
sub qword [rsp + 0x20], 2
sub qword [rsp + 0xa8], 2
mov r10d, dword [rsp + 0xa0]
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x20]
mov rcx, qword [rsp + 0xa8]
or r9d, 0xffffffff
add r10d, r9d
sub r8, 2
add ebx, r9d
sub rdx, 2
jmp 0x100002790
mov dword [rsp + 0x98], 1
jmp 0x100002789
cmp r15d, edi
jne 0x100002789
xor eax, eax
mov dword [rsp + 0x98], edi
cmp ebx, r12d
je 0x10000290d
mov word [rdx], ax
mov eax, ebx
mov ecx, 0x40
sub eax, r12d
lea eax, [rax + rax + 2]
mov edx, eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
xor ecx, ecx
cmp rax, rcx
je 0x10000298f
mov ecx, r12d
shr rdi, 1
lea r8, [r13 + rcx*2]
mov rdx, rdi
mov rcx, rax
call fcn.100002d3a
mov r10d, dword [rsp + 0xa0]
add qword [rsp + 0x38], 8
inc r14d
mov r12d, r10d
cmp r14d, ebp
jbe 0x100002737
mov ecx, 0x57
jmp 0x100002994
mov r12d, r10d
jmp 0x10000291a
mov rcx, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x90]
jmp 0x100002792
cmp ebx, r12d
je 0x100002984
cmp r14d, ebp
jae 0x100002903
sub ebx, r12d
mov ecx, 0x40
lea eax, [rbx + rbx + 2]
mov edx, eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, r14d
mov qword [rsi + rcx*8], rax
xor ecx, ecx
cmp rax, rcx
je 0x10000298f
mov ecx, r12d
shr rdi, 1
lea r8, [r13 + rcx*2]
mov rdx, rdi
mov rcx, rax
call fcn.100002d3a
xor ebx, ebx
mov rax, rsi
mov qword [rsi + rbp*8], rbx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp r15d, eax
je 0x10000296a
cmp edi, ebx
jne 0x10000296a
jmp 0x10000292b
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
cmp ebp, eax
jbe 0x1000029c0
mov rdi, rsi
mov rbx, rbp
mov rcx, qword [rdi]
cmp rcx, rax
je 0x1000029b6
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
add rdi, 8
sub rbx, 1
jne 0x1000029a6
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1000025c5