Function at 0x1400049e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movdqa xmmword [rax - 0x18], xmm6
movdqa xmmword [rax - 0x28], xmm7
lea rax, [0x140017d00]
mov rsi, rcx
mov ecx, 0xd
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_GetSysColor]
lea rcx, [rsp + 0x20]
mov edx, eax
call fcn.140004700
movzx ecx, word [rsp + 0x28]
movzx edx, byte [rsp + 0x2a]
movlpd xmm2, qword [0x140017d68]
cvtsi2sd xmm0, ecx
movzx eax, byte [rsp + 0x2c]
shl edx, 8
mov edi, 0xff
shl eax, 0x10
or edx, eax
movzx eax, byte [rsp + 0x28]
or edx, eax
mov eax, edi
sub eax, ecx
movzx ecx, word [rsp + 0x2a]
mov dword [rsi + 8], edx
cvtsi2sd xmm1, eax
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
mov eax, edi
sub eax, ecx
movzx ecx, byte [rsp + 0x2a]
shl ecx, 8
cvtsi2sd xmm1, eax
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsi + 0xc], ecx
mov ecx, 0xf
call qword [sym.imp.USER32.dll_GetSysColor]
lea rcx, [rsp + 0x20]
mov edx, eax
call fcn.140004700
movzx r11d, word [rsp + 0x28]
movzx ecx, word [rsp + 0x2a]
movlpd xmm7, qword [0x140017d60]
cvtsi2sd xmm0, r11d
mov eax, edi
sub eax, r11d
cvtsi2sd xmm1, eax
mov eax, edi
sub eax, ecx
mulsd xmm1, xmm7
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si r8, xmm1
cvtsi2sd xmm1, eax
mov word [rsp + 0x28], r8w
mulsd xmm1, xmm7
addsd xmm1, xmm0
cvttsd2si r9, xmm1
movzx ecx, word [rsp + 0x2c]
movlpd xmm6, qword [0x140017d58]
mov ebx, dword [rsi + 8]
mov eax, edi
mov word [rsp + 0x2a], r9w
mov dword [rsi + 0x10], ebx
cvtsi2sd xmm0, ecx
sub eax, ecx
movzx ecx, r9b
shl ecx, 8
cvtsi2sd xmm1, eax
mulsd xmm1, xmm7
addsd xmm1, xmm0
cvttsd2si rdx, xmm1
movzx eax, dl
mov word [rsp + 0x2c], dx
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
mov eax, edi
mov dword [rsi + 0x1c], ecx
movzx ecx, r8w
sub eax, ecx
cvtsi2sd xmm0, ecx
movzx ecx, r9w
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
movzx ecx, dx
mov edx, ebx
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
mov eax, edi
sub eax, ecx
movzx ecx, byte [rsp + 0x2a]
shl ecx, 8
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsi + 0x30], ecx
lea rcx, [rsp + 0x20]
call fcn.140004700
movzx r11d, word [rsp + 0x28]
movzx ecx, word [rsp + 0x2a]
movlpd xmm2, qword [0x140017d50]
cvtsi2sd xmm0, r11d
mov eax, edi
sub eax, r11d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
mov eax, edi
sub eax, ecx
cvtsi2sd xmm0, ecx
movzx ecx, byte [rsp + 0x2a]
cvtsi2sd xmm1, eax
shl ecx, 8
mov edx, ebx
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsi + 0x18], ecx
lea rcx, [rsp + 0x20]
call fcn.140004700
movzx r11d, word [rsp + 0x28]
movzx ecx, word [rsp + 0x2a]
cvtsi2sd xmm0, r11d
mov eax, edi
sub eax, r11d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140017d48]
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
mov eax, edi
sub eax, ecx
movzx ecx, byte [rsp + 0x2a]
shl ecx, 8
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140017d40]
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsi + 0x14], ecx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetSysColor]
mov edx, dword [rsi + 8]
lea rcx, [rsp + 0x20]
mov dword [rsi + 0x20], eax
call fcn.140004700
movzx r11d, word [rsp + 0x28]
movlpd xmm6, qword [str.333333]
movzx ecx, word [rsp + 0x2a]
mov eax, edi
cvtsi2sd xmm0, r11d
sub eax, r11d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
mov eax, edi
sub eax, ecx
cvtsi2sd xmm1, eax
movzx edx, byte [rsp + 0x2a]
cvtsi2sd xmm0, ecx
mulsd xmm1, xmm6
shl edx, 8
mov ecx, 7
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or edx, eax
movzx eax, byte [rsp + 0x28]
or edx, eax
mov dword [rsi + 0x24], edx
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, 0x11
mov dword [rsi + 0x28], eax
call qword [sym.imp.USER32.dll_GetSysColor]
lea rcx, [rsp + 0x20]
mov edx, eax
call fcn.140004700
movzx r11d, word [rsp + 0x28]
movzx ecx, word [rsp + 0x2a]
cvtsi2sd xmm0, r11d
mov eax, edi
sub eax, r11d
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
mov eax, edi
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
movzx eax, word [rsp + 0x2c]
movzx ecx, byte [rsp + 0x2a]
sub edi, eax
cvtsi2sd xmm0, eax
shl ecx, 8
cvtsi2sd xmm1, edi
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2c], ax
movzx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsi + 0x2c], ecx
mov dword [rsi + 0x34], ecx
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetSysColor]
lea rcx, [rsp + 0x20]
mov edx, eax
call fcn.140004700
movzx r11d, word [rsp + 0x28]
cvtsi2sd xmm1, r11d
movsd xmm0, xmm1
mulsd xmm0, xmm7
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x28], ax
movzx eax, word [rsp + 0x2a]
cvtsi2sd xmm1, eax
movsd xmm0, xmm1
mulsd xmm0, xmm7
subsd xmm1, xmm0
cvttsd2si rax, xmm1
mov word [rsp + 0x2a], ax
movzx eax, word [rsp + 0x2c]
cvtsi2sd xmm1, eax
movsd xmm0, xmm1
mulsd xmm0, xmm7
subsd xmm1, xmm0
cvttsd2si rax, xmm1
movzx ecx, byte [rsp + 0x2a]
movdqa xmm7, xmmword [rsp + 0x40]
movdqa xmm6, xmmword [rsp + 0x50]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x78]
mov word [rsp + 0x2c], ax
movzx eax, al
shl ecx, 8
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov eax, dword [rsi + 0x20]
mov dword [rsi + 0x3c], eax
mov dword [rsi + 0x40], eax
mov eax, dword [rsi + 0x30]
mov dword [rsi + 0x44], eax
mov dword [rsi + 0x48], eax
mov eax, dword [rsi + 0x1c]
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x38], ecx
mov rsi, qword [rsp + 0x80]
add rsp, 0x68
ret