Function at 0x1800031fc
Capabilities:
Allocate thread local storage
Identify system language via api
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x80
movaps xmmword [rax - 0x18], xmm6
movaps xmm1, xmm0
movss xmm6, dword [0x180030f60]
ucomiss xmm0, xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
jp 0x18000373f
jne 0x18000373f
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
movss xmm0, dword [0x180030f44]
call fcn.1800031b0
mov ebx, 0x6f
call qword [sym.imp.USER32.dll_GetShellWindow]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
call fcn.1800031b0
imul ebx, eax
xorps xmm1, xmm1
cqo
movsxd rcx, ebx
idiv rcx
cvtsi2ss xmm1, rax
comiss xmm1, dword [0x180030f2c]
ja 0x180003266
comiss xmm1, xmm6
mov ebx, 0xa
mov dil, 0x5b
movss xmm8, dword [0x180030e38]
movss xmm10, dword [0x180030f24]
jbe 0x180003300
movaps xmm7, xmm10
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
movsx rax, dil
movaps xmm0, xmm7
cqo
addss xmm0, xmm8
idiv rbx
movaps xmm1, xmm0
movaps xmm8, xmm0
divss xmm1, xmm7
mov rbx, rax
cvttss2si edi, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movsx ecx, dil
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
divss xmm1, xmm0
mulss xmm1, xmm7
comiss xmm1, xmm6
ja 0x1800032b7
comiss xmm1, dword [0x180030f7c]
jbe 0x18000362e
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
movsd xmm7, qword [0x180030d18]
mov edi, 0x28
movsd xmm6, qword [0x180030de0]
movss xmm8, dword [0x180030ef0]
movss xmm9, dword [0x180030f50]
call qword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
movaps xmm0, xmm7
subsd xmm0, xmm7
movaps xmm7, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
call fcn.1800031b0
movaps xmm1, xmm7
addsd xmm6, xmm7
mov rdi, rax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
subsd xmm1, xmm6
cvtsd2ss xmm0, xmm1
ucomiss xmm0, dword [0x180030f74]
jp 0x180003382
je 0x1800033a1
call qword [sym.imp.USER32.dll_InSendMessage]
movss xmm0, dword [0x180030f1c]
call fcn.1800031b0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
cvtpd2ps xmm0, xmm0
movss xmm2, dword [0x180030f6c]
mov ebx, 0x79
jmp 0x1800033e3
movaps xmm0, xmm2
call fcn.180003888
movaps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
xor ebx, ebx
subss xmm0, xmm2
cvtps2pd xmm1, xmm0
xorps xmm0, xmm0
divsd xmm1, qword [0x180030c98]
cvtss2sd xmm0, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
comiss xmm0, xmm8
jae 0x1800033b0
comiss xmm9, xmm0
jae 0x18000333a
movss xmm6, dword [0x180030f84]
mov edi, 0x18
comiss xmm6, xmm0
lea ebx, [rdi - 0x17]
movss xmm9, dword [0x180030f78]
jb 0x1800034db
movss xmm7, dword [0x180030ef8]
movss xmm8, dword [0x180030f28]
movss xmm11, dword [0x180030f4c]
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
divss xmm7, xmm10
mov ecx, 0x5a
movd xmm0, edi
mov edi, ebx
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm7
movaps xmm10, xmm7
divss xmm1, xmm0
movaps xmm0, xmm10
cvttss2si eax, xmm1
movsx eax, al
movd xmm7, eax
cvtdq2ps xmm7, xmm7
divss xmm0, xmm7
jmp 0x180003485
movsd xmm1, qword [0x180030cf8]
add ecx, ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
ucomiss xmm0, xmm8
jp 0x18000348d
je 0x18000346b
movsd xmm1, qword [0x180030d08]
addsd xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
comiss xmm0, dword [0x180030f64]
ja 0x180003495
comiss xmm11, xmm0
ja 0x1800035c7
mov ecx, 0x26
jmp 0x1800034cc
lea rax, [rcx + rcx]
xorps xmm0, xmm0
dec rax
mov rcx, rbx
cvtsi2ss xmm0, rax
comiss xmm9, xmm0
jae 0x1800034ba
comiss xmm6, xmm0
jae 0x18000342f
comiss xmm0, dword [0x180030e2c]
jb 0x180003570
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
movss xmm0, dword [0x180030ea0]
call fcn.1800031b0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x180030c98]
cvtpd2ps xmm0, xmm1
ucomiss xmm0, dword [0x180030e68]
jp 0x180003535
jne 0x180003535
call qword [sym.imp.USER32.dll_AnyPopup]
pause
movss xmm0, dword [0x180030f48]
call fcn.1800031fc
movsx ebx, al
movss xmm0, dword [0x180030f08]
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x180003570
call qword [sym.imp.SHELL32.dll_InitNetworkAddressControl]
movss xmm0, dword [0x180030fd8]
call fcn.1800031fc
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
call fcn.1800031b0
mov esi, 0x29
mov r14b, 0x36
lea edi, [rsi + 0x29]
lea ebp, [rsi - 0x27]
call qword [sym.imp.USER32.dll_GetShellWindow]
xorps xmm0, xmm0
sub r14b, dil
cvtsi2ss xmm0, rsi
call fcn.180002cb4
sub edi, eax
movsx rcx, r14b
movsxd rdx, edi
xorps xmm0, xmm0
imul rdx, rcx
mov rsi, rax
imul rdx, rax
cvtsi2ss xmm0, rdx
ucomiss xmm0, dword [0x180030f8c]
jp 0x1800035bb
je 0x1800035c3
movss xmm0, dword [0x180030fc0]
mov bl, 0x40
jmp 0x1800035de
jmp 0x1800035c7
call qword [sym.imp.USER32.dll_GetCapture]
add bl, bl
movsx eax, bl
imul eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm9
jp 0x1800035e6
je 0x1800035c9
ucomiss xmm0, dword [0x180030f80]
jp 0x180003712
jne 0x180003712
movsd xmm2, qword [0x180030dc0]
movaps xmm0, xmm2
xorps xmm1, xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm1, xmm0
movaps xmm2, xmm0
comiss xmm1, dword [0x180030f40]
jae 0x180003601
ucomiss xmm1, dword [0x180030e10]
jp 0x18000357e
jne 0x18000357e
movss xmm0, dword [0x180030efc]
comiss xmm0, xmm1
jb 0x180003710
movss xmm0, dword [0x180030f38]
call fcn.180002cb4
movsd xmm6, qword [0x180030d98]
mov ebx, 0x10
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
call fcn.1800031b0
mov rbx, rax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm6, xmm0
addsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
comiss xmm1, dword [0x180030e34]
ja 0x180003659
ucomiss xmm1, dword [0x180030eb4]
jp 0x180003696
je 0x1800036a4
call qword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
movss xmm1, dword [0x180030fb8]
movss xmm0, dword [0x180030d00]
comiss xmm0, xmm1
ja 0x180003710
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
movss xmm6, dword [0x180030e28]
movaps xmm0, xmm6
call fcn.180003888
movss xmm2, dword [0x180030df0]
subss xmm6, xmm0
movsd xmm3, qword [0x180030dc8]
ucomiss xmm6, xmm2
jp 0x180003710
jne 0x180003710
movsd xmm1, qword [0x180030db0]
mulsd xmm1, xmm3
movsd xmm3, qword [0x180030cf8]
cvttsd2si eax, xmm1
movsx eax, al
movd xmm1, eax
cvtdq2pd xmm1, xmm1
cvtpd2ps xmm0, xmm1
ucomiss xmm0, xmm2
jp 0x180003710
je 0x1800036ea
jmp 0x180003710
call qword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
xorps xmm0, xmm0
cvtsi2ss xmm0, rbp
call fcn.180003888
cvttss2si eax, xmm0
movsx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.180003888
cvttss2si rbp, xmm0
jmp 0x180003712
comiss xmm0, dword [0x180030e88]
jb 0x180003846
call qword [sym.imp.USER32.dll_GetMessageTime]
call qword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
movss xmm6, dword [0x180030e74]
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
movaps xmm0, xmm6
call fcn.1800031fc
movsx rcx, al
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
ucomiss xmm6, dword [0x180030ed0]
jp 0x180003785
je 0x180003760
comiss xmm6, dword [0x180030d00]
jb 0x18000379b
movss xmm1, dword [0x180030ca4]
jmp 0x180003846
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movss xmm0, dword [0x180030f94]
call fcn.180003888
movaps xmm1, xmm0
movss xmm0, dword [0x180030f0c]
subss xmm1, dword [0x180030c90]
comiss xmm0, xmm1
jb 0x180003801
movss xmm0, dword [0x180030e2c]
call fcn.180002cb4
movsd xmm0, qword [0x180030d88]
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
subsd xmm0, xmm2
cvttsd2si eax, xmm0
imul ecx, eax, 0x39c
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm1
cvtpd2ps xmm1, xmm2
movss xmm6, dword [0x180030f40]
mov ebx, 0x61
comiss xmm6, xmm1
jb 0x180003846
mov edi, ebx
call qword [sym.imp.USER32.dll_DestroyCaret]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
call fcn.1800031b0
mov rcx, rax
xorps xmm1, xmm1
cqo
idiv rdi
movsxd rbx, eax
mov rdi, rbx
lea rax, [rcx + rbx]
cvtsi2ss xmm1, rax
comiss xmm6, xmm1
jae 0x180003815
movaps xmm6, xmmword [rsp + 0x70]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm7, xmmword [rsp + 0x60]
cvttss2si eax, xmm1
mov rsp, r11
pop r14
ret