Function at 0x180007550
Capabilities:
Accept command line arguments

Disassembly:
push rsi
push rdi
sub rsp, 0x858
mov rax, qword [0x1800971d8]
xor rax, rsp
mov qword [rsp + 0x840], rax
mov rsi, rcx
xor edi, edi
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x34], edi
xor edx, edx
mov dword [rsp + 0x30], edi
mov r8d, 0x800
call fcn.18004a7e0
lea rcx, [0x1800739b0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x180073990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000762c
mov rdx, rsi
mov dword [rsp + 0x38], 0x400
lea rcx, [rsp + 0x38]
call qword [0x18007a3c0]
test eax, eax
jne 0x18000762c
mov r8d, dword [rsp + 0x38]
lea rcx, [rsi + 0x800]
add r8d, r8d
mov rdx, rsi
call fcn.180007b50
test eax, eax
jne 0x18000762c
mov rcx, rsi
test rsi, rsi
je 0x180007617
cmp word [rsi], di
je 0x180007617
nop
cmp edi, 0x400
jae 0x180007617
movzx edx, word [rcx]
lea eax, [rdx - 0x41]
cmp ax, 0x19
ja 0x18000760b
add dx, 0x20
mov word [rcx], dx
add rcx, 2
inc edi
cmp word [rcx], 0
jne 0x1800075f0
and dword [rsi + 0x818], 0xfffffff9
or dword [rsi + 0x818], 0x40
xor eax, eax
jmp 0x180007a31
mov qword [rsp + 0x878], rbx
mov r8d, 0x400
mov qword [rsp + 0x880], rbp
mov rdx, rsi
mov qword [rsp + 0x888], r14
xor ecx, ecx
mov qword [rsp + 0x850], r15
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r14d, eax
mov r15d, 0x3ff
test eax, eax
je 0x180007887
lea rax, [rsp + 0x30]
xor r8d, r8d
lea r9, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, rsi
call fcn.180007320
lea rcx, [rsp + 0x40]
mov rbx, rax
test rsi, rsi
je 0x1800076cd
mov edx, edi
cmp word [rsi], dx
je 0x1800076ca
lea rax, [rsp + 0x40]
mov r8, rsi
sub r8, rax
lea r9d, [r14 - 1]
nop
cmp edx, r9d
jae 0x1800076ca
movzx eax, word [r8 + rcx]
inc edx
mov word [rcx], ax
add rcx, 2
cmp word [r8 + rcx], di
jne 0x1800076b0
mov word [rcx], di
lea rdx, [0x1800739d0]
mov rcx, rbx
call fcn.180049de4
test rax, rax
jne 0x1800076f9
lea rdx, [0x1800739f0]
mov rcx, rbx
call fcn.180049de4
test rax, rax
je 0x1800077bf
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rbp, rax
test rax, rax
je 0x1800077bf
lea rdx, [0x180073a10]
mov rcx, rax
call fcn.180049de4
test rax, rax
je 0x1800077bf
cmp word [rax], 0x20
je 0x18000773f
nop dword [rax]
cmp rax, rbp
je 0x18000773f
sub rax, 2
cmp word [rax], 0x20
jne 0x180007730
add rax, 2
lea rdx, [rbx + 4]
mov ecx, edi
mov r9, rdi
mov r10d, 0xffdf
movzx r8d, word [rax]
test r10w, r8w
je 0x1800077ab
mov word [rdx - 4], r8w
movzx r8d, word [rax + 2]
cmp r8w, 0x20
je 0x1800077a9
test r8w, r8w
je 0x1800077a9
mov word [rdx - 2], r8w
movzx r8d, word [rax + 4]
cmp r8w, 0x20
je 0x1800077a4
test r8w, r8w
je 0x1800077a4
mov word [rdx], r8w
add rax, 6
add rdx, 6
add r9, 3
add ecx, 3
cmp r9, r15
jl 0x180007752
jmp 0x1800077ab
add ecx, 2
jmp 0x1800077ab
inc ecx
movsxd rax, ecx
mov word [rbx + rax*2], di
mov eax, 1
cmp ecx, 0x400
jl 0x1800077c1
mov eax, edi
cmp word [rbx], di
je 0x18000784c
cmp eax, 1
jne 0x180007881
mov rcx, rbx
mov r8d, edi
nop dword [rax]
cmp r8d, 0x400
jae 0x180007808
movzx edx, word [rcx]
lea eax, [rdx - 0x41]
cmp ax, 0x19
ja 0x1800077fc
add dx, 0x20
mov word [rcx], dx
add rcx, 2
inc r8d
cmp word [rcx], di
jne 0x1800077e0
mov rcx, rbx
mov r8d, edi
cmp word [rbx], di
je 0x180007828
cmp r8d, 0x400
jae 0x180007828
add rcx, 2
inc r8d
cmp word [rcx], di
jne 0x180007813
lea r8d, [r8*2 + 2]
mov rdx, rbx
lea rcx, [rsi + 0x800]
call fcn.180007b50
test eax, eax
setne dil
mov eax, edi
jmp 0x180007a11
mov edx, edi
mov rcx, rbx
cmp word [rsp + 0x40], dx
je 0x18000787e
lea r8, [rsp + 0x40]
sub r8, rbx
lea r9d, [r14 - 1]
cmp edx, r9d
jae 0x18000787e
movzx eax, word [r8 + rcx]
inc edx
mov word [rcx], ax
add rcx, 2
cmp word [r8 + rcx], di
jne 0x180007864
mov word [rcx], di
cmp dword [rsp + 0x34], edi
jne 0x1800078f9
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
test rax, rax
je 0x1800079d8
mov rcx, rax
mov ebp, edi
cmp word [rax], di
je 0x1800078b6
cmp ebp, 0x400
jae 0x1800078bc
add rcx, 2
inc ebp
cmp word [rcx], di
jne 0x1800078a3
cmp ebp, 0x400
cmovae ebp, r15d
mov rcx, rsi
lea rbx, [rbp*2]
mov r8, rbx
call fcn.18004a110
lea rax, [rsp + 0x30]
mov word [rbx + rsi], di
lea r9, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov edx, ebp
mov rcx, rsi
call fcn.180007320
mov rbx, rax
test rbx, rbx
je 0x1800079d8
cmp dword [rsp + 0x30], edi
jne 0x1800079d3
test byte [rsi + 0x818], 4
je 0x1800079d3
xor edx, edx
lea rcx, [rsp + 0x440]
mov r8d, 0x400
call fcn.18004a7e0
lea rax, [rsp + 0x40]
mov ecx, 8
nop dword [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
lea rbx, [rbx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rbx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rbx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rbx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rbx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rbx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rbx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rcx, 1
jne 0x180007940
xor r9d, r9d
lea rcx, [rsp + 0x40]
mov r8, rsi
mov edx, 0x400
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov ecx, eax
lea r9, [rsp + 0x34]
xor r8d, r8d
mov edx, eax
mov word [rsi + rcx*2], di
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.180007320
mov rbx, rax
test rax, rax
je 0x1800079d8
mov rax, rbx
jmp 0x1800079e1
mov word [rsi], di
mov rbx, rsi
mov rax, rsi
cmp word [rbx], di
je 0x1800079fa
cmp edi, 0x400
jae 0x1800079fa
add rax, 2
inc edi
cmp word [rax], 0
jne 0x1800079e6
lea r8d, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [rsi + 0x800]
call fcn.180007b50
mov r14, qword [rsp + 0x888]
mov rbp, qword [rsp + 0x880]
mov rbx, qword [rsp + 0x878]
mov r15, qword [rsp + 0x850]
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.180022280
add rsp, 0x858
pop rdi
pop rsi
ret