Function at 0x180088e50
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x130
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1800e5040]
xor rax, rsp
mov qword [rbp - 0x80], rax
mov rsi, rcx
xor r15d, r15d
mov edi, r15d
mov dword [rsp + 0x60], r15d
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
movss xmm7, dword [rsi + 0x10]
cvtps2pd xmm7, xmm7
mulsd xmm7, qword [0x1800d55c0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
subsd xmm7, xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800d56dc]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x1800d55c8]
subsd xmm7, xmm1
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800d56dc]
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x1800d55e0]
addsd xmm1, xmm7
cvtpd2ps xmm6, xmm1
movss dword [rsp + 0x60], xmm6
mov ecx, dword [0x1800e641c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800e8208], ecx
jle 0x180088fe3
lea rcx, [0x1800e8208]
call fcn.1800905cc
cmp dword [0x1800e8208], 0xffffffff
jne 0x180088fe3
movss xmm0, dword [0x1800d56cc]
divss xmm0, dword [rsi + 0x10]
subss xmm0, xmm6
cvttss2si rbx, xmm0
mov qword [0x1800e81f8], r15
lea rcx, [rsp + 0x50]
call fcn.180090450
mov rdx, qword [rax]
mov qword [0x1800e81f8], rdx
mov qword [0x1800e8200], rbx
lea rcx, [0x1800e8208]
call fcn.180090560
cmp byte [rsi + 8], dil
je 0x180089012
cmp byte [0x1800e6848], dil
jne 0x180089012
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1800e6de0]
call fcn.180066c40
mov edi, 1
cmp qword [rax + 8], r15
jne 0x180089012
xor bl, bl
jmp 0x180089014
mov bl, 1
test dil, 1
je 0x180089041
cmp qword [0x1800e6830], 0
je 0x180089041
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x180089041
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x1800894e3
lea rcx, [rsp + 0x50]
call fcn.180090450
mov rcx, qword [rsp + 0x50]
mov rdx, rcx
sub rdx, qword [0x1800e81f8]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x1800e8200]
je 0x18008909f
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x1800894e3
mov qword [0x1800e81f8], rcx
mov rcx, qword [0x1800e6de0]
add rcx, 0x10
lea rdx, [rsp + 0x20]
call fcn.180067120
mov rcx, qword [0x1800e6de0]
add rcx, 0x10
lea rdx, [rsp + 0x50]
call fcn.180067700
movss xmm8, dword [rsp + 0x50]
movss xmm13, dword [0x1800d5744]
movss xmm15, dword [0x1800d56ac]
comiss xmm13, xmm8
jb 0x1800890fb
nop
addss xmm8, xmm15
comiss xmm13, xmm8
jae 0x1800890f0
movss xmm14, dword [0x1800d5748]
movss xmm12, dword [0x1800d5694]
comiss xmm8, xmm12
jbe 0x18008911e
addss xmm8, xmm14
comiss xmm8, xmm12
ja 0x180089113
mov rcx, qword [0x1800e6de0]
add rcx, 0x50
lea rdx, [rsp + 0x68]
call fcn.180084500
nop
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
cmp rdi, r14
je 0x1800894d9
movss xmm11, dword [rsp + 0x28]
movss xmm10, dword [0x1800d555c]
nop word [rax + rax]
mov rax, qword [0x1800e6de0]
mov rdx, qword [rdi + 0x10]
mov r8, qword [rax + 0x20]
cmp rdx, r8
je 0x1800893ea
test rdx, rdx
je 0x18008919b
test r8, r8
je 0x18008919b
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
je 0x1800893ea
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.180067b00
nop
lea rcx, [rsp + 0x40]
call fcn.1800684f0
movaps xmm6, xmm0
lea rcx, [rsp + 0x40]
call fcn.180068280
subss xmm6, xmm0
mulss xmm6, xmm10
lea rcx, [rsp + 0x40]
call fcn.180068280
movaps xmm9, xmm0
addss xmm9, xmm6
lea rcx, [rsp + 0x40]
call fcn.180068420
movaps xmm6, xmm0
lea rcx, [rsp + 0x40]
call fcn.1800681b0
subss xmm6, xmm0
mulss xmm6, xmm10
lea rcx, [rsp + 0x40]
call fcn.1800681b0
movaps xmm7, xmm0
addss xmm7, xmm6
lea rcx, [rsp + 0x40]
call fcn.180068350
movaps xmm6, xmm0
lea rcx, [rsp + 0x40]
call fcn.1800680e0
subss xmm6, xmm0
mulss xmm6, xmm10
lea rcx, [rsp + 0x40]
call fcn.1800680e0
movaps xmm10, xmm0
addss xmm10, xmm6
mov rcx, qword [0x1800e6de0]
add rcx, 0x70
call fcn.1800685c0
movaps xmm6, xmm0
cmp qword [rdi + 0x10], 0
jne 0x18008926d
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm6, xmm6
jmp 0x1800892b8
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.180067120
mov rbx, rax
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.180067490
movss xmm0, dword [rbx + 8]
subss xmm0, dword [rax + 8]
movss xmm1, dword [rbx + 4]
subss xmm1, dword [rax + 4]
movss xmm2, dword [rbx]
subss xmm2, dword [rax]
movaps xmm3, xmm6
mulss xmm3, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm1
mulss xmm6, xmm2
xorps xmm1, xmm1
addss xmm9, xmm3
addss xmm7, xmm0
addss xmm10, xmm6
movaps xmm0, xmm9
subss xmm0, xmm11
movaps xmm11, xmm10
movss xmm2, dword [rsp + 0x20]
subss xmm11, xmm2
xorps xmm6, xmm6
ucomiss xmm11, xmm1
jp 0x1800892ec
je 0x180089326
divss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm6, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm11
jbe 0x18008930c
movss xmm0, dword [0x1800d5678]
jmp 0x180089314
movss xmm0, dword [0x1800d573c]
mulss xmm6, dword [0x1800d566c]
addss xmm6, xmm0
movss xmm2, dword [rsp + 0x20]
subss xmm6, xmm8
comiss xmm13, xmm6
jb 0x18008933c
addss xmm6, xmm15
comiss xmm13, xmm6
jae 0x180089331
comiss xmm6, xmm12
jbe 0x18008934d
addss xmm6, xmm14
comiss xmm6, xmm12
ja 0x180089342
movss xmm11, dword [rsp + 0x28]
subss xmm9, xmm11
subss xmm7, dword [rsp + 0x24]
subss xmm10, xmm2
mulss xmm7, xmm7
mulss xmm10, xmm10
addss xmm7, xmm10
mulss xmm9, xmm9
addss xmm7, xmm9
xorps xmm0, xmm0
ucomiss xmm0, xmm7
ja 0x18008938d
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x180089395
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [rsi + 0x14]
movss xmm10, dword [0x1800d555c]
comiss xmm1, xmm0
jb 0x1800893bf
comiss xmm0, xmm10
jbe 0x1800893bf
andps xmm6, xmmword [0x1800d58e0]
movss xmm0, dword [rsi + 0x18]
comiss xmm0, xmm6
jae 0x1800893fc
cmp qword [0x1800e6830], 0
je 0x1800893ea
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x1800893ea
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x48], r15
add rdi, 0x18
cmp rdi, r14
jne 0x180089160
jmp 0x1800894d9
mov qword [rsp + 0x50], r15
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rsp + 0x54]
shl r9d, 0x10
movzx eax, word [rsp + 0x50]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x1800e6840]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rsp + 0x54]
shl r9d, 0x10
movzx eax, word [rsp + 0x50]
or r9, rax
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x1800e6840]
call qword [sym.imp.USER32.dll_SendMessageA]
call fcn.180066d80
movss xmm0, dword [rsi + 0x10]
cvttss2si ecx, xmm0
subss xmm0, dword [rsp + 0x60]
cvttss2si eax, xmm0
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], ecx
lea rcx, [rsp + 0x60]
call fcn.1800847c0
mov ecx, eax
mov eax, 0x3e8
cdq
idiv ecx
movsxd rbx, eax
lea rcx, [rsp + 0x60]
call fcn.180090450
mov rcx, qword [rax]
mov qword [0x1800e81f8], rcx
mov qword [0x1800e8200], rbx
cmp qword [0x1800e6830], 0
je 0x1800894d9
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x1800894d9
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
lea rcx, [rsp + 0x68]
call fcn.1800843d0
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.180090540
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rbp
ret