Function at 0x180002c7c
Capabilities:
Identify system language via api
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x50
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
cmp cl, 0x38
jge 0x180002f94
movsd xmm0, qword [0x180030dd8]
call fcn.18000349c
cvttss2si eax, xmm0
cmp al, 0x32
jge 0x180002fad
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movsd xmm0, qword [0x180030d58]
call fcn.180002fd0
movsd xmm6, qword [0x180030e20]
movsd xmm7, qword [0x180030f00]
cvttsd2si rbx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
call fcn.18000349c
cvttss2si rax, xmm0
movsx ecx, bl
movsx edx, al
imul edx, ecx
cmp dl, 0x1c
jge 0x180002d3d
movaps xmm0, xmm7
subsd xmm0, xmm6
divsd xmm6, xmm7
cvttsd2si eax, xmm0
movd xmm7, eax
mov eax, 0x46
cvtdq2pd xmm7, xmm7
divsd xmm7, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
call fcn.180002fd0
cvttsd2si rax, xmm0
cmp al, 0x77
je 0x180002d23
cmp al, 0x1c
jle 0x180002d03
movsd xmm2, qword [0x180030e28]
movaps xmm0, xmm2
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm1
mulsd xmm1, xmm2
cvttsd2si eax, xmm1
cmp al, 0x11
je 0x180002d45
cmp al, 0x21
jg 0x180002e53
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, 0x40
lea ebx, [rdi - 0x2c]
call qword [sym.imp.USER32.dll_CreateMenu]
mov rax, rbx
xorps xmm6, xmm6
imul rax, rbx
sub rdi, rbx
cvtsi2sd xmm6, rax
cvttsd2si ecx, xmm6
call fcn.180002c7c
movsx rbx, al
xorps xmm0, xmm0
mov rax, rbx
imul rax, rdi
cvtsi2sd xmm0, rax
addsd xmm0, xmm6
cvttsd2si eax, xmm0
cmp al, 0x3a
jle 0x180002d7e
mov ecx, 0x6f
cmp al, 0x6e
jg 0x180002ded
call fcn.1800032e8
movsx edx, al
mov cl, 0x6f
movd xmm6, edx
cvtdq2ps xmm6, xmm6
call fcn.180002c7c
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
jmp 0x180002e08
call fcn.1800032e8
movss xmm6, dword [0x180030fc4]
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
movsd xmm1, qword [0x180030d78]
cvttss2si eax, xmm6
jmp 0x180002e24
movaps xmm0, xmm1
subsd xmm0, xmm1
movaps xmm1, xmm0
cvttsd2si eax, xmm0
cmp al, 0x5d
jg 0x180002e16
mov dil, 3
mov sil, 0x59
cmp al, 0x4c
je 0x180002ea9
mov bl, sil
call qword [sym.imp.USER32.dll_CloseClipboard]
add dil, sil
mov cl, dil
call fcn.180002c7c
sub sil, al
add bl, dil
cmp bl, 0x4c
jne 0x180002e32
jmp 0x180002ea9
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
movsd xmm0, qword [0x180030f30]
call fcn.18000349c
cvttss2si eax, xmm0
mov bl, 0x42
movss xmm0, dword [0x180031060]
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
cvttss2si eax, xmm0
cmp al, 7
jge 0x180002ea9
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
movsx eax, bl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call fcn.18000349c
cvttss2si ebx, xmm0
cmp bl, 7
jl 0x180002e8a
movsd xmm7, qword [0x180030e38]
mov eax, 0x78
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvttsd2si rcx, xmm7
mulsd xmm0, xmm7
cvttsd2si rbx, xmm0
call fcn.1800032e8
movsx ecx, al
movsd xmm0, qword [0x180030cf0]
xorps xmm1, xmm1
movd xmm7, ecx
cvtdq2pd xmm7, xmm7
cvtsi2sd xmm1, rbx
divsd xmm0, xmm7
subsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp al, 0x3e
jge 0x180002f2b
movsd xmm0, qword [0x180030ee0]
call fcn.180002fd0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm1, xmm6
divss xmm1, xmm6
cvttss2si eax, xmm1
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
jmp 0x180002f59
mov ecx, 0x43
call fcn.1800032e8
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
cvtps2pd xmm0, xmm6
call fcn.180002fd0
cvttsd2si eax, xmm0
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm6, xmm1
cvttss2si eax, xmm6
cmp al, 0x42
jl 0x180002f8a
movss xmm2, dword [0x180031058]
movaps xmm1, xmm2
addss xmm2, xmm1
cvttss2si eax, xmm2
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
cmp al, 0x42
jge 0x180002f69
mov eax, 1
jmp 0x180002eb6
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
movsd xmm0, qword [0x180030dd8]
call fcn.18000349c
mov al, 0x30
add al, al
jmp 0x180002fa9
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x20]
add rsp, 0x50
pop rdi
ret