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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
mov rdi, rcx
cmp r8, 0x42a
jne 0x101fac0
mov eax, dword [0x01031d50]
xor ebx, ebx
lea esi, [rbx + 1]
test sil, al
jne 0x101f9cb
or eax, esi
mov dword [0x01031d50], eax
call fcn.010229b8
mov ecx, ebx
cmp eax, ebx
sete cl
mov dword [0x01031d4c], ecx
jmp 0x101f9d1
mov ecx, dword [0x01031d4c]
cmp ecx, ebx
je 0x101fd76
xorps xmm6, xmm6
lea rcx, [rdi + 0x58]
mov r15d, ebx
mov r13d, ebx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbp, qword [rdi + 0x80]
cmp rbp, rbx
je 0x101fa45
mov r12, qword [rsp + 0xe0]
mov rax, rbp
cmp rbp, rbx
je 0x101fa10
mov rbp, qword [rbp]
mov r12, qword [rax + 0x10]
cmp r12, rbx
je 0x101fa40
mov rcx, qword [r12 + 0x18]
lea rdx, [rsp + 0xe0]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, ebx
jl 0x101fa40
movss xmm0, dword [rsp + 0xe0]
comiss xmm0, xmm6
jbe 0x101fa40
movaps xmm6, xmm0
mov r13d, esi
cmp rbp, rbx
jne 0x101fa00
lea rcx, [rdi + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r13d, ebx
je 0x101fa98
movss xmm2, dword [0x01007980]
movss xmm3, dword [rdi + 0xa8]
movss xmm1, dword [0x01007954]
movaps xmm0, xmm6
mulss xmm0, xmm2
mulss xmm0, xmm3
mulss xmm3, dword [rdi + 0xa4]
addss xmm0, xmm1
cvttss2si ebx, xmm0
mulss xmm3, xmm6
mulss xmm3, xmm2
addss xmm3, xmm1
cvttss2si r15d, xmm3
mov rcx, qword [rdi + 0xc0]
movzx r9d, r15w
movzx eax, bx
shl r9d, 0x10
mov r8, rsi
mov edx, 0x434
or r9, rax
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x101fd76
mov ebp, 0x42b
cmp r8, rbp
jne 0x101fcc9
xorps xmm0, xmm0
movss xmm1, dword [0x01008148]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [0x01008144]
movss dword [rsp + 0x24], xmm1
movss xmm1, dword [0x01008140]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [0x0100813c]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x01008138]
movss dword [rsp + 0x2c], xmm1
movss xmm1, dword [0x01008134]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [0x01008130]
movss dword [rsp + 0x34], xmm1
movss xmm1, dword [0x0100812c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x01008128]
movss dword [rsp + 0x3c], xmm1
movss xmm1, dword [0x01008124]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x01008120]
movss dword [rsp + 0x44], xmm1
movss xmm1, dword [0x0100811c]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x01008118]
movss dword [rsp + 0x4c], xmm1
movss xmm1, dword [0x01008114]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [0x01008110]
movss dword [rsp + 0x54], xmm1
movss xmm1, dword [0x0100810c]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x01008108]
movss dword [rsp + 0x5c], xmm1
movss xmm1, dword [0x01008104]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [0x01008100]
movss dword [rsp + 0x64], xmm1
movss xmm1, dword [0x010080fc]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [0x010080f8]
movss dword [rsp + 0x6c], xmm1
movss xmm1, dword [0x010080f4]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [0x010080f0]
movss dword [rsp + 0x74], xmm1
movss xmm1, dword [0x010080ec]
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [0x01007964]
movss dword [rsp + 0x7c], xmm1
movss xmm1, dword [0x010080e8]
movss dword [rsp + 0x88], xmm0
movss dword [rsp + 0x84], xmm1
call fcn.010229b8
xor ebx, ebx
cmp eax, ebx
jne 0x101fd76
mov r8d, dword [rdi + 0x43c]
mov eax, dword [rdi + 0x440]
lea ecx, [rbx + 0x64]
sub eax, r8d
lea esi, [rbx + 1]
lea edx, [rbp - 0x26]
movd xmm0, eax
movsxd rax, dword [rdi + 0x438]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsp + rax*4 + 0x20]
cvttss2si eax, xmm0
sub ecx, eax
sub ecx, r8d
mov r8, rsi
movsxd r9, ecx
mov rcx, qword [rdi + 0xc0]
call qword [sym.imp.USER32.dll_PostMessageW]
add dword [rdi + 0x438], esi
cmp dword [rdi + 0x438], 0x1b
jb 0x101fd76
mov rcx, qword [rdi + 8]
mov rdx, rbp
call qword [sym.imp.USER32.dll_KillTimer]
jmp 0x101fd76
lea r12, [rcx + 0x58]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbp, qword [rdi + 0x80]
xor ebx, ebx
cmp rbp, rbx
je 0x101fd6d
mov rdi, qword [rsp + 0xe0]
mov rax, rbp
cmp rbp, rbx
je 0x101fd00
mov rbp, qword [rbp]
mov rdi, qword [rax + 0x10]
cmp rdi, rbx
je 0x101fd68
cmp dword [rdi + 0x88], 2
mov rsi, rbx
jne 0x101fd58
lea rcx, [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rdi + 0x20], rbx
je 0x101fd32
mov rsi, qword [rdi + 0x20]
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 8]
mov qword [rdi + 0x20], rbx
lea rcx, [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp rsi, rbx
je 0x101fd68
mov rdx, rdi
mov rcx, rsi
call fcn.0101db8c
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x10]
jmp 0x101fd68
cmp dword [rdi + 0x8c], ebx
jne 0x101fd68
mov rcx, rdi
call fcn.0101ceb4
cmp rbp, rbx
jne 0x101fcf0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r11, [rsp + 0xa0]
xor eax, eax
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret