Function at 0x180003524
Capabilities:
Accept command line arguments
Identify system language via api
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0xa0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movss xmm7, dword [0x1800383f4]
movaps xmmword [rax - 0x48], xmm8
movsd xmm8, qword [0x1800381c8]
comisd xmm8, xmm0
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm12
movaps xmmword [rax - 0x78], xmm13
movaps xmmword [rsp + 0x30], xmm14
xorps xmm14, xmm14
movaps xmmword [rsp + 0x20], xmm15
jbe 0x180003873
movsd xmm12, qword [0x1800381e8]
movss xmm13, dword [0x180038460]
movsd xmm15, qword [0x180038328]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cvttss2si ebx, xmm7
mov cl, bl
call fcn.180004054
movsx edx, al
mov cl, bl
movd xmm6, edx
cvtdq2pd xmm6, xmm6
call fcn.180003f38
movaps xmm0, xmm6
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cvtps2pd xmm2, xmm7
divsd xmm6, xmm2
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm6
ucomisd xmm1, qword [0x1800381b8]
jp 0x180003692
jne 0x180003692
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movsd xmm8, qword [0x180038150]
mov ebx, 0x73
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov cl, bl
call fcn.180003f38
mov ebx, eax
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm8
jae 0x180003603
ucomisd xmm0, qword [0x180038190]
movsd xmm8, qword [0x1800381c8]
jp 0x18000366e
jne 0x18000366e
movsd xmm0, qword [0x180038190]
call fcn.180003524
movsx ecx, al
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
mulss xmm0, xmm2
cvttss2si eax, xmm0
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
cvtps2pd xmm0, xmm2
jmp 0x180003700
call qword [sym.imp.KERNEL32.dll_GetOEMCP]
mov cl, 0x5b
call fcn.1800033b8
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x180038424]
cvtps2pd xmm0, xmm0
jmp 0x180003700
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
call qword [sym.imp.USER32.dll_GetClipboardViewer]
mov cl, 0x76
call fcn.180004054
mov eax, 0x66
imul eax, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x180038298]
ja 0x1800036aa
comisd xmm0, xmmword [0x1800381b8]
jb 0x1800036d6
mov eax, 0x19a1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
ucomisd xmm0, qword [0x180038288]
jp 0x1800036e2
je 0x180003700
call qword [sym.imp.USER32.dll_GetDesktopWindow]
movsd xmm0, qword [0x180038218]
call fcn.180003524
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm15, xmm0
mov edi, 0x6c
lea ebp, [rdi - 0x64]
jb 0x180003868
movaps xmm0, xmm14
lea esi, [rdi + 2]
divsd xmm0, xmm14
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
call qword [sym.imp.USER32.dll_GetFocus]
mov eax, esi
imul edi, ebp
cdq
idiv ebp
mov ebp, 1
movsx esi, al
mov eax, esi
cdq
idiv edi
movd xmm6, eax
cvtdq2pd xmm6, xmm6
comisd xmm12, xmm6
jbe 0x180003769
xor eax, eax
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
call qword [sym.imp.KERNEL32.dll_GetErrorMode]
comisd xmm12, xmm6
ja 0x18000375c
comisd xmm6, xmm14
jb 0x180003786
call qword [sym.imp.USER32.dll_IsWow64Message]
mov cl, 0x58
call fcn.180004054
mov cl, 0x40
call fcn.180004054
jmp 0x18000378e
mov cl, bpl
call fcn.180003f38
movsd xmm2, qword [0x1800382a8]
pause
addsd xmm2, xmm14
xorps xmm0, xmm0
cvtss2sd xmm0, xmm9
cvttsd2si eax, xmm2
movsx eax, al
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movaps xmm1, xmm2
mulsd xmm1, xmm14
addsd xmm1, xmm0
comisd xmm1, xmmword [0x180038290]
jae 0x180003796
ucomisd xmm1, qword [0x1800382e8]
jp 0x18000380a
jne 0x18000380a
xorps xmm0, xmm0
mov eax, 0x79
cvtsi2ss xmm0, rax
movaps xmm1, xmm0
movaps xmm2, xmm0
mulss xmm1, xmm13
divss xmm2, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
cvtps2pd xmm0, xmm2
jmp 0x18000385d
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xorps xmm0, xmm0
mov eax, 0x34
mov cl, 0x69
cvtsi2ss xmm0, rax
mulss xmm0, xmm13
cvttss2si rbx, xmm0
call fcn.1800033b8
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
cvtps2pd xmm0, xmm6
call fcn.180003524
xorps xmm0, xmm0
movsx ecx, al
cvtsi2ss xmm0, rbx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
comisd xmm15, xmm0
jae 0x180003728
comisd xmm8, xmm0
ja 0x180003598
movsd xmm15, qword [0x180038320]
mov al, 0x59
movsd xmm9, qword [0x1800381b0]
movsd xmm12, qword [0x180038208]
movsd xmm13, qword [0x1800382e0]
movsd xmm8, qword [0x1800381c0]
mov cl, al
call fcn.180003f38
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
mov cl, al
mov dword [rsp + 0xc8], eax
call fcn.180003f38
mov sil, 0x2f
mov bl, 0x3a
mov ebp, 0x3a
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movsd xmm1, qword [0x1800381d8]
sub sil, bl
movsx ecx, sil
mov eax, ecx
cdq
idiv ebp
movsx ebp, al
imul ecx, ebp
mov dword [rsp + 0xc0], eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x180003964
call qword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
movsd xmm0, qword [0x180038380]
call fcn.180003524
movsx ecx, al
imul eax, ecx, 0x2b11
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1800033b8
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
ucomiss xmm6, dword [0x180038434]
jp 0x180003957
jne 0x180003957
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRestart]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movaps xmm6, xmm14
jmp 0x180003a76
movsd xmm6, qword [0x180038368]
jmp 0x180003a76
call qword [sym.imp.USER32.dll_GetCursor]
mov cl, 0x5b
call fcn.180003f38
movsd xmm7, qword [0x180038328]
mov ecx, 0x7c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x180038464]
addss xmm0, dword [0x180038488]
cvtps2pd xmm6, xmm0
jmp 0x1800039b4
imul ecx, ecx
mov ebx, ecx
call fcn.180004054
movsx ecx, al
mov eax, ecx
imul eax, ebx
movd xmm6, eax
cvtdq2pd xmm6, xmm6
comisd xmm7, xmm6
jae 0x18000399a
mov r9d, 0x21
lea r8d, [r9 + 0x5e]
jmp 0x1800039e2
sub r9d, r8d
xorps xmm6, xmm6
movsxd rax, r9d
mov rcx, rax
cqo
sub rcx, r8
idiv rcx
mov r8, rcx
cvtsi2sd xmm6, rax
ucomisd xmm6, xmm15
jp 0x1800039eb
je 0x1800039c6
movss xmm7, dword [0x180038484]
mov edi, 0x1a
jmp 0x180003a40
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cvttss2si ecx, xmm7
call fcn.180003f38
mov cl, dil
movsxd rbx, eax
call fcn.180004054
movsx edi, al
mov cl, dil
call fcn.180003f38
movd xmm1, edi
xorps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cvtsi2ss xmm0, rbx
divss xmm1, xmm7
addss xmm1, xmm0
cvtps2pd xmm6, xmm1
ucomisd xmm6, qword [0x180038168]
jp 0x180003a4c
je 0x1800039fa
movsd xmm7, qword [0x180038150]
jmp 0x180003a70
call qword [sym.imp.USER32.dll_IsProcessDPIAware]
movaps xmm0, xmm14
call fcn.180003524
movsx ecx, al
movd xmm6, ecx
cvtdq2pd xmm6, xmm6
comisd xmm7, xmm6
ja 0x180003a56
comisd xmm6, xmmword [0x1800382b8]
mov bl, 0x7b
movaps xmm7, xmm8
jbe 0x180003bbe
movsd xmm8, qword [0x180038318]
movsd xmm13, qword [0x1800381c0]
movsd xmm15, qword [0x1800381f0]
movss xmm14, dword [0x18003839c]
call qword [sym.imp.USER32.dll_IsProcessDPIAware]
mov cl, bl
divsd xmm7, xmm8
call fcn.1800033b8
movsx ebx, al
movss xmm1, dword [0x1800383dc]
movaps xmm0, xmm7
movd xmm8, ebx
cvtdq2pd xmm8, xmm8
subsd xmm0, xmm8
comisd xmm9, xmm0
jbe 0x180003afd
cvttss2si ecx, xmm1
call fcn.1800033b8
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm14, xmm1
ja 0x180003ae4
movss xmm6, dword [0x180038430]
mov eax, 0x4b
movaps xmm0, xmm6
subss xmm0, xmm6
movaps xmm6, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call fcn.180003524
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm1, xmm6
addss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm2, xmm1
comisd xmm2, xmmword [0x180038218]
jae 0x180003b0a
comisd xmm15, xmm2
jbe 0x180003b61
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
jmp 0x180003b67
call qword [sym.imp.USER32.dll_AnyPopup]
movsd xmm6, qword [0x180038160]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
movaps xmm0, xmm6
call fcn.180003524
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm6, xmm0
comisd xmm13, xmm6
ja 0x180003b6f
comisd xmm6, xmmword [0x1800382b8]
ja 0x180003aae
movsd xmm13, qword [0x1800382e0]
xorps xmm14, xmm14
movsd xmm15, qword [0x180038320]
movsd xmm8, qword [0x1800381c0]
movsd xmm0, qword [0x1800382b0]
comisd xmm0, xmm6
jb 0x180003bef
movsd xmm1, qword [0x1800382f8]
mov eax, 0x69
imul eax, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jae 0x180003bd9
jmp 0x180003d18
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
movsd xmm0, qword [0x180038220]
call fcn.180003524
movsx ecx, al
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
comisd xmm9, xmm2
jbe 0x180003c49
movsd xmm0, qword [0x180038250]
call fcn.180003524
movsx ecx, al
xorps xmm0, xmm0
xor eax, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
cvtsi2sd xmm0, rax
movaps xmm2, xmm1
mulsd xmm2, qword [0x180038250]
divsd xmm2, xmm0
addsd xmm2, xmm1
movsd xmm0, qword [0x1800381a0]
comisd xmm0, xmm2
jbe 0x180003c7c
mov cl, 5
call fcn.180003f38
movsxd rbx, eax
mov cl, bl
call fcn.1800033b8
movsx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
jmp 0x180003c98
cvttss2si rax, dword [0x180038398]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movaps xmm1, xmm0
subss xmm1, dword [0x180038350]
movsd xmm6, qword [0x180038198]
mov dil, 0x6c
mulss xmm1, xmm0
mov ebx, 0x63
mov dl, 0x4e
cvtps2pd xmm0, xmm1
jmp 0x180003ce5
sub bl, dil
mov cl, dl
movsx rdi, bl
call fcn.180004054
movsx rbx, al
mov cl, bl
call fcn.180004054
movsx rdx, al
xorps xmm0, xmm0
mov rcx, rdx
mov rax, rdi
imul rcx, rbx
sub rax, rcx
cvtsi2sd xmm0, rax
comisd xmm6, xmm0
ja 0x180003cb3
mov ebx, 0x47
jmp 0x180003d11
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov cl, bl
call fcn.180003f38
movsxd rcx, eax
xorps xmm0, xmm0
imul rbx, rcx
sub rcx, rbx
cvtsi2sd xmm0, rcx
comisd xmm0, xmm12
ja 0x180003cf2
movsd xmm1, qword [0x1800381d0]
comisd xmm1, xmm0
jbe 0x180003dd9
mov cl, 0x78
call fcn.1800033b8
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, xmm9
jp 0x180003d5a
jne 0x180003d5a
call qword [sym.imp.KERNEL32.dll_GetACP]
mov cl, 0x49
call fcn.1800033b8
movsx ecx, al
call fcn.180004054
movss xmm2, dword [0x180038468]
movss xmm3, dword [0x180038428]
movaps xmm0, xmm2
divss xmm0, xmm3
cvttss2si ecx, xmm2
cvttss2si ebx, xmm0
call fcn.180003f38
mov ecx, eax
movd xmm3, ebx
imul ecx, ebx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm3, xmm3
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
subss xmm0, xmm1
ucomiss xmm0, dword [0x1800383a8]
jp 0x180003dae
je 0x180003d6a
movsd xmm1, qword [0x180038258]
mov r8b, 0x5a
xor eax, eax
mov cl, al
xorps xmm0, xmm0
sub cl, r8b
cqo
movsx r8, cl
idiv r8
cvtsi2sd xmm0, rax
comisd xmm1, xmm0
jae 0x180003dbb
jmp 0x180003e4f
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
mov cl, 0x78
call fcn.180003f38
mov ebx, 0x22
movd xmm0, eax
cvtdq2pd xmm0, xmm0
lea edi, [rbx + 0x37]
jmp 0x180003e12
call qword [sym.imp.USER32.dll_GetCursor]
add rbx, rdi
xorps xmm0, xmm0
mov edi, 1
lea rax, [rbx - 1]
cvtsi2sd xmm0, rax
ucomisd xmm0, xmm13
jp 0x180003df8
jne 0x180003df8
comisd xmm0, xmmword [0x1800382d0]
jbe 0x180003e37
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [rsp + 0xc0]
jmp 0x1800038cc
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov cl, 0x27
call fcn.1800033b8
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x180038300]
mov ebx, dword [rsp + 0xc0]
ja 0x1800038cc
comisd xmm0, xmmword [0x1800382c8]
jb 0x180003ee1
movsd xmm6, qword [0x1800382e8]
movsd xmm7, qword [0x180038318]
call qword [sym.imp.USER32.dll_IsWow64Message]
movaps xmm0, xmm6
divsd xmm0, xmm7
cvttsd2si eax, xmm0
movsx eax, al
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movaps xmm0, xmm7
movaps xmm1, xmm7
mulsd xmm0, xmm6
divsd xmm1, xmm0
movaps xmm6, xmm0
comisd xmm1, xmmword [0x1800381a8]
jae 0x180003e7e
mov ecx, 0x38
lea ebx, [rcx + 0x35]
call fcn.180004054
add rbx, rbx
movsx rcx, al
xorps xmm0, xmm0
lea rax, [rbx + rcx]
cvtsi2sd xmm0, rax
ucomisd xmm0, qword [0x180038248]
jp 0x180003ebd
jne 0x180003ebd
comisd xmm0, xmmword [0x1800382c0]
mov eax, dword [rsp + 0xc8]
ja 0x1800038a2
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x50]
movaps xmm13, xmmword [r11 - 0x60]
movaps xmm14, xmmword [r11 - 0x70]
movaps xmm15, xmmword [r11 - 0x80]
cvttsd2si eax, xmm0
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret