Function at 0x100002574
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 0x1000025c8
lea ecx, [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x10000296f
xor edi, edi
mov r12d, ebx
mov r14d, ebx
cmp word [r13], di
je 0x100002966
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 0x100002887
cmp word [rdx], 9
je 0x100002887
cmp word [rdx], 0x22
jne 0x100002877
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 0x1000026b7
cmp word [r11], 0x5c
jne 0x1000026b7
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 0x100002785
cmp r15d, edi
je 0x1000027d2
mov edi, dword [rsp + 0x90]
cmp edi, ebx
jne 0x1000026f7
cmp rcx, 1
je 0x1000026df
cmp word [r8], 0x20
je 0x1000026df
cmp word [r8], 9
jne 0x1000026f7
xor ecx, ecx
mov r12d, ebx
mov word [rdx], cx
mov r15d, ecx
mov rcx, qword [rsp + 0xa8]
jmp 0x10000278e
mov edi, dword [rsp + 0x98]
cmp edi, eax
je 0x1000027ec
cmp rcx, 2
jne 0x100002742
cmp word [r8], 0x22
jne 0x1000027ec
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 0x1000026a5
cmp rcx, 3
jb 0x1000027ec
cmp word [r8], 0x22
jne 0x1000027ec
mov rax, qword [rsp + 0xa8]
cmp word [rax], 0x20
je 0x10000277c
cmp word [rax], 9
je 0x100002776
xor eax, eax
lea r8, [rcx + rcx]
mov r15d, eax
jmp 0x10000271b
cmp word [rax], 0x20
jne 0x1000027ec
cmp word [rax], 9
jne 0x1000027ec
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 0x100002922
xor edi, edi
jmp 0x100002616
mov edi, dword [rsp + 0x98]
cmp edi, eax
je 0x1000027ec
cmp rcx, 1
jne 0x1000027ec
cmp r14d, eax
je 0x10000290e
xor edx, edx
cmp r15d, edx
mov eax, edx
sete al
mov r15d, eax
cmp eax, edx
je 0x100002817
cmp edi, edx
jne 0x100002817
mov dword [rsp + 0x98], 1
mov edi, ebx
mov dword [rsp + 0x90], ebx
jmp 0x10000281e
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 0x10000278c
mov dword [rsp + 0x98], 1
jmp 0x100002785
cmp r15d, edi
jne 0x100002785
xor eax, eax
mov dword [rsp + 0x98], edi
cmp ebx, r12d
je 0x100002909
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 0x10000298b
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 0x100002733
mov ecx, 0x57
jmp 0x100002990
mov r12d, r10d
jmp 0x100002916
mov rcx, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x90]
jmp 0x10000278e
cmp ebx, r12d
je 0x100002980
cmp r14d, ebp
jae 0x1000028ff
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 0x10000298b
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 0x100002966
cmp edi, ebx
jne 0x100002966
jmp 0x100002927
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
cmp ebp, eax
jbe 0x1000029bc
mov rdi, rsi
mov rbx, rbp
mov rcx, qword [rdi]
cmp rcx, rax
je 0x1000029b2
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
add rdi, 8
sub rbx, 1
jne 0x1000029a2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1000025c1