Function at 0x14000d490
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm11
mov rsi, rcx
mov rax, qword [rcx]
call qword [rax + 0xf0]
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb28]
movsd xmm6, qword [0x14009cad0]
addsd xmm0, xmm6
cvttsd2si r11d, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cbc8]
addsd xmm0, xmm6
cvttsd2si r9d, xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [0x14009cbc0]
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
xorps xmm0, xmm0
mulsd xmm2, xmm0
addsd xmm2, xmm6
cvttsd2si edx, xmm2
lea r15, [rsi + 0x1570]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r10, qword [rcx]
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x40], 0x65
mov dword [rsp + 0x44], 0xffffffff
xor ebx, ebx
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov eax, ebx
test r10, r10
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
lea rdx, [rsp + 0x20]
mov rcx, r15
call qword [rax + 0x90]
lea r13, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x80], r13
lea r12, vtable.CVolObject.0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
lea r14, vtable.CVolMem.0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, str.Version:6.5
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x1818]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000d659
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
movsd xmm8, qword [0x14009cb10]
mulsd xmm0, xmm8
addsd xmm0, xmm6
cvttsd2si edx, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb50]
addsd xmm0, xmm6
cvttsd2si r8d, xmm0
movaps xmm1, xmm2
movsd xmm11, qword [0x14009cb00]
mulsd xmm1, xmm11
addsd xmm1, xmm6
cvttsd2si r9d, xmm1
mulsd xmm2, qword [0x14009caf0]
addsd xmm2, xmm6
cvttsd2si r10d, xmm2
test r15, r15
jne 0x14000d6d7
mov rcx, rbx
jmp 0x14000d6e5
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0x80]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x40], 0x66
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rdx, [0x140090ec8]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test rcx, rcx
cmovne rax, r15
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x1818]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x1818]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096b90]
mov qword [rbp - 0x68], rax
lea rdi, [rsi + 0x1ad8]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000d7f8
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rsi + 0x1af0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov r14, rax
mov dword [rax + 0x6c], 0x808000
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14000d84a
cmp qword [rax + 0x90], 0
je 0x14000d83f
call fcn.140051af0
mov rcx, qword [r14 + 8]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, qword [rdi + 0x18]
mov qword [rcx + 0x70], rax
test rax, rax
je 0x14000d897
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0xc8]
test rax, rax
jne 0x14000d881
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
lea rcx, [rbp + 0x60]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov rcx, qword [rsi + 0x1af0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov r14, rax
mov dword [rax + 0x74], 1
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14000d8d5
cmp qword [rax + 0x90], 0
je 0x14000d8ca
call fcn.140051af0
mov rcx, qword [r14 + 8]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm8
addsd xmm0, xmm6
cvttsd2si edx, xmm0
movaps xmm1, xmm2
movsd xmm7, qword [0x14009cb40]
mulsd xmm1, xmm7
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
movaps xmm0, xmm2
mulsd xmm0, xmm11
addsd xmm0, xmm6
cvttsd2si r9d, xmm0
mulsd xmm2, qword [0x14009cba8]
addsd xmm2, xmm6
cvttsd2si r10d, xmm2
test r15, r15
jne 0x14000d931
mov rcx, rbx
jmp 0x14000d93f
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0x80]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x40], 0x67
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test rcx, rcx
cmovne rax, r15
mov qword [rsp + 0x28], rax
mov rax, qword [rdi]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
lea r14, vtable.CVolMem.0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096ba0]
mov qword [rbp - 0x68], rax
lea rdi, [rsi + 0x1d98]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000da51
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rsi + 0x1db0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov r14, rax
mov dword [rax + 0x6c], 0xff00ff
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14000daa3
cmp qword [rax + 0x90], 0
je 0x14000da98
call fcn.140051af0
mov rcx, qword [r14 + 8]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, qword [rdi + 0x18]
mov qword [rcx + 0x70], rax
test rax, rax
je 0x14000daf0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0xc8]
test rax, rax
jne 0x14000dada
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
lea rcx, [rbp + 0x60]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov rcx, qword [rsi + 0x1db0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov r14, rax
mov dword [rax + 0x74], 1
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14000db2e
cmp qword [rax + 0x90], 0
je 0x14000db23
call fcn.140051af0
mov rcx, qword [r14 + 8]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm8
addsd xmm0, xmm6
cvttsd2si edx, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm7
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009caf8]
addsd xmm0, xmm6
cvttsd2si r9d, xmm0
mulsd xmm2, qword [0x14009cb88]
addsd xmm2, xmm6
cvttsd2si r10d, xmm2
test r15, r15
jne 0x14000db85
mov rcx, rbx
jmp 0x14000db93
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0x80]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x40], 0x68
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test rcx, rcx
cmovne rax, r15
mov qword [rsp + 0x28], rax
mov rax, qword [rdi]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea r15, vtable.CWString.0
mov qword [rbp - 0x80], r15
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
lea r14, vtable.CVolMem.0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096bb0]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x4f0]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000dca2
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], r15
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
lea r15, str.__13__1__0__0__0__0
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x4f0]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000dd64
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
movsd xmm7, qword [0x14009cb20]
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r11d, xmm0
movaps xmm1, xmm2
movsd xmm8, qword [0x14009cb70]
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r10d, xmm1
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb98]
addsd xmm0, xmm6
cvttsd2si r8d, xmm0
mulsd xmm2, qword [0x14009cb80]
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r9, qword [rcx]
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x40], 0x69
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test r9, r9
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x4f0]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x4f0]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096be8]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x7b0]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000def9
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
lea rax, vtable.CWString.0
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x7b0]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000dfbb
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r11d, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r9d, xmm1
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb98]
addsd xmm0, xmm6
cvttsd2si r8d, xmm0
mulsd xmm2, xmm11
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r10, qword [rcx]
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x40], 0x6a
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test r10, r10
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x7b0]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x7b0]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096bf8]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0xa70]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000e13c
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
lea rax, vtable.CWString.0
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xa70]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000e1fe
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r11d, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r10d, xmm1
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb78]
addsd xmm0, xmm6
cvttsd2si r8d, xmm0
mulsd xmm2, xmm11
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r9, qword [rcx]
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x40], 0x6b
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test r9, r9
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0xa70]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xa70]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096c08]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0xd30]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000e37f
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
lea rax, vtable.CWString.0
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xd30]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000e441
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r11d, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r9d, xmm1
movaps xmm0, xmm2
mulsd xmm0, qword [0x14009cb78]
addsd xmm0, xmm6
cvttsd2si r8d, xmm0
mulsd xmm2, qword [0x14009cb80]
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r10, qword [rcx]
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x40], 0x6c
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test r10, r10
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0xd30]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xd30]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, vtable.CWString.0
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, [0x140096c18]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0xff0]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000e5c5
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
lea rax, vtable.CWString.0
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xff0]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000e687
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r10d, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
mulsd xmm2, xmm11
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov r9, qword [rcx]
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r10d
mov dword [rsp + 0x40], WSACleanup
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rax, [0x140090ec8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov rax, rbx
test r9, r9
cmovne rax, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0xff0]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0xff0]
call qword [rax + 0x90]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea r15, vtable.CWString.0
mov qword [rbp - 0x80], r15
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x30], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rbp - 0x80], rax
lea rax, str.b__rY:g
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x12b0]
call fcn.1400383a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14000e7f4
lea rcx, [rbp - 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], r15
lea rax, [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x70], 0xfe
lea rax, vtable.CWConstString.0
mov qword [rsp + 0x20], rax
lea rax, str.__12__1__0__0__0__0
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x12b0]
call fcn.140038440
nop
lea rax, [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000e8b6
lea rcx, [rsp + 0x40]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r12
movsd xmm2, qword [0x1400b88e8]
movaps xmm0, xmm2
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si r9d, xmm0
movaps xmm1, xmm2
mulsd xmm1, xmm8
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
mulsd xmm2, qword [0x14009cb80]
addsd xmm2, xmm6
cvttsd2si edx, xmm2
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x80]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x40], WSACleanup
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x48], rbx
lea rdx, [0x140090ec8]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
test rax, rax
cmovne rbx, rsi
mov qword [rsp + 0x28], rbx
mov rax, qword [rsi + 0x12b0]
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x12b0]
call qword [rax + 0x90]
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret