Function at 0x1400ff640
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
movss dword [rsp + 0x10], xmm1
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x338
mov rax, qword [0x140211040]
xor rax, rsp
mov qword [rsp + 0x320], rax
cmp qword [rsp + 0x378], 0
je 0x1400ff89b
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213d00]
call fcn.1401057b0
movzx eax, byte [rax]
test eax, eax
jne 0x1400ff89b
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7ca0]
lea rcx, [rsp + 0x2d8]
call fcn.1400251a0
lea rcx, [0x140213b80]
call fcn.14002b160
mov qword [rsp + 0x38], rax
mov r8, qword [rsp + 0x38]
lea rdx, [rsp + 0x2d8]
lea rcx, [rsp + 0x1d8]
call fcn.140105f20
nop
xor r8d, r8d
mov rax, qword [rsp + 0x360]
movzx edx, byte [rax]
lea rcx, [rsp + 0x120]
call fcn.140107d80
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xc0], rax
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0xc0]
lea rdx, [rsp + 0x1d8]
lea rcx, [0x140213b80]
call fcn.140105c40
nop
lea rcx, [rsp + 0x120]
call fcn.140105e50
nop
cmp qword [rsp + 0x370], 0
je 0x1400ff7c3
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7cd0]
lea rcx, [rsp + 0x2f0]
call fcn.1400251a0
mov r8, qword [rsp + 0x38]
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x1e8]
call fcn.140105f20
nop
mov rcx, qword [rsp + 0x370]
call fcn.1400fdc50
mov r9, qword [rsp + 0x38]
mov r8d, eax
lea rdx, [rsp + 0x1e8]
lea rcx, [0x140213b80]
call fcn.140107de0
nop
lea rcx, [rsp + 0x1e8]
call fcn.140105e50
nop
cmp qword [rsp + 0x368], 0
je 0x1400ff876
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7cc0]
lea rcx, [rsp + 0x308]
call fcn.1400251a0
mov r8, qword [rsp + 0x38]
lea rdx, [rsp + 0x308]
lea rcx, [rsp + 0x1f8]
call fcn.140105f20
nop
mov rax, qword [rsp + 0x368]
mov edx, dword [rax]
lea rcx, [rsp + 0x130]
call fcn.140105fd0
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x108], rax
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x108]
lea rdx, [rsp + 0x1f8]
lea rcx, [0x140213b80]
call fcn.140105c40
nop
lea rcx, [rsp + 0x130]
call fcn.140105e50
nop
lea rcx, [rsp + 0x1f8]
call fcn.140105e50
nop
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213d00]
call fcn.1401057b0
mov byte [rax], 1
lea rcx, [rsp + 0x1d8]
call fcn.140105e50
nop
cmp qword [rsp + 0x378], 0
je 0x1400ff974
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c58]
call fcn.1401057b0
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x360]
movzx ecx, byte [rcx]
cmp eax, ecx
je 0x1400ff974
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7cf0]
lea rcx, [rsp + 0x248]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x248]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ff94a
lea rdx, [rsp + 0x248]
lea rcx, [0x140213b80]
call fcn.140107d00
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x360]
movzx eax, byte [rax]
mov byte [rsp + 0x31], al
movzx edx, byte [rsp + 0x31]
mov rcx, qword [rsp + 0x110]
call fcn.140105dd0
nop
mov rax, qword [rsp + 0x360]
movzx eax, byte [rax]
mov byte [rsp + 0x32], al
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c58]
call fcn.1401057b0
movzx ecx, byte [rsp + 0x32]
mov byte [rax], cl
cmp qword [rsp + 0x378], 0
je 0x1400ffa54
cmp qword [rsp + 0x368], 0
je 0x1400ffa54
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213bf0]
call fcn.140105710
mov rcx, qword [rsp + 0x368]
mov ecx, dword [rcx]
cmp dword [rax], ecx
je 0x1400ffa54
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7ce0]
lea rcx, [rsp + 0x2c0]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x2c0]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ffa2c
lea rdx, [rsp + 0x2c0]
lea rcx, [0x140213b80]
call fcn.140107d00
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x368]
mov eax, dword [rax]
mov dword [rsp + 0x68], eax
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
call fcn.140105bd0
nop
mov rax, qword [rsp + 0x368]
mov eax, dword [rax]
mov dword [rsp + 0x6c], eax
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213bf0]
call fcn.140105710
mov ecx, dword [rsp + 0x6c]
mov dword [rax], ecx
cmp qword [rsp + 0x378], 0
je 0x1400ffb3c
cmp qword [rsp + 0x370], 0
je 0x1400ffb3c
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c68]
call fcn.140105710
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x370]
call fcn.1400fdc50
mov rcx, qword [rsp + 0xb0]
cmp dword [rcx], eax
je 0x1400ffb3c
mov rcx, qword [rsp + 0x370]
call fcn.1400fdc50
mov dword [rsp + 0x40], eax
mov r8, qword [rsp + 0x378]
lea rdx, [0x1401f7d10]
lea rcx, [rsp + 0x260]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x260]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ffb22
lea rdx, [rsp + 0x260]
lea rcx, [0x140213b80]
call fcn.140107d00
mov qword [rsp + 0xb8], rax
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0xb8]
call fcn.140105b80
nop
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c68]
call fcn.140105710
mov ecx, dword [rsp + 0x40]
mov dword [rax], ecx
cmp qword [rsp + 0x378], 0
je 0x1400ffbb1
movzx eax, byte [rsp + 0x380]
test eax, eax
je 0x1400ffbb1
mov r8, qword [rsp + 0x378]
lea rdx, str._s_Checked
lea rcx, [rsp + 0x278]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x278]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ffbb1
lea rdx, [rsp + 0x278]
lea rcx, [0x140213b80]
call fcn.140107d00
mov rcx, rax
call fcn.140105e20
mov rcx, qword [rsp + 0x360]
mov byte [rcx], al
cmp qword [rsp + 0x378], 0
je 0x1400ffc31
cmp qword [rsp + 0x368], 0
je 0x1400ffc31
movzx eax, byte [rsp + 0x380]
test eax, eax
je 0x1400ffc31
mov r8, qword [rsp + 0x378]
lea rdx, str._s_keyBind
lea rcx, [rsp + 0x290]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x290]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ffc31
lea rdx, [rsp + 0x290]
lea rcx, [0x140213b80]
call fcn.140107d00
mov rcx, rax
call fcn.14005a450
mov rcx, qword [rsp + 0x368]
mov dword [rcx], eax
cmp qword [rsp + 0x378], 0
je 0x1400ffcd0
cmp qword [rsp + 0x370], 0
je 0x1400ffcd0
movzx eax, byte [rsp + 0x380]
test eax, eax
je 0x1400ffcd0
mov r8, qword [rsp + 0x378]
lea rdx, str._s_Color
lea rcx, [rsp + 0x2a8]
call fcn.1400251a0
nop
lea rdx, [rsp + 0x2a8]
lea rcx, [0x140213b80]
call fcn.140105cc0
movzx eax, al
test eax, eax
je 0x1400ffcd0
lea rdx, [rsp + 0x2a8]
lea rcx, [0x140213b80]
call fcn.140107d00
mov rcx, rax
call fcn.14005a450
mov edx, eax
lea rcx, [rsp + 0x140]
call fcn.1400fde60
mov rdi, qword [rsp + 0x370]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
call fcn.1400928f0
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.1400988b0
movss xmm0, dword [rsp + 0x174]
addss xmm0, dword [0x1401fd62c]
movss dword [rsp + 0x70], xmm0
mov ecx, 0xffffffff
call fcn.1400d4570
movss xmm1, dword [rsp + 0x170]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x70]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rsp + 0x1b0]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd67c]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x370000
or eax, 0x2a00
or eax, 0x20
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x1401fd5ac]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x74]
lea r8, [rsp + 0x1b0]
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x60]
call fcn.1400b9ad0
movss xmm0, dword [rsp + 0x174]
addss xmm0, dword [0x1401fd5e0]
movss xmm1, dword [rsp + 0x170]
addss xmm1, dword [0x1401fd6a4]
movaps xmm2, xmm0
lea rcx, [rsp + 0x180]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x174]
addss xmm0, dword [0x1401fd628]
movss xmm1, dword [rsp + 0x170]
addss xmm1, dword [0x1401fd6ac]
movaps xmm2, xmm0
lea rcx, [rsp + 0x178]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xf0000
or eax, 0x700
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x1401fd5f8]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x78]
lea r8, [rsp + 0x178]
lea rdx, [rsp + 0x180]
mov rcx, qword [rsp + 0x60]
call fcn.1400b9ad0
nop
mov r8b, 1
lea rdx, [rsp + 0x178]
lea rcx, [rsp + 0x180]
call fcn.1400945f0
movzx eax, al
test eax, eax
je 0x1400ffeae
xor edx, edx
xor ecx, ecx
call fcn.140094350
movzx eax, al
test eax, eax
je 0x1400ffeae
mov rax, qword [rsp + 0x360]
movzx eax, byte [rax]
test eax, eax
jne 0x1400ffe97
mov dword [rsp + 0x44], 1
jmp 0x1400ffe9f
mov dword [rsp + 0x44], 0
mov rax, qword [rsp + 0x360]
movzx ecx, byte [rsp + 0x44]
mov byte [rax], cl
mov rax, qword [rsp + 0x360]
movzx eax, byte [rax]
test eax, eax
je 0x1400ffecd
movss xmm0, dword [0x1401fd750]
movss dword [rsp + 0x48], xmm0
jmp 0x1400ffedb
movss xmm0, dword [0x1401fd5f4]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x48]
movss dword [rsp + 0x7c], xmm0
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c48]
call fcn.140105840
movss xmm2, dword [0x1401fd3bc]
movss xmm1, dword [rsp + 0x7c]
movss xmm0, dword [rax]
call fcn.1400a7f70
movss dword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c48]
call fcn.140105840
movss xmm0, dword [rsp + 0x80]
movss dword [rax], xmm0
mov rax, qword [rsp + 0x360]
movzx eax, byte [rax]
test eax, eax
je 0x1400fff8c
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401fd498]
movss xmm2, dword [0x1401fd420]
xorps xmm1, xmm1
lea rcx, [rsp + 0x150]
call fcn.140013470
mov qword [rsp + 0x98], rax
jmp 0x1400fffd0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401fd448]
movss xmm2, dword [0x1401fd448]
movss xmm1, dword [0x1401fd448]
lea rcx, [rsp + 0x160]
call fcn.140013470
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xc8]
call fcn.14007f640
mov dword [rsp + 0x8c], eax
movss xmm0, dword [rsp + 0x184]
addss xmm0, dword [rsp + 0x17c]
mulss xmm0, dword [0x1401fd444]
movss dword [rsp + 0x88], xmm0
movss xmm1, dword [rsp + 0x180]
addss xmm1, dword [rsp + 0x178]
mulss xmm1, dword [0x1401fd444]
movss dword [rsp + 0x84], xmm1
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213c48]
call fcn.140105840
movss xmm0, dword [rsp + 0x84]
subss xmm0, dword [rax]
movss xmm1, dword [rsp + 0x88]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rsp + 0x1c8]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x178]
subss xmm0, dword [rsp + 0x180]
mulss xmm0, dword [0x1401fd3e8]
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x8c]
movaps xmm2, xmm0
lea rdx, [rsp + 0x1c8]
mov rcx, qword [rsp + 0x60]
call fcn.1400b9f50
nop
cmp qword [rsp + 0x368], 0
je 0x14010069e
call fcn.140084470
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213ce0]
call fcn.140105630
mov rcx, qword [rsp + 0x360]
mov qword [rax], rcx
mov rax, qword [rsp + 0x368]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov rdx, qword [rsp + 0x350]
lea rcx, [0x140213ce0]
call fcn.140105630
mov ecx, dword [rsp + 0x90]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x30]
add rax, 0x58
mov qword [rsp + 0xd0], rax
mov edx, 4
mov rcx, qword [rsp + 0xd0]
call fcn.1400a6310
mov rcx, qword [rax]
call fcn.140091b00
lea rax, [0x1401f7d4c]
mov qword [rsp + 0xa0], rax
movss xmm0, dword [0x1401fd73c]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x190]
call fcn.1400879b0
lea rcx, [rsp + 0x198]
call fcn.1400988b0
movss xmm0, dword [rsp + 0x19c]
addss xmm0, dword [0x1401fd5e0]
movss xmm1, dword [rsp + 0x198]
addss xmm1, dword [0x1401fd6a4]
subss xmm1, dword [rsp + 0x190]
movaps xmm2, xmm0
lea rcx, [rsp + 0x188]
call fcn.1400133f0
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x1b8], rax
movss xmm0, dword [rsp + 0x18c]
addss xmm0, dword [rsp + 0x194]
movss xmm1, dword [rsp + 0x188]
addss xmm1, dword [rsp + 0x190]
movaps xmm2, xmm0
lea rcx, [rsp + 0x1d0]
call fcn.1400133f0
mov r8b, 1
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x1b8]
call fcn.1400945f0
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140100265
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xcc0000
or eax, 0x6600
mov dword [rsp + 0x4c], eax
jmp 0x140100291
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xff0000
or eax, 0xff00
or eax, 0xff
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x94], eax
call fcn.1400928f0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x94]
lea rdx, [rsp + 0x188]
mov rcx, qword [rsp + 0xd8]
call fcn.1400ba2a0
call fcn.140091b90
mov r8, qword [rsp + 0x350]
lea rdx, str.KeyBind
lea rcx, [rsp + 0x228]
call fcn.14003c360
nop
lea rcx, [rsp + 0x228]
call fcn.14002b170
mov rcx, rax
call fcn.140092f40
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140100355
cmp dword [0x140212b04], 0
jne 0x140100355
xor edx, edx
xor ecx, ecx
call fcn.140094350
movzx eax, al
test eax, eax
je 0x140100355
lea rcx, [rsp + 0x228]
call fcn.14002b170
xor edx, edx
mov rcx, rax
call fcn.14009ab50
mov eax, dword [rsp + 0x50]
mov dword [0x140212b04], eax
lea rcx, [rsp + 0x228]
call fcn.14002b170
xor edx, edx
mov rcx, rax
call fcn.14009b450
movzx eax, al
test eax, eax
je 0x14010067a
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xcc0000
or eax, 0x6600
mov edx, eax
xor ecx, ecx
call fcn.1400803c0
lea rcx, str.Press_a_key_to_bind
call fcn.1400d70b0
mov ecx, 1
call fcn.1400805b0
nop
movzx eax, byte [0x140212987]
test eax, eax
je 0x140100503
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xff0000
or eax, 0xff00
or eax, 0xff
mov edx, eax
xor ecx, ecx
call fcn.1400803c0
lea rcx, [0x1401f7d50]
call fcn.1400d70b0
mov ecx, 1
call fcn.1400805b0
nop
mov dword [rsp + 0x34], 0
jmp 0x140100425
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0x29a
jge 0x1401004d6
mov ecx, 4
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14010045a
mov rax, qword [rsp + 0x368]
mov dword [rax], 0x291
mov byte [0x140212987], 0
jmp 0x1401004d6
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140100481
mov rax, qword [rsp + 0x368]
mov dword [rax], 0x293
mov byte [0x140212987], 0
jmp 0x1401004d6
mov ecx, 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401004a8
mov rax, qword [rsp + 0x368]
mov dword [rax], 0x292
mov byte [0x140212987], 0
jmp 0x1401004d6
mov dl, 1
mov ecx, dword [rsp + 0x34]
call fcn.140093f90
movzx eax, al
test eax, eax
je 0x1401004d1
mov rax, qword [rsp + 0x368]
mov ecx, dword [rsp + 0x34]
mov dword [rax], ecx
mov byte [0x140212987], 0
jmp 0x1401004d6
jmp 0x14010041b
mov dl, 1
mov ecx, 0x20e
call fcn.140093f90
movzx eax, al
test eax, eax
je 0x1401004fe
mov rax, qword [rsp + 0x368]
mov dword [rax], 0
mov byte [0x140212987], 0
jmp 0x140100672
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xff0000
or eax, 0xff00
or eax, 0xff
mov edx, eax
xor ecx, ecx
call fcn.1400803c0
nop
mov rax, qword [rsp + 0x368]
cmp dword [rax], 0
je 0x140100563
mov rax, qword [rsp + 0x368]
mov ecx, dword [rax]
call fcn.140093110
mov rdx, rax
lea rcx, str.Current_Key:__s
call fcn.1400d70b0
nop
jmp 0x140100570
lea rcx, str.No_Key_Bound
call fcn.1400d70b0
nop
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xcc0000
or eax, 0x6600
mov edx, eax
mov ecx, reloc.WS2_32.dll_setsockopt
call fcn.1400803c0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xff0000
or eax, 0x7a00
mov edx, eax
mov ecx, reloc.WLDAP32.dll_Ordinal_22
call fcn.1400803c0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si rax, xmm0
shl eax, 0x18
or eax, 0xcc0000
or eax, 0x5c00
mov edx, eax
mov ecx, reloc.WS2_32.dll_socket
call fcn.1400803c0
movss xmm2, dword [0x1401fd5dc]
movss xmm1, dword [0x1401fd5f8]
lea rcx, [rsp + 0x1c0]
call fcn.1400133f0
lea rdx, [rsp + 0x1c0]
mov ecx, ntohs
call fcn.140080730
nop
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x118]
call fcn.1400133f0
mov rdx, rax
lea rcx, str.Set_Key_Bind
call fcn.1400d8130
movzx eax, al
test eax, eax
je 0x14010065d
mov byte [0x140212987], 1
mov ecx, 1
call fcn.1400807e0
mov ecx, 4
call fcn.1400805b0
nop
call fcn.14009b4e0
nop
jmp 0x140100690
mov eax, dword [rsp + 0x50]
cmp dword [0x140212b04], eax
jne 0x140100690
mov dword [0x140212b04], 0
lea rcx, [rsp + 0x228]
call fcn.140019600
nop
cmp qword [rsp + 0x370], 0
je 0x1401008a5
movss xmm0, dword [rsp + 0x174]
addss xmm0, dword [0x1401fd5e0]
addss xmm0, dword [0x1401fd4ec]
movss xmm1, dword [rsp + 0x170]
addss xmm1, dword [0x1401fd690]
addss xmm1, dword [0x1401fd4ec]
movaps xmm2, xmm0
lea rcx, [rsp + 0x1a8]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x174]
addss xmm0, dword [0x1401fd628]
subss xmm0, dword [0x1401fd4ec]
movss xmm1, dword [rsp + 0x170]
addss xmm1, dword [0x1401fd698]
subss xmm1, dword [0x1401fd4ec]
movaps xmm2, xmm0
lea rcx, [rsp + 0x1a0]
call fcn.1400133f0
mov rax, qword [rsp + 0x370]
movss xmm0, dword [rsp + 0x358]
movss dword [rax + 0xc], xmm0
mov rcx, qword [rsp + 0x370]
call fcn.14007f640
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x1401fd5dc]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x54]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x1a8]
mov rcx, qword [rsp + 0x60]
call fcn.1400b9ad0
mov r8, qword [rsp + 0x350]
lea rdx, str.Picker
lea rcx, [rsp + 0x208]
call fcn.14003c360
nop
lea rcx, [rsp + 0x208]
call fcn.14002b170
mov rcx, rax
call fcn.140092f40
mov dword [rsp + 0x58], eax
cmp dword [0x140212b04], 0
jne 0x14010081c
mov r8b, 1
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x1a8]
call fcn.1400945f0
movzx eax, al
test eax, eax
je 0x14010081c
xor edx, edx
xor ecx, ecx
call fcn.140094350
movzx eax, al
test eax, eax
je 0x14010081c
lea rcx, [rsp + 0x208]
call fcn.14002b170
xor edx, edx
mov rcx, rax
call fcn.14009ab50
mov eax, dword [rsp + 0x58]
mov dword [0x140212b04], eax
lea rcx, [rsp + 0x208]
call fcn.14002b170
xor edx, edx
mov rcx, rax
call fcn.14009b450
movzx eax, al
test eax, eax
je 0x140100881
lea rcx, str.Pick_a_color:
call fcn.1400d70b0
nop
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x370]
lea rcx, str.picker
call fcn.1400e7eb0
movzx eax, al
test eax, eax
je 0x140100879
mov rcx, qword [rsp + 0x370]
call fcn.14007f640
mov dword [rsp + 0x54], eax
call fcn.14009b4e0
nop
jmp 0x140100897
mov eax, dword [rsp + 0x58]
cmp dword [0x140212b04], eax
jne 0x140100897
mov dword [0x140212b04], 0
lea rcx, [rsp + 0x208]
call fcn.140019600
nop
mov rcx, qword [rsp + 0x350]
call fcn.14002b170
mov qword [rsp + 0xe0], rax
call fcn.140092910
movss xmm1, dword [rsp + 0x1b4]
subss xmm1, dword [rsp + 0x174]
subss xmm1, xmm0
movaps xmm0, xmm1
divss xmm0, dword [0x1401fd540]
movss xmm1, dword [rsp + 0x174]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x170]
addss xmm1, dword [0x1401fd5f8]
movaps xmm2, xmm0
lea rcx, [rsp + 0xe8]
call fcn.1400133f0
movss xmm0, dword [rsp + 0x358]
mulss xmm0, dword [0x1401fd6a0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xff0000
or eax, 0xff00
or eax, 0xff
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0xe0]
mov r8d, eax
lea rdx, [rsp + 0xe8]
mov rcx, qword [rsp + 0x60]
call fcn.1400ba2a0
nop
call fcn.140098970
addss xmm0, dword [0x1401fd634]
call fcn.140098a70
nop
mov rcx, qword [rsp + 0x320]
xor rcx, rsp
call fcn.140165580
add rsp, 0x338
pop rdi
pop rsi
ret