Function at 0x100022d80
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
xor ebx, ebx
mov r15, rdx
mov rdi, rcx
lea rdx, [rax + 0x18]
mov rcx, r15
mov ebp, ebx
mov dword [rsp + 0xa0], ebx
mov r12d, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0xb8], ebx
mov r14, rbx
mov qword [rax - 0x58], rbx
mov r13, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
lea r8d, [rbx + 1]
mov rsi, rax
mov qword [rsp + 0x38], rax
cmp rax, rbx
jne 0x100022e1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
lea r8, [0x1000044a0]
movzx ebx, ax
mov edx, 0x16e
or ebx, 0x80070000
cmp eax, ecx
cmovle ebx, eax
mov eax, 0x80004005
cmp ebx, ecx
lea rcx, [0x1000044c0]
cmovge ebx, eax
call fcn.1000267e8
jmp 0x10002373d
cmp dword [rsp + 0xb0], 2
jge 0x100022e47
lea r8, [0x1000044f8]
lea rcx, [0x1000044c0]
mov edx, 0x173
mov ebx, 0x80070057
call fcn.1000267e8
jmp 0x10002373d
xor edx, edx
cmp r15, rbx
je 0x100022e7c
mov r13d, 0x7fffffff
mov rcx, r15
mov rax, r13
cmp word [rcx], dx
je 0x100022e68
add rcx, 2
sub rax, r8
jne 0x100022e5a
mov esi, 0x80070057
cmp rax, rdx
jne 0x100022e77
mov r13, rdx
jmp 0x100022e81
sub r13, rax
jmp 0x100022e83
mov esi, 0x80070057
mov ebx, esi
cmp ebx, edx
cmovl r13, rdx
cmp ebx, edx
jge 0x100022eaa
lea r8, [0x100004518]
mov edx, 0x177
lea rcx, [0x1000044c0]
call fcn.1000267e8
jmp 0x100023738
lea rcx, [rdi + 0xe0]
mov rdx, r13
call fcn.100027818
mov ebx, eax
xor eax, eax
cmp ebx, eax
jge 0x100022ecf
lea r8, [0x100004540]
mov edx, 0x17a
jmp 0x100022e99
mov eax, 1
cmp dword [rsp + 0xb0], eax
mov r15d, eax
jle 0x100023437
mov r12, qword [rsp + 0x38]
add r12, 8
mov rcx, qword [r12]
lea rdx, [0x10000439c]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor ecx, ecx
cmp eax, ecx
je 0x100023412
mov rcx, qword [r12]
lea rdx, [0x1000043a4]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x100023412
mov rcx, qword [r12]
lea rdx, [0x1000043b0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x100023412
mov rcx, qword [r12]
lea rdx, [0x100004470]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor ecx, ecx
cmp eax, ecx
jne 0x100022f61
or dword [rdi + 0x74], 0x40
mov dword [rdi + 0x5c], 1
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x1000043c0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor ecx, ecx
cmp eax, ecx
jne 0x100022f88
or dword [rdi + 0x74], 2
mov dword [rdi + 0x64], 1
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x1000043d0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor r9d, r9d
cmp eax, r9d
jne 0x100022fbb
cmp dword [rdi + 0x70], r9d
jne 0x1000234bf
or dword [rdi + 0x74], 4
mov dword [rdi + 0x70], 1
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x100004428]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor r9d, r9d
cmp eax, r9d
jne 0x100022fee
cmp dword [rdi + 0x70], r9d
jne 0x1000234d2
or dword [rdi + 0x74], 0x20
mov dword [rdi + 0x70], 4
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x1000043e8]
call qword [sym.imp.msvcrt.dll__wcsicmp]
xor r9d, r9d
cmp eax, r9d
jne 0x100023021
cmp dword [rdi + 0x70], r9d
jne 0x1000234e5
or dword [rdi + 0x74], 8
mov dword [rdi + 0x70], 2
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x100004408]
mov r8d, 0xc
call qword [sym.imp.msvcrt.dll__wcsnicmp]
xor ebx, ebx
cmp eax, ebx
jne 0x1000230c6
cmp dword [rdi + 0x70], ebx
jne 0x10002352d
mov r8, qword [r12]
lea rax, [rsp + 0x40]
lea r9, [0x1000045ac]
lea rdx, [0x100004408]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.100023a90
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x10002350b
mov r14, qword [rsp + 0x40]
lea r8, [rdi + 0xe8]
xor edx, edx
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_StrToIntExW]
xor r9d, r9d
cmp eax, r9d
je 0x1000234f8
cmp r14, r9
je 0x1000230b6
lea rcx, [r14 - 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
xor eax, eax
mov r14, rax
mov qword [rsp + 0x40], rax
or dword [rdi + 0x74], 0x10
mov dword [rdi + 0x70], 3
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x100004488]
mov r8d, 3
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x100023183
lea rbp, [rdi + 0xd0]
cmp qword [rbp], rbx
jne 0x100023575
mov r8, qword [r12]
lea rdx, [0x100004488]
xor r9d, r9d
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call fcn.100023a90
xor ecx, ecx
cmp eax, ecx
mov ebx, eax
jl 0x100023564
mov rax, qword [rbp]
lea ebx, [rcx + 1]
cmp word [rax + 2], cx
je 0x100023156
lea ecx, [rbx + 1]
mov rax, qword [rbp]
movzx ecx, word [rcx + rax]
call qword [sym.imp.msvcrt.dll_iswdigit]
xor edx, edx
cmp eax, edx
je 0x100023540
mov rax, qword [rbp]
inc rbx
lea rcx, [rbx + rbx]
cmp word [rcx + rax], dx
jne 0x10002312d
lea rdx, [0x100004640]
mov rcx, rbp
call fcn.1000278bc
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x100023553
bts dword [rdi + 0x74], 9
mov dword [rsp + 0x30], 1
jmp 0x100023377
mov rcx, qword [r12]
lea rdx, [0x100004458]
mov r8d, 8
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x1000231ea
lea rax, [rdi + 0xb0]
cmp qword [rax], rbx
jne 0x100023599
mov r8, qword [r12]
lea r9, [0x100003ad8]
lea rdx, [0x100004458]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.100023a90
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x100023588
bts dword [rdi + 0x74], 8
mov dword [rdi + 0x60], 1
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x100004490]
mov r8d, 4
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x10002324a
lea rax, [rdi + 0xd8]
cmp qword [rax], rbx
jne 0x1000235bd
mov r8, qword [r12]
lea r9, [0x1000018b0]
lea rdx, [0x100004490]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.100023a90
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x1000235ac
bts dword [rdi + 0x74], 7
jmp 0x10002341d
mov rcx, qword [r12]
lea rdx, [0x100004448]
mov r8d, 7
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x100023383
cmp dword [rdi + 0x68], ebx
jne 0x100023642
mov r8, qword [r12]
lea rax, [rsp + 0x40]
lea rdx, [0x100004448]
xor r9d, r9d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.100023a90
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x100023638
mov r14, qword [rsp + 0x40]
lea edx, [rax + 0x3a]
lea rcx, [r14 + 2]
call qword [sym.imp.msvcrt.dll_wcschr]
mov rbp, rax
xor eax, eax
cmp rbp, rax
je 0x100023625
lea ecx, [rax + 0x4e]
mov word [rbp], ax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
xor r9d, r9d
mov r11, rax
mov qword [rdi + 0xc8], rax
cmp rax, r9
je 0x100023603
mov r8, r14
lea edx, [r9 + 0x27]
mov ebx, r9d
lea rcx, [rdx + 0x7fffffd7]
cmp rcx, r9
je 0x100023312
movzx eax, word [r8]
cmp ax, r9w
je 0x100023312
mov word [r11], ax
add r8, 2
add r11, 2
sub rdx, 1
jne 0x1000232ea
cmp rdx, r9
jne 0x100023320
sub r11, 2
mov ebx, 0x8007007a
cmp ebx, r9d
mov word [r11], r9w
jl 0x1000235e3
cmp word [rbp + 2], r9w
jne 0x10002333f
mov dword [rdi + 0x6c], r9d
mov ebp, 1
jmp 0x100023352
cmp word [rbp + 2], 0x31
jne 0x1000235d0
mov ebp, 1
mov dword [rdi + 0x6c], ebp
cmp r14, r9
je 0x10002336a
lea rcx, [r14 - 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
xor eax, eax
mov r14, rax
mov qword [rsp + 0x40], rax
or dword [rdi + 0x74], 0x402
mov dword [rdi + 0x68], ebp
mov dword [rdi + 0x64], ebp
mov ebp, dword [rsp + 0xa0]
jmp 0x10002341d
mov rax, qword [r12]
cmp word [rax], 0x2f
je 0x1000233c5
cmp word [rax], 0x2d
je 0x1000233c5
cmp ebp, ebx
jne 0x100023666
lea rdx, [rdi + 0xa0]
xor r8d, r8d
mov rcx, rax
call fcn.100022090
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x100023655
lea ebp, [rax + 1]
mov dword [rsp + 0xa0], ebp
jmp 0x10002341d
mov rcx, qword [rdi + 0xe0]
mov r8, rax
mov rdx, r13
call fcn.100023c84
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x1000236a7
mov rcx, qword [rdi + 0xe0]
lea r8, [0x1000047a8]
mov rdx, r13
call fcn.100023c84
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x100023699
mov dword [rsp + 0xb8], 1
jmp 0x10002341d
or dword [rdi + 0x74], 1
mov dword [rdi + 0x58], 1
inc r15d
add r12, 8
cmp r15d, dword [rsp + 0xb0]
jl 0x100022eed
mov r12d, dword [rsp + 0x30]
mov eax, dword [rdi + 0x5c]
xor r15d, r15d
cmp eax, r15d
jne 0x100023469
cmp ebp, r15d
je 0x1000236e5
cmp eax, r15d
jne 0x100023469
cmp dword [rdi + 0x70], r15d
je 0x100023460
cmp dword [rdi + 0x64], r15d
je 0x1000236e5
cmp eax, r15d
je 0x1000236ae
cmp dword [rdi + 0x60], r15d
jne 0x1000236e5
cmp eax, r15d
je 0x1000236ae
cmp ebp, r15d
jne 0x10002348a
cmp r12d, r15d
je 0x1000236e5
cmp eax, r15d
je 0x1000236ae
cmp ebp, r15d
je 0x1000234a1
cmp r12d, r15d
jne 0x1000236e5
cmp eax, r15d
je 0x1000236ae
mov ecx, dword [rsp + 0xb8]
cmp ecx, r15d
jne 0x1000236e5
jmp 0x1000236b5
mov ebx, esi
lea r8, [0x100004578]
mov edx, 0x1a4
jmp 0x100023724
mov ebx, esi
lea r8, [0x100004578]
mov edx, 0x1b3
jmp 0x100023724
mov ebx, esi
lea r8, [0x100004578]
mov edx, 0x1c2
jmp 0x100023724
mov ebx, esi
lea r8, [0x1000045d0]
mov edx, 0x1da
jmp 0x100023724
mov edx, 0x1d5
lea r8, [0x1000045b8]
lea rcx, [0x1000044c0]
call fcn.1000267e8
mov r14, qword [rsp + 0x40]
jmp 0x100023730
mov ebx, esi
lea r8, [0x100004578]
mov edx, 0x1d1
jmp 0x100023724
mov ebx, esi
lea r8, [0x100004620]
mov edx, 0x1f5
jmp 0x100023724
lea r8, [0x100004648]
mov edx, 0x1fa
jmp 0x100023724
lea r8, [0x1000045b8]
mov edx, 0x1ee
jmp 0x100023724
mov ebx, esi
lea r8, [0x1000045f8]
mov edx, 0x1ea
jmp 0x100023724
lea r8, [0x1000045b8]
mov edx, 0x20c
jmp 0x100023724
mov ebx, esi
lea r8, [0x100004668]
mov edx, 0x208
jmp 0x100023724
lea r8, [0x1000045b8]
mov edx, 0x21e
jmp 0x100023724
mov ebx, esi
lea r8, [0x100004698]
mov edx, 0x21a
jmp 0x100023724
mov ebx, esi
lea r8, [0x1000046f8]
mov edx, 0x24b
jmp 0x100023724
lea r8, [0x100004750]
lea rcx, [0x1000044c0]
mov r9, r14
mov edx, 0x23e
call fcn.1000267e8
jmp 0x100023730
lea r8, [0x100004720]
lea rcx, [0x1000044c0]
mov edx, 0x23b
call fcn.1000267e8
mov ebx, 0x8007000e
jmp 0x100023730
mov ebx, esi
lea r8, [0x1000046f8]
mov edx, 0x235
jmp 0x100023724
mov edx, 0x22f
jmp 0x100023510
mov ebx, esi
lea r8, [0x1000046c8]
mov edx, 0x22b
jmp 0x100023724
lea r8, [0x100004810]
mov edx, 0x26a
jmp 0x100023724
mov ebx, esi
mov rsi, qword [rsp + 0x38]
movsxd r9, r15d
mov r9, qword [rsi + r9*8]
lea r8, [0x1000047f0]
lea rcx, [0x1000044c0]
mov edx, 0x265
call fcn.1000267e8
mov r15, qword [rsp + 0xa8]
jmp 0x10002373d
lea r8, [0x1000047b0]
mov edx, 0x25c
jmp 0x100023724
mov edx, 0x259
jmp 0x10002371d
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rdi + 0x60]
cmp eax, r15d
je 0x1000236f5
cmp ecx, r15d
jne 0x1000236e5
cmp eax, r15d
je 0x1000236f5
cmp dword [rdi + 0x70], r15d
jne 0x1000236e5
cmp eax, r15d
je 0x1000236f5
mov rax, qword [rdi + 0xb0]
cmp word [rax], r15w
jne 0x1000236f5
cmp dword [rdi + 0x64], r15d
je 0x100023730
mov ebx, esi
lea r8, [0x100004830]
mov edx, 0x282
jmp 0x100023724
cmp dword [rdi + 0x64], r15d
je 0x100023730
mov rcx, qword [rdi + 0xe0]
lea r8, [0x1000043c0]
mov rdx, r13
call fcn.100023c84
cmp eax, r15d
mov ebx, eax
jge 0x100023730
mov edx, 0x28b
lea r8, [0x100004778]
lea rcx, [0x1000044c0]
call fcn.1000267e8
mov r15, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x38]
xor eax, eax
cmp dword [rdi + 0x58], eax
mov eax, 1
cmovne ebx, eax
xor edi, edi
cmp r14, rdi
je 0x10002375a
lea rcx, [r14 - 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
cmp rsi, rdi
je 0x100023768
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp ebx, edi
jge 0x1000237c6
lea r8, [0x100004860]
lea rcx, [0x1000044c0]
mov r9, r15
mov edx, 0x2a6
call fcn.1000267e8
lea rdx, [rsp + 0xa0]
mov ecx, ebx
mov qword [rsp + 0xa0], rdi
call fcn.100021dec
mov r11, qword [rsp + 0xa0]
lea r8, [0x100001b60]
lea rcx, [0x1000044c0]
mov r9d, ebx
mov edx, 0x2a8
mov qword [rsp + 0x20], r11
call fcn.1000267e8
mov eax, ebx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret