Function at 0x14000d230
Capabilities:
Accept command line arguments

Disassembly:
push rsi
push rdi
sub rsp, 0x858
mov rax, qword [0x1400a7470]
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.14002a600
lea rcx, [0x14008bf60]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x14008bf40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000d30c
mov rdx, rsi
mov dword [rsp + 0x38], 0x400
lea rcx, [rsp + 0x38]
call rax
test eax, eax
jne 0x14000d30c
mov r8d, dword [rsp + 0x38]
lea rcx, [rsi + 0x800]
add r8d, r8d
mov rdx, rsi
call fcn.14000e1b0
test eax, eax
jne 0x14000d30c
mov rcx, rsi
test rsi, rsi
je 0x14000d2f7
cmp word [rsi], di
je 0x14000d2f7
nop dword [rax + rax]
cmp edi, 0x400
jae 0x14000d2f7
movzx edx, word [rcx]
lea eax, [rdx - 0x41]
cmp ax, 0x19
ja 0x14000d2eb
add dx, 0x20
mov word [rcx], dx
add rcx, 2
inc edi
cmp word [rcx], 0
jne 0x14000d2d0
and dword [rsi + 0x818], 0xfffffff9
or dword [rsi + 0x818], 0x40
xor eax, eax
jmp 0x14000d711
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 0x14000d567
lea rax, [rsp + 0x30]
xor r8d, r8d
lea r9, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, rsi
call fcn.14000ceb0
lea rcx, [rsp + 0x40]
mov rbx, rax
test rsi, rsi
je 0x14000d3ad
mov edx, edi
cmp word [rsi], dx
je 0x14000d3aa
lea rax, [rsp + 0x40]
mov r8, rsi
sub r8, rax
lea r9d, [r14 - 1]
nop
cmp edx, r9d
jae 0x14000d3aa
movzx eax, word [r8 + rcx]
inc edx
mov word [rcx], ax
add rcx, 2
cmp word [r8 + rcx], di
jne 0x14000d390
mov word [rcx], di
lea rdx, [0x14008bf80]
mov rcx, rbx
call fcn.140029cec
test rax, rax
jne 0x14000d3d9
lea rdx, [0x14008bf98]
mov rcx, rbx
call fcn.140029cec
test rax, rax
je 0x14000d49f
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rbp, rax
test rax, rax
je 0x14000d49f
lea rdx, [0x14008bfb0]
mov rcx, rax
call fcn.140029cec
test rax, rax
je 0x14000d49f
cmp word [rax], 0x20
je 0x14000d41f
nop dword [rax]
cmp rax, rbp
je 0x14000d41f
sub rax, 2
cmp word [rax], 0x20
jne 0x14000d410
add rax, 2
lea rdx, [rbx + 4]
mov ecx, edi
mov r9, rdi
mov r10d, 0xffdf
movzx r8d, word [rax]
test r10w, r8w
je 0x14000d48b
mov word [rdx - 4], r8w
movzx r8d, word [rax + 2]
cmp r8w, 0x20
je 0x14000d489
test r8w, r8w
je 0x14000d489
mov word [rdx - 2], r8w
movzx r8d, word [rax + 4]
cmp r8w, 0x20
je 0x14000d484
test r8w, r8w
je 0x14000d484
mov word [rdx], r8w
add rax, 6
add rdx, 6
add r9, 3
add ecx, 3
cmp r9, r15
jl 0x14000d432
jmp 0x14000d48b
add ecx, 2
jmp 0x14000d48b
inc ecx
movsxd rax, ecx
mov word [rbx + rax*2], di
mov eax, 1
cmp ecx, 0x400
jl 0x14000d4a1
mov eax, edi
cmp word [rbx], di
je 0x14000d52c
cmp eax, 1
jne 0x14000d561
mov rcx, rbx
mov r8d, edi
nop dword [rax]
cmp r8d, 0x400
jae 0x14000d4e8
movzx edx, word [rcx]
lea eax, [rdx - 0x41]
cmp ax, 0x19
ja 0x14000d4dc
add dx, 0x20
mov word [rcx], dx
add rcx, 2
inc r8d
cmp word [rcx], di
jne 0x14000d4c0
mov rcx, rbx
mov r8d, edi
cmp word [rbx], di
je 0x14000d508
cmp r8d, 0x400
jae 0x14000d508
add rcx, 2
inc r8d
cmp word [rcx], di
jne 0x14000d4f3
lea r8d, [r8*2 + 2]
mov rdx, rbx
lea rcx, [rsi + 0x800]
call fcn.14000e1b0
test eax, eax
setne dil
mov eax, edi
jmp 0x14000d6f1
mov edx, edi
mov rcx, rbx
cmp word [rsp + 0x40], dx
je 0x14000d55e
lea r8, [rsp + 0x40]
sub r8, rbx
lea r9d, [r14 - 1]
cmp edx, r9d
jae 0x14000d55e
movzx eax, word [r8 + rcx]
inc edx
mov word [rcx], ax
add rcx, 2
cmp word [r8 + rcx], di
jne 0x14000d544
mov word [rcx], di
cmp dword [rsp + 0x34], edi
jne 0x14000d5d9
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
test rax, rax
je 0x14000d6b3
mov rcx, rax
mov ebp, edi
cmp word [rax], di
je 0x14000d596
cmp ebp, 0x400
jae 0x14000d59c
add rcx, 2
inc ebp
cmp word [rcx], di
jne 0x14000d583
cmp ebp, 0x400
cmovae ebp, r15d
mov rcx, rsi
lea rbx, [rbp*2]
mov r8, rbx
call fcn.14002a7c0
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.14000ceb0
mov rbx, rax
test rbx, rbx
je 0x14000d6b3
cmp dword [rsp + 0x30], edi
jne 0x14000d6ae
test byte [rsi + 0x818], 4
je 0x14000d6ae
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x800
call fcn.14002a600
lea rax, [rsp + 0x40]
mov ecx, 8
nop word [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 0x14000d620
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.14000ceb0
mov rbx, rax
test rbx, rbx
jne 0x14000d6b9
mov word [rsi], di
mov rbx, rsi
mov rax, rbx
test rbx, rbx
je 0x14000d6da
cmp word [rbx], di
je 0x14000d6da
cmp edi, 0x400
jae 0x14000d6da
add rax, 2
inc edi
cmp word [rax], 0
jne 0x14000d6c6
lea r8d, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [rsi + 0x800]
call fcn.14000e1b0
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.140028060
add rsp, 0x858
pop rdi
pop rsi
ret