Function at 0x180006cf0
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea r13, [rcx + 0x1e0]
mov rbx, rcx
test rdx, rdx
jne 0x1800070b8
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetCommandLineW]
nop dword [rax + rax]
or r12d, 0xffffffff
mov rcx, r13
mov rdx, rax
mov r8d, r12d
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_unsigned_short_int_const____ptr64__unsigned_long_int____ptr64
test al, al
je 0x18000f852
xor ebp, ebp
lea r15, [rbx + 0x60]
cmp dword [rbx + 0x78], ebp
jbe 0x1800071c6
mov rax, qword [rbx + 0x70]
movzx ecx, word [rax]
lea rsi, sym.ulib.dll_const_DSTRING::vftable
mov word [rbx + 0x1dc], cx
cmp byte [rbx + 0x1d8], bpl
jne 0x180006d7e
cmp dword [rbx + 0x168], ebp
ja 0x1800070cf
lea rax, [rbx + 0x30]
mov r8d, ebp
mov rdx, rax
mov rcx, r13
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strspn_class_WSTRING_const____ptr64__unsigned_long_int_const___ptr64
mov ebp, eax
cmp eax, r12d
je 0x180007098
lea r14, [rbx + 0x180]
cmp ebp, dword [rbx + 0x1f8]
jae 0x1800071d0
mov rax, qword [rbx + 0x1f0]
movzx edx, word [rax + rbp*2]
xor r8d, r8d
mov rcx, r14
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
jne 0x18000f700
mov edi, ebp
cmp ebp, dword [rbx + 0x1f8]
jae 0x180006ebb
cmp edi, dword [rbx + 0x1f8]
jae 0x180006ebb
cmp edi, ebp
je 0x180006e19
mov rax, qword [rbx + 0x1f0]
lea rcx, [rbx + 0xf0]
mov esi, edi
xor r8d, r8d
movzx edx, word [rax + rsi*2]
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
jne 0x180006eb0
cmp byte [rbx + 0x1da], 0
jne 0x180006e7d
mov esi, edi
cmp edi, dword [rbx + 0x1f8]
jae 0x1800071e4
mov rax, qword [rbx + 0x1f0]
movzx ecx, word [rax + rsi*2]
movzx edx, cx
xor r8d, r8d
mov rcx, r14
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
jne 0x18000f7a0
cmp edi, dword [r13 + 0x18]
jae 0x1800071ee
mov rax, qword [r13 + 0x10]
movzx ecx, word [rax + rsi*2]
movzx edx, cx
xor r8d, r8d
lea rcx, [rbx + 0xc0]
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
jne 0x18000f7c3
inc edi
jmp 0x180006ddb
cmp edi, dword [rbx + 0x1f8]
jae 0x1800071da
mov rax, qword [rbx + 0x1f0]
movzx ecx, word [rax + rsi*2]
movzx edx, cx
xor r8d, r8d
mov rcx, r15
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
je 0x180006e19
jmp 0x18000f707
lea eax, [rbp + 1]
cmp eax, edi
je 0x18000f73c
mov r8d, edi
mov edx, ebp
sub r8d, ebp
mov rcx, r13
call sym.ulib.dll_public:_class_WSTRING____ptr64___cdecl_WSTRING::QueryString_unsigned_long_int__unsigned_long_int_const___ptr64
mov rsi, rax
test rax, rax
je 0x18000f852
lea rdx, [rbx + 0x150]
mov r8d, 1
mov rcx, rax
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strspn_class_WSTRING_const____ptr64__unsigned_long_int_const___ptr64
cmp dword [rsi + 0x18], 0
mov r14d, eax
jbe 0x1800071f8
mov rcx, qword [rsi + 0x10]
movzx edx, word [rcx]
xor r8d, r8d
mov rcx, r15
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
jne 0x180006f56
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
movabs r10, 0x8ba406ab16daa370
mov rax, qword [rax + 0x18]
mov rdx, rsi
call qword [0x1800214b0]
test al, al
je 0x18000f852
mov edx, dword [rbx + 0x28]
mov r8d, ebp
mov rcx, rbx
call fcn.180007c98
test al, al
je 0x18000f852
inc dword [rbx + 0x28]
mov ebp, edi
jmp 0x180006d7e
cmp r14d, r12d
jne 0x180006f10
cmp dword [rsi + 0x18], 1
je 0x180006f10
mov rdx, rsi
mov rcx, rbx
call sym.ulib.dll_public:_unsigned_char___cdecl_ARGUMENT_LEXEMIZER::QueryMultiCharSwitch_class_WSTRING____ptr64____ptr64
test al, al
jne 0x180006f10
mov r15d, 1
cmp r15d, dword [rsi + 0x18]
jae 0x18000719d
cmp r15d, 2
jb 0x180006fb0
cmp byte [rbx + 0x1d9], 0
je 0x180006fb0
cmp dword [rsi + 0x18], 0
mov rcx, qword [rsi + 0x10]
mov eax, r15d
movzx edx, word [rcx + rax*2]
jbe 0x180007202
movzx eax, word [rcx]
cmp dx, ax
je 0x180007090
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
lea r8d, [rdx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov r14, rax
xor eax, eax
test r14, r14
je 0x18000f852
lea rcx, sym.ulib.dll_const_DSTRING::vftable
mov qword [r14 + 0x10], rax
mov qword [r14], rcx
lea rdx, [0x18002214c]
mov rcx, qword [0x18002c868]
mov r8d, r12d
mov qword [r14 + 8], rcx
mov rcx, r14
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x20], rax
mov dword [r14 + 0x28], eax
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_unsigned_short_int_const____ptr64__unsigned_long_int____ptr64
test al, al
je 0x18000f852
cmp dword [rsi + 0x18], 0
jbe 0x18000720c
mov rax, qword [rsi + 0x10]
movzx ecx, word [rax]
mov rax, qword [r14 + 0x10]
mov word [rax], cx
cmp r15d, dword [rsi + 0x18]
jae 0x180007216
mov rax, qword [rsi + 0x10]
mov ecx, r15d
movzx edx, word [rax + rcx*2]
mov rax, qword [r14 + 0x10]
mov word [rax + 2], dx
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
movabs r10, 0x8ba406ab16daa370
mov rax, qword [rax + 0x18]
mov rdx, r14
call qword [0x1800214b0]
test al, al
je 0x18000f834
mov edx, dword [rbx + 0x28]
mov r8d, ebp
mov rcx, rbx
call fcn.180007c98
test al, al
je 0x18000f834
inc dword [rbx + 0x28]
inc r15d
jmp 0x180006f76
mov al, 1
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
or r12d, 0xffffffff
xor r8d, r8d
mov r9d, r12d
mov rcx, r13
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_class_WSTRING_const____ptr64__unsigned_long_int__unsigned_long_int____ptr64
jmp 0x180006d3d
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
lea r8d, [rdx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x18000f852
mov rcx, qword [0x18002c868]
and qword [rax + 0x10], rbp
and dword [rax + 0x18], ebp
and qword [rax + 0x20], rbp
and dword [rax + 0x28], ebp
mov qword [rax + 8], rcx
mov qword [rax], rsi
mov rcx, qword [rbx + 0x160]
call qword [sym.imp.msvcrt.dll__wcsupr]
nop dword [rax + rax]
lea rsi, [rbx + 0x150]
mov r9d, r12d
mov rdx, rsi
xor r8d, r8d
mov rcx, rdi
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_class_WSTRING_const____ptr64__unsigned_long_int__unsigned_long_int____ptr64
test al, al
je 0x18000f852
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 1]
call sym.ulib.dll_public:_void___cdecl_WSTRING::DeleteChAt_unsigned_long_int__unsigned_long_int____ptr64
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.msvcrt.dll__wcslwr]
nop dword [rax + rax]
mov rdx, rdi
mov rcx, rsi
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Strcat_class_WSTRING_const____ptr64____ptr64
test al, al
je 0x18000f852
mov rax, qword [rdi]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, rdi
call qword [0x1800214b0]
jmp 0x180006d7e
mov rax, qword [rsi]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, rsi
call qword [0x1800214b0]
mov ebp, edi
lea r15, [rbx + 0x60]
jmp 0x180006d7e
mov ecx, 0xffff
jmp 0x180006d5b
mov edx, 0xffff
jmp 0x180006db9
mov ecx, 0xffff
jmp 0x180006e94
mov ecx, 0xffff
jmp 0x180006e32
mov ecx, 0xffff
jmp 0x180006e5b
mov edx, 0xffff
jmp 0x180006f00
mov eax, 0xffff
jmp 0x180006fa7
mov ecx, 0xffff
jmp 0x18000702d
mov edx, 0xffff
jmp 0x180007049
inc ebp
jmp 0x180006d7e
lea eax, [rdi + 1]
cmp eax, dword [rbx + 0x1f8]
jae 0x180006e19
mov ecx, eax
mov rax, qword [rbx + 0x1f0]
movzx ecx, word [rax + rcx*2]
call qword [sym.imp.msvcrt.dll_iswdigit]
nop dword [rax + rax]
test eax, eax
jne 0x180006e19
jmp 0x180006eb0
cmp ebp, dword [rbx + 0x1f8]
jae 0x18000f751
mov rax, qword [rbx + 0x1f0]
movzx edx, word [rax + rbp*2]
jmp 0x18000f756
mov edx, 0xffff
xor r8d, r8d
mov rcx, r15
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
je 0x180006ebb
cmp edi, dword [rbx + 0x1f8]
jae 0x18000f77f
mov rax, qword [rbx + 0x1f0]
movzx ecx, word [rax + rsi*2]
jmp 0x18000f784
mov ecx, 0xffff
movzx edx, cx
xor r8d, r8d
mov rcx, r15
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
cmp eax, r12d
je 0x180006ebb
jmp 0x180006e76
mov r8d, 1
mov edx, edi
mov rcx, r13
call sym.ulib.dll_public:_void___cdecl_WSTRING::DeleteChAt_unsigned_long_int__unsigned_long_int____ptr64
cmp edi, dword [rbx + 0x1f8]
lea eax, [rdi + 1]
cmovae eax, edi
mov edi, eax
jmp 0x180006ddb
cmp eax, dword [rbx + 0x138]
jae 0x18000f7dd
lfence
mov ecx, eax
mov rax, qword [rbx + 0x130]
movzx esi, word [rax + rcx*2]
jmp 0x18000f7e2
mov esi, 0xffff
inc edi
mov r8d, edi
movzx edx, si
mov rcx, r13
call sym.ulib.dll_public:_unsigned_long_int___cdecl_WSTRING::Strchr_unsigned_short_int__unsigned_long_int_const___ptr64
mov edi, eax
mov r9d, eax
cmp eax, r12d
je 0x18000f852
inc edi
cmp edi, dword [rbx + 0x1f8]
jae 0x18000f813
mov rax, qword [rbx + 0x1f0]
movzx edx, word [rax + rdi*2]
jmp 0x18000f818
mov edx, 0xffff
cmp dx, si
jne 0x180006ddb
mov r8d, 1
mov edx, r9d
mov rcx, r13
call sym.ulib.dll_public:_void___cdecl_WSTRING::DeleteChAt_unsigned_long_int__unsigned_long_int____ptr64
jmp 0x18000f7e4
mov rax, qword [r14]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, r14
call qword [0x1800214b0]
xor al, al
jmp 0x18000709a