Function at 0x1800039e0
Capabilities:
Accept command line arguments
Get disk information
Identify system language via api
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x50
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
cmp rcx, 0x68
jl 0x180003af4
call qword [sym.imp.USER32.dll_IsProcessDPIAware]
cvttsd2si r8, qword [0x180033910]
movabs rax, 0x8888888888888889
xorps xmm6, xmm6
imul r8
add rdx, r8
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rcx, edx
lea rax, [rcx + r8]
cvtsi2sd xmm6, rax
call fcn.180003708
mov esi, 0x55
mov dil, 0xf
subsd xmm6, xmm0
cvttsd2si rax, xmm6
jmp 0x180003a8f
call qword [sym.imp.ole32.dll_CoUninitialize]
movsx ecx, dil
xorps xmm0, xmm0
mov eax, ecx
sub eax, esi
movsxd rbx, eax
lea esi, [rcx + rcx]
cvtsi2ss xmm0, rbx
call fcn.18000337c
mov rdi, rax
movsxd rax, esi
imul rax, rbx
movsx rcx, dil
cqo
idiv rcx
cmp rax, 0xb
jge 0x180003a5b
cmp rax, 0x12
jl 0x180003aa4
mov cl, 0x4c
call fcn.180004028
jmp 0x180003aaa
call qword [sym.imp.USER32.dll_GetKBCodePage]
xor eax, eax
xorps xmm6, xmm6
xorps xmm0, xmm0
lea ebx, [rax + 1]
cvtsi2sd xmm0, rbx
cvtsi2sd xmm6, rax
mulsd xmm6, xmm0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov cl, bl
call fcn.180004028
cvttss2si rax, xmm0
xorps xmm1, xmm1
movaps xmm2, xmm6
cvtsi2sd xmm1, rax
divsd xmm2, xmm1
cvttsd2si rax, xmm2
cmp rax, 0x42
jle 0x180003ac3
jmp 0x180003e1e
mov ecx, 0x23
call fcn.180003708
movsd xmm2, qword [0x1800338a0]
xorps xmm1, xmm1
cvttsd2si rcx, xmm0
cvtsi2sd xmm1, rcx
mulsd xmm1, xmm2
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cdqe
imul rax, rcx
divsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm2, xmm0
cvttsd2si rax, xmm2
cmp rax, 0x3b
je 0x180003c2a
call qword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov cl, 0x1d
call fcn.180004028
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x180033890]
cvttsd2si eax, xmm1
movaps xmm1, xmm0
movsx ecx, al
divss xmm0, xmm0
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
cvtss2sd xmm0, xmm0
subss xmm1, xmm2
cvtss2sd xmm3, xmm1
subsd xmm3, xmm0
cvttsd2si rax, xmm3
cmp rax, 0x6c
jg 0x180003bc8
xorps xmm1, xmm1
mov eax, 0x3c
xorps xmm0, xmm0
cvtsi2ss xmm1, rax
lea ebx, [rax - 0x3b]
cvtsi2ss xmm0, rbx
addss xmm1, dword [0x180033b4c]
divss xmm1, xmm0
cvtps2pd xmm2, xmm1
addsd xmm2, qword [0x180033a68]
jmp 0x180003bf5
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movss xmm6, dword [0x180033b8c]
movaps xmm0, xmm6
call fcn.18000337c
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm6
cvtps2pd xmm2, xmm0
subsd xmm2, qword [0x180033a68]
cvttsd2si rax, xmm2
mov edi, 5
cmp rax, 0x7b
je 0x180003c2a
lea ebx, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
sub rbx, rdi
mov al, bl
mov rdi, rbx
add al, al
movsx rbx, al
mov rax, rdi
cqo
idiv rbx
cmp rax, 0x7b
jne 0x180003c08
cmp rax, 0x4a
jle 0x180003d32
movss xmm0, dword [0x180033b50]
call fcn.18000337c
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movaps xmm2, xmm1
divss xmm2, dword [0x180033ba0]
addss xmm1, dword [0x180033ba0]
cvttss2si eax, xmm1
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
cvttss2si rax, xmm2
cmp rax, 0x23
jge 0x180003c83
movsd xmm1, qword [0x180033a30]
jmp 0x180003cbe
call qword [sym.imp.USER32.dll_GetClipboardViewer]
cvttsd2si rcx, qword [0x180033a28]
call fcn.180003708
movsd xmm1, qword [0x1800339e0]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
movsx ecx, al
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
addsd xmm1, qword [0x180033a28]
cvttsd2si rax, xmm1
cmp rax, 0x7a
je 0x180003cf9
call qword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
cvttsd2si rcx, qword [0x180033a20]
call fcn.1800039e0
cvttsd2si eax, xmm0
movsx ecx, al
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [0x180033a18]
cvttsd2si rax, xmm1
cmp rax, 0x62
jle 0x180003d27
call qword [sym.imp.USER32.dll_CountClipboardFormats]
movss xmm1, dword [0x180033ad8]
movaps xmm0, xmm1
addss xmm0, xmm1
cvttss2si rax, xmm0
movaps xmm1, xmm0
cmp rax, 0x14
jge 0x180003d0d
jmp 0x180003e1e
call qword [sym.imp.USER32.dll_GetCursor]
jmp 0x180003e1e
movss xmm7, dword [0x180033b50]
movaps xmm0, xmm7
call fcn.18000337c
xorps xmm6, xmm6
mov ecx, 0x55
cvtsi2ss xmm6, rax
call fcn.180004028
movsd xmm2, qword [0x180033880]
movss xmm3, dword [0x180033b40]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
mulss xmm6, xmm7
cvttss2si eax, xmm6
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si rax, xmm1
jmp 0x180003dc8
cvtps2pd xmm1, xmm3
movaps xmm0, xmm1
subsd xmm0, xmm2
addsd xmm2, xmm1
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, xmm3
cvtdq2pd xmm1, xmm1
movaps xmm3, xmm0
cvtps2pd xmm0, xmm0
addsd xmm1, xmm2
addsd xmm1, xmm0
cvttsd2si rax, xmm1
cmp rax, 0x45
jle 0x180003d90
mov dil, 0xf
cmp rax, 0xc
jl 0x180003df4
movsx eax, dil
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.18000337c
movsx rdi, al
mov rax, rdi
cmp rdi, 0xc
jge 0x180003dd7
cmp rax, 0x32
je 0x180003e0a
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov ecx, 0xd
call fcn.1800039e0
mov edx, 0x71
lea ecx, [rdx - 0x58]
add edx, ecx
add ecx, ecx
lea eax, [rcx + rdx]
cmp eax, 0x12
jge 0x180003e12
movss xmm8, dword [0x180033b58]
cvttss2si ecx, xmm8
call fcn.180004028
movaps xmm8, xmm0
mov r8d, 0x5f
lea rcx, [r8 + r8]
mov rax, rcx
cqo
idiv r8
mov rdx, rax
mov r8, rax
imul rdx, rcx
cmp rdx, 0x71
jle 0x180003e3b
mov ebx, 0x42
jmp 0x180003eeb
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
movsxd rcx, ebx
call fcn.1800039e0
cvttsd2si rbx, xmm0
mov rcx, rbx
call fcn.180003708
movsd xmm6, qword [0x1800339b0]
mov r8d, 0x1e
imul ebx, ebx
mov cl, r8b
call fcn.180004028
cvttss2si r8, xmm0
xorps xmm1, xmm1
movaps xmm0, xmm6
subsd xmm0, xmm6
cvtsi2sd xmm1, r8
divsd xmm1, xmm6
movaps xmm6, xmm0
xorps xmm0, xmm0
cvttsd2si eax, xmm1
movsxd rcx, eax
mov rax, r8
cqo
idiv rcx
cvtsi2sd xmm0, rax
subsd xmm0, xmm6
cvttsd2si rdx, xmm0
cmp rdx, 0x72
jg 0x180003e8d
cmp rdx, 0x45
jl 0x180003eeb
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
cvttss2si rdx, dword [0x180033ba4]
cmp rdx, 0x63
jl 0x180003e61
movsd xmm6, qword [0x1800338e0]
movsd xmm7, qword [0x1800339b8]
jmp 0x180003f35
movaps xmm0, xmm6
subsd xmm0, xmm6
movaps xmm1, xmm0
movaps xmm6, xmm0
divsd xmm1, xmm7
cvttsd2si rcx, xmm0
movaps xmm7, xmm1
call fcn.180003708
mulsd xmm0, xmm7
movaps xmm1, xmm6
subsd xmm1, xmm0
cvttsd2si rdx, xmm1
cmp rdx, 0x12
jge 0x180003f07
movss xmm6, dword [0x180033b4c]
cmp rdx, 0x51
jne 0x180003ff5
lea eax, [rdx - 0x2b]
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
cvttss2si rcx, xmm6
call fcn.1800039e0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm6
subss xmm1, xmm7
xorps xmm7, xmm7
cvttss2si rax, xmm1
cvtsi2ss xmm7, rax
mulss xmm0, xmm7
cvttss2si rax, xmm0
cmp rax, 0x7c
je 0x180003fcf
call qword [sym.imp.USER32.dll_GetDesktopWindow]
movss xmm0, dword [0x180033b08]
call fcn.18000337c
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movaps xmm0, xmm1
addss xmm0, dword [0x180033ad8]
cvttss2si eax, xmm0
movsx ecx, al
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
jmp 0x180003fd7
movss xmm2, dword [0x180033adc]
cvttss2si rdx, xmm2
cmp rdx, 0x7f
jle 0x180003feb
cvttsd2si rdx, qword [0x180033a78]
cmp rdx, 0x51
je 0x180003f58
cmp rdx, 0x73
jg 0x180003e27
mov rbx, qword [rsp + 0x60]
xorps xmm0, xmm0
mov rsi, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x20]
cvtsi2sd xmm0, rdx
add rsp, 0x50
pop rdi
ret