Function at 0x140049830
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2a8]
sub rsp, 0x368
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movss xmm0, dword [0x1400ccc14]
addss xmm0, dword [0x1400ace98]
movss dword [0x1400ccc14], xmm0
movss xmm10, dword [0x1400a71ec]
comiss xmm0, xmm10
jb 0x1400498c4
xorps xmm0, xmm0
movss dword [0x1400ccc14], xmm0
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b0]
movaps xmm2, xmm10
movaps xmm1, xmm10
call fcn.14001e3b0
movss xmm1, dword [rbp + 0x2b0]
movss xmm2, dword [rbp + 0x2b8]
movss xmm3, dword [rbp + 0x2c0]
mov dword [rbp - 0x74], 0x437f0000
movups xmm4, xmmword [rbp - 0x80]
movss xmm4, xmm1
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm2
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm3
shufps xmm4, xmm4, 0xc9
movups xmmword [rbp - 0x80], xmm4
movups xmmword [0x1400cbfd8], xmm4
call fcn.140021080
xor esi, esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
movss xmm2, dword [0x1400a7214]
lea rdx, str.C:WindowsFontscourbi.ttf
mov rcx, qword [rax + 0x98]
call fcn.14002c7a0
mov qword [0x1400ccb18], rax
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x140049abb
call fcn.1400213f0
mov rdi, rax
cvttss2si ebx, dword [0x1400cb26c]
lea rcx, [0x1400cbfd8]
call fcn.14001e300
mov ecx, dword [0x1400ccb78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov ecx, dword [0x1400ccb64]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rbp + 0x2b0], xmm0
movss dword [rbp + 0x2b4], xmm1
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], ebx
mov r9d, eax
movss xmm2, dword [0x1400cb294]
lea rdx, [rbp + 0x2b0]
mov rcx, rdi
call fcn.14002b980
call fcn.1400213f0
mov rdi, rax
cvttss2si ebx, dword [0x1400cb26c]
lea rcx, [0x1400cbfd8]
call fcn.14001e300
mov ecx, dword [0x1400ccb78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov edx, dword [0x1400ccb64]
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
movss dword [rbp + 0x2b0], xmm0
movss dword [rbp + 0x2b4], xmm1
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], ebx
mov r9d, eax
movss xmm2, dword [0x1400cb294]
lea rdx, [rbp + 0x2b0]
mov rcx, rdi
call fcn.14002b980
call fcn.1400213f0
mov rdi, rax
cvttss2si ebx, dword [0x1400cb26c]
lea rcx, [0x1400cbfd8]
call fcn.14001e300
mov ecx, dword [0x1400ccb78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov ecx, dword [0x1400ccb64]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rbp + 0x2b0], xmm0
movss dword [rbp + 0x2b4], xmm1
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], ebx
mov r9d, eax
movss xmm2, dword [0x1400cb294]
lea rdx, [rbp + 0x2b0]
mov rcx, rdi
call fcn.14002b980
movaps xmm0, xmmword [0x1400ad010]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.14001e300
movzx ecx, al
xorps xmm9, xmm9
cvtsi2ss xmm9, rcx
movss xmm0, dword [0x1400a71a0]
mulss xmm9, xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
mulss xmm6, xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm7, xmm7
cvtsi2ss xmm7, rcx
mulss xmm7, xmm0
shr eax, 0x18
xorps xmm8, xmm8
cvtsi2ss xmm8, rax
mulss xmm8, xmm0
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b0]
movaps xmm2, xmm10
movaps xmm1, xmm10
movss xmm0, dword [0x1400ccc14]
call fcn.14001e3b0
movss xmm0, dword [rbp + 0x2b0]
movss dword [rbp - 0x10], xmm0
movss xmm1, dword [rbp + 0x2b8]
movss dword [rbp - 0xc], xmm1
movss xmm0, dword [rbp + 0x2c0]
movss dword [rbp - 8], xmm0
mov dword [rbp - 4], 0x437f0000
call fcn.1400213f0
mov rbx, rax
lea rcx, [rbp - 0x10]
call fcn.14001e300
mov dword [rbp + 0x2b0], 0x41700000
mov dword [rbp + 0x2b4], 0x41700000
mov qword [rsp + 0x20], rsi
lea r9, [0x1400acd30]
mov r8d, eax
lea rdx, [rbp + 0x2b0]
mov rcx, rbx
call fcn.14002e3c0
call fcn.1400213f0
mov rbx, rax
lea rcx, [rbp - 0x10]
call fcn.14001e300
mov dword [rbp + 0x2b0], 0x41700000
mov dword [rbp + 0x2b4], 0x41e00000
mov qword [rsp + 0x20], rsi
lea r9, str.Ins___MENU
mov r8d, eax
lea rdx, [rbp + 0x2b0]
mov rcx, rbx
call fcn.14002e3c0
call fcn.1400213f0
mov rbx, rax
shufps xmm9, xmm9, 0xe1
movss xmm9, xmm6
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm7
shufps xmm9, xmm9, 0x27
movss xmm9, xmm8
shufps xmm9, xmm9, 0x39
movups xmmword [rbp - 0x80], xmm9
movups xmmword [rbp - 0x80], xmm9
lea rcx, [rbp - 0x80]
call fcn.14001e300
mov dword [rbp + 0x2b0], 0x41700000
mov dword [rbp + 0x2b4], 0x42200000
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x180]
mov r8d, eax
lea rdx, [rbp + 0x2b0]
mov rcx, rbx
call fcn.14002e3c0
mov ecx, dword [0x1400cd330]
mov rax, qword gs:[0x58]
mov edi, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + rdi]
cmp dword [0x1400cd0a8], eax
jg 0x14004aecb
movss xmm12, dword [0x1400a71c8]
mov eax, dword [rbx + rdi]
cmp dword [0x1400cd0b8], eax
jg 0x14004af14
movsd xmm13, qword [0x1400acec0]
cmp byte [0x1400ccb11], 0
je 0x140049e3a
mov eax, dword [0x1400ccb78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mov eax, dword [0x1400ccb64]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rbp + 0x2c8], xmm0
movss dword [rbp + 0x2cc], xmm1
movss xmm6, dword [0x1400cb294]
call fcn.1400215a0
divsd xmm0, xmm13
cvtsd2ss xmm0, xmm0
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b0]
movaps xmm2, xmm10
movaps xmm1, xmm10
call fcn.14001e3b0
movss xmm0, dword [rbp + 0x2b0]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [rbp + 0x2b8]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [rbp + 0x2c0]
movss dword [rbp - 0x78], xmm0
mov dword [rbp - 0x74], 0x3f000000
lea rcx, [rbp - 0x80]
call fcn.14001e300
mov edi, eax
call fcn.1400215a0
divsd xmm0, xmm13
cvtsd2ss xmm0, xmm0
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b0]
movaps xmm2, xmm10
movaps xmm1, xmm10
call fcn.14001e3b0
movss xmm0, dword [rbp + 0x2b0]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [rbp + 0x2b8]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [rbp + 0x2c0]
movss dword [rbp - 0x78], xmm0
mov dword [rbp - 0x74], 0x3f800000
lea rcx, [rbp - 0x80]
call fcn.14001e300
mov ebx, eax
call fcn.1400213f0
movss xmm0, dword [0x1400aaf54]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, ebx
movaps xmm2, xmm6
lea rdx, [rbp + 0x2c8]
mov rcx, rax
call fcn.14002b980
call fcn.1400213f0
mov dword [rsp + 0x20], 0x64
mov r9d, edi
movaps xmm2, xmm6
lea rdx, [rbp + 0x2c8]
mov rcx, rax
call fcn.14002ba50
cmp byte [0x1400ccb10], 0
je 0x140049ef4
call fcn.1400213f0
mov rbx, rax
movaps xmm0, xmmword [0x1400aafa0]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140020d40
mov ecx, dword [0x1400ccb78]
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
movaps xmm2, xmm4
movss xmm3, dword [0x1400cb294]
addss xmm2, xmm3
addss xmm2, dword [0x1400cb2a8]
mov ecx, dword [0x1400ccb64]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [rbp + 0x2b0], xmm0
movss dword [rbp + 0x2b4], xmm2
subss xmm4, xmm3
subss xmm1, xmm3
movss dword [rbp + 0x2b8], xmm1
movss dword [rbp + 0x2bc], xmm4
movss dword [rsp + 0x30], xmm10
mov dword [rsp + 0x28], reloc.WS2_32.dll_ntohs
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x2b0]
lea rdx, [rbp + 0x2b8]
mov rcx, rbx
call fcn.14002e0c0
lea rdx, [0x1400cd088]
lea rcx, [rbp + 0x138]
call fcn.140047740
nop
movss xmm11, dword [0x1400a723c]
mov r15, rsi
mov qword [rbp - 0x70], rsi
mov rdx, qword [0x1400ccbe8]
add rdx, 0xe7b9a48
mov qword [rbp + 0x2b0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rcx, qword [rbp + 0x2b0]
mov qword [0x1400ccb20], rcx
mov rdx, qword [0x1400cb150]
add rdx, rcx
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [rbp + 0x2b8]
add rdx, qword [0x1400cb158]
mov qword [rbp + 0x2b0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x2b0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rcx, qword [rbp + 0x2b8]
mov qword [0x1400ccb38], rcx
mov rdx, qword [0x1400cb160]
add rdx, rcx
mov qword [rbp + 0x2b0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rcx, qword [rbp + 0x2b0]
mov qword [0x1400ccb48], rcx
mov rdx, qword [0x1400cb168]
add rdx, rcx
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rax, qword [rbp + 0x2b8]
mov qword [0x1400ccb28], rax
mov rdx, qword [0x1400ccb48]
add rdx, 0x330
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [0x1400cb170]
add rdx, qword [0x1400ccb28]
mov qword [rbp + 0x2b0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rax, qword [rbp + 0x2b0]
mov qword [0x1400ccb30], rax
mov rdx, qword [0x1400cb1a8]
add rdx, qword [0x1400ccb48]
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [rbp + 0x2b8]
add rdx, qword [0x1400ccb28]
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [0x1400cb178]
add rdx, qword [0x1400ccb28]
mov qword [rbp + 0x2b0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rax, qword [rbp + 0x2b0]
mov qword [0x1400ccb40], rax
mov rdx, qword [0x1400cb188]
add rdx, qword [0x1400ccb20]
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rax, qword [rbp + 0x2b8]
mov qword [0x1400ccb50], rax
mov rdx, qword [0x1400ccb28]
add rdx, 0x868
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rbx, qword [rbp + 0x2c0]
mov rdx, qword [0x1400cb1a0]
add rdx, qword [0x1400ccb50]
mov dword [rbp + 0x2b0], esi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 4
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov r14d, dword [rbp + 0x2b0]
mov dword [rbp - 0x40], r14d
mov rdx, qword [0x1400cb1b0]
add rdx, qword [0x1400ccb50]
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rdi, qword [rbp + 0x2b8]
mov qword [rbp - 0x68], rdi
mov rdx, qword [0x1400ccb38]
add rdx, 0x6f8
mov byte [rbp + 0x2b0], r15b
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 1
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [0x1400ccb30]
add rdx, 0x292
mov byte [rbp + 0x2b8], r15b
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 1
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov byte [rbp + 0x2b0], r15b
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
lea rax, [rbx + 0x2b9]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 1
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [0x1400cb180]
add rdx, qword [0x1400ccb20]
mov qword [rbp + 0x2b8], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], rdx
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x78], 8
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x7c], eax
lea r8, [rsp + 0x60]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [rbp + 0x2b8]
add rdx, qword [0x1400cb218]
mov qword [rbp - 0x80], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp + 0x90], eax
mov qword [rbp + 0xa0], rdx
lea rax, [rbp - 0x80]
mov qword [rbp + 0x98], rax
mov dword [rbp + 0xa8], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0xac], eax
lea r8, [rbp + 0x90]
mov edx, 1
call fcn.14004c5c0
mov r12d, esi
movabs rbx, 0x2aaaaaaaaaaaaaab
test r14d, r14d
je 0x14004a963
movss xmm14, dword [0x1400a7210]
xorps xmm15, xmm15
nop dword [rax]
movsxd rdx, r12d
imul rdx, qword [reloc.WS2_32.dll_htonl]
add rdx, rdi
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x50], rdx
lea rax, [rbp + 0x2c0]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x48], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x44], eax
lea r8, [rbp - 0x60]
mov edx, 1
call fcn.14004c5c0
mov r14, qword [rbp + 0x2c0]
mov rdx, qword [0x1400cb1c8]
add rdx, r14
mov dword [rbp + 0x2b0], 0
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xc0], rdx
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0xc8], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0xcc], eax
lea r8, [rbp + 0xb0]
mov edx, 1
call fcn.14004c5c0
movss xmm0, dword [rbp + 0x2b0]
ucomiss xmm0, xmm14
jp 0x14004a956
jne 0x14004a956
mov rdx, qword [0x1400cb1c0]
add rdx, r14
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x50], rdx
lea rax, [rbp + 0x2c0]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x48], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x44], eax
lea r8, [rbp - 0x60]
mov edx, 1
call fcn.14004c5c0
mov r15, qword [rbp + 0x2c0]
mov rdx, qword [0x1400cb1d0]
add rdx, qword [0x1400ccb30]
mov dword [rbp + 0x2b8], esi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp], eax
mov qword [rbp + 0x10], rdx
lea rax, [rbp + 0x2b8]
mov qword [rbp + 8], rax
mov dword [rbp + 0x18], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1c], eax
lea r8, [rbp]
mov edx, 1
call fcn.14004c5c0
mov r13d, dword [rbp + 0x2b8]
mov rdx, qword [0x1400cb170]
add rdx, r14
mov qword [rbp + 0x2c0], rsi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x50], rdx
lea rax, [rbp + 0x2c0]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x48], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x44], eax
lea r8, [rbp - 0x60]
mov edx, 1
call fcn.14004c5c0
mov rdx, qword [rbp + 0x2c0]
add rdx, qword [0x1400cb1d0]
mov dword [rbp + 0x2b8], esi
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp], eax
mov qword [rbp + 0x10], rdx
lea rax, [rbp + 0x2b8]
mov qword [rbp + 8], rax
mov dword [rbp + 0x18], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x1c], eax
lea r8, [rbp]
mov edx, 1
call fcn.14004c5c0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rsi
mov rcx, qword [0x1400cd090]
sub rcx, qword [0x1400cd088]
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004a8ea
movabs rax, 0xaaaaaaaaaaaaaaa
cmp rdx, rax
ja 0x14004aec5
lea rax, [rdx + rdx*2]
lea rbx, [rax*8]
cmp rbx, 0x1000
jb 0x14004a87b
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14004af68
call fcn.1400a2a5c
test rax, rax
je 0x14004adf3
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14004a88f
test rbx, rbx
je 0x14004a88d
mov rcx, rbx
call fcn.1400a2a5c
mov rdi, rax
jmp 0x14004a88f
xor edi, edi
mov qword [rbp + 0x40], rdi
lea rsi, [rdi + rbx]
mov qword [rbp + 0x50], rsi
mov rdx, qword [0x1400cd088]
mov rbx, qword [0x1400cd090]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
lea rcx, [rdi + rax*8]
mov qword [rbp + 0x48], rcx
movabs rbx, 0x2aaaaaaaaaaaaaab
jmp 0x14004a8ee
mov rdi, qword [rbp + 0x40]
cmp r13d, dword [rbp + 0x2b8]
jne 0x14004a9be
test rdi, rdi
je 0x14004a94c
mov rax, rbx
sub rsi, rdi
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x14004a944
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004adf3
mov rcx, rdi
call fcn.1400a24cc
mov r15, qword [rbp - 0x70]
xor esi, esi
mov rdi, qword [rbp - 0x68]
inc r12d
cmp r12d, dword [rbp - 0x40]
jb 0x14004a600
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14004ae09
test r15, r15
je 0x14004adfa
mov ecx, dword [reloc.XINPUT1_4.dll_Ordinal_2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14004a9b1
mov rbx, qword [0x1400ccc58]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov rdx, rbx
mov ecx, dword [rbx + 0x10]
call sub.XINPUT1_4.dll_Ordinal_2
mov rax, qword [rbx]
shr rax, 0x30
test al, al
je 0x14004ae09
mov rcx, r15
call fcn.140048e90
jmp 0x14004ae09
cmp r14, qword [0x1400ccb28]
je 0x14004a8fb
mov r8d, 0x44
mov rdx, r15
lea rcx, [rbp - 0x30]
call fcn.14004af70
mov rdx, qword [0x1400cb1e8]
add rdx, qword [0x1400ccb40]
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
movsd qword [rbp + 0x68], xmm15
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp + 0xd0], eax
mov qword [rbp + 0xe0], rdx
lea rax, [rbp + 0x58]
mov qword [rbp + 0xd8], rax
mov dword [rbp + 0xe8], Ordinal_32
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0xec], eax
lea r8, [rbp + 0xd0]
mov edx, 1
call fcn.14004c5c0
movups xmm0, xmmword [rbp + 0x58]
movups xmmword [0x1400cd060], xmm0
movsd xmm0, qword [rbp + 0x68]
movsd qword [0x1400cd070], xmm0
cmp byte [0x1400cca54], 0
jne 0x14004aa6b
cmp r14, qword [0x1400cca60]
je 0x14004a8fb
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.14004af70
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rbp + 0x30]
movsd qword [rbp - 0x50], xmm1
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x150]
call fcn.14004c1c0
mov r8d, 0x43
mov rdx, r15
lea rcx, [rbp + 0x168]
call fcn.14004af70
movsd xmm0, qword [rbp + 0x100]
addsd xmm0, xmm13
cvtpd2ps xmm3, xmm0
movsd xmm2, qword [rbp + 0xf8]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0xf0]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movsd qword [rbp + 0x20], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp + 0x28], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xf0]
call fcn.14004c1c0
movsd xmm9, qword [rbp - 0x20]
movaps xmm0, xmm9
addsd xmm0, qword [0x1400acec8]
cvtpd2ps xmm3, xmm0
movsd xmm7, qword [rbp - 0x28]
cvtpd2ps xmm2, xmm7
movsd xmm6, qword [rbp - 0x30]
cvtpd2ps xmm0, xmm6
cvtps2pd xmm1, xmm0
movsd qword [rbp - 0x30], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp - 0x28], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x108]
call fcn.14004c1c0
mov r8d, 0xa
mov rdx, r15
lea rcx, [rbp + 0x70]
call fcn.14004af70
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.14004af70
movaps xmm8, xmm6
unpcklpd xmm8, xmm7
movaps xmmword [rbp - 0x60], xmm8
movsd qword [rbp - 0x50], xmm9
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x120]
call fcn.14004c1c0
mov rdx, qword [0x1400cb190]
add rdx, r15
mov dword [rbp + 0x2c0], 0
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x50], rdx
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 4
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14004c5c0
movss xmm6, dword [rbp + 0x2c0]
mov rdx, qword [0x1400cb198]
add rdx, r15
mov dword [rbp + 0x2c8], 0
mov rcx, qword [0x1400ccf30]
mov eax, dword [rcx]
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x80], rdx
lea rax, [rbp + 0x2c8]
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x88], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x8c], eax
lea r8, [rbp + 0x70]
mov edx, 1
call fcn.14004c5c0
movss xmm0, dword [rbp + 0x2c8]
addss xmm0, dword [0x1400acea0]
comiss xmm0, xmm6
setae bl
movsd xmm7, qword [rbp + 0x110]
movaps xmm0, xmm7
subsd xmm0, qword [rbp + 0x158]
andps xmm0, xmmword [0x1400aafb0]
cvtpd2ps xmm10, xmm0
cvtps2pd xmm0, xmm10
mulsd xmm0, qword [0x1400acea8]
cvtpd2ps xmm6, xmm0
movaps xmmword [rbp - 0x30], xmm8
movsd qword [rbp - 0x20], xmm9
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.14004c1c0
cmp byte [0x1400cca53], 0
je 0x14004acf3
mov dword [rbp + 0x2c0], 0xff000000
cvttss2si r9d, xmm10
cvttss2si r8d, xmm6
cvttsd2si edx, xmm7
mulss xmm6, xmm12
cvtps2pd xmm0, xmm6
movsd xmm1, qword [rbp + 0x108]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x20], rax
call fcn.140049220
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14004ad8f
test bl, bl
je 0x14004ad8f
mov eax, dword [0x1400ccbf8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x120]
subsd xmm2, xmm0
mov eax, dword [0x1400ccbfc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x128]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14004ad67
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x14004ad6f
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x1400cb294]
comiss xmm1, xmm0
jbe 0x14004ad8f
comiss xmm11, xmm0
jbe 0x14004ad8f
movaps xmm11, xmm0
mov r15, r14
mov qword [rbp - 0x70], r14
jmp 0x14004ad93
mov r15, qword [rbp - 0x70]
movabs rbx, 0x2aaaaaaaaaaaaaab
test rdi, rdi
je 0x14004a950
sub rsi, rdi
mov rax, rbx
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x14004ade6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004adf3
mov rcx, rdi
call fcn.1400a24cc
jmp 0x14004a950
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov byte [0x1400cca52], 0
xor ecx, ecx
call fcn.140048b60
nop
mov r8, qword [rbp + 0x138]
test r8, r8
je 0x14004ae72
mov rcx, qword [rbp + 0x148]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x14004ae6a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ae6a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1400a24cc
lea r11, [rsp + 0x368]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14004cc80
nop
lea rcx, [0x1400cd0a8]
call fcn.1400a27cc
cmp dword [0x1400cd0a8], 0xffffffff
jne 0x140049ca0
call fcn.140021080
movss xmm0, dword [rax + 8]
movss dword [0x1400cd0a0], xmm0
movss xmm1, dword [rax + 0xc]
movss dword [0x1400cd0a4], xmm1
lea rcx, [0x1400cd0a8]
call fcn.1400a2760
jmp 0x140049ca0
lea rcx, [0x1400cd0b8]
call fcn.1400a27cc
cmp dword [0x1400cd0b8], 0xffffffff
jne 0x140049cb8
movss xmm1, dword [0x1400cd0a4]
mulss xmm1, xmm12
movss xmm0, dword [0x1400cd0a0]
mulss xmm0, xmm12
movss dword [0x1400cd0b0], xmm0
movss dword [0x1400cd0b4], xmm1
lea rcx, [0x1400cd0b8]
call fcn.1400a2760
jmp 0x140049cb8
call fcn.140002630
int3