Function at 0x140046938
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0xa88
mov rax, qword [0x140114b80]
xor rax, rsp
mov qword [rsp + 0xa70], rax
mov eax, 0x264
mov eax, eax
mov ecx, dword [0x1401164b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x140116208], eax
jle 0x1400469aa
lea rcx, [0x140116208]
call fcn.1400c6f1c
cmp dword [0x140116208], 0xffffffff
jne 0x1400469aa
call fcn.140008ce0
mov rax, qword [rax + 8]
mov qword [0x140116200], rax
lea rcx, [0x140116208]
call fcn.1400c6eb0
mov eax, 0x264
mov eax, eax
mov ecx, dword [0x1401164b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x140116218], eax
jle 0x140046a20
lea rcx, [0x140116218]
call fcn.1400c6f1c
cmp dword [0x140116218], 0xffffffff
jne 0x140046a20
movss xmm0, dword [0x140116204]
divss xmm0, dword [0x1400ce378]
movss xmm1, dword [0x140116200]
divss xmm1, dword [0x1400ce378]
movaps xmm2, xmm0
lea rcx, [0x140116210]
call fcn.140041218
nop
lea rcx, [0x140116218]
call fcn.1400c6eb0
cmp qword [0x140115d10], 0
je 0x140046a2c
jmp 0x140046a36
mov dword [0x1401132e8], 0x960
movzx eax, byte [0x140115ce0]
test eax, eax
je 0x140046b6c
call fcn.140009034
mov qword [rsp + 0x1f0], rax
cvtsi2ss xmm0, dword [0x140115cf4]
movss dword [rsp + 0x144], xmm0
mov eax, dword [0x140115cf8]
shl eax, 8
mov ecx, dword [0x1401131f4]
shl ecx, 0x10
or ecx, 0xff000000
or ecx, eax
mov eax, ecx
or eax, dword [0x1401131f8]
mov dword [rsp + 0x148], eax
mov eax, dword [0x1401131ec]
mov ecx, dword [0x140115d6c]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x1401131ec]
mov ecx, dword [0x140115d68]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x368]
call fcn.140041218
mov qword [rsp + 0x1e0], rax
mov eax, dword [0x1401131ec]
mov ecx, dword [0x140115d6c]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x1401131ec]
mov ecx, dword [0x140115d68]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x360]
call fcn.140041218
mov qword [rsp + 0x1e8], rax
movss xmm0, dword [0x1400ce370]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], reloc.WS2_32.dll_ntohs
movss xmm0, dword [rsp + 0x144]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x148]
mov r8, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
call fcn.1400138c0
mov byte [rsp + 0x6c], 0
mov byte [rsp + 0x68], 0
call fcn.140008ce0
movss xmm0, dword [rax + 0x3ac]
movss dword [rsp + 0x158], xmm0
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140046cbe
call fcn.140009034
mov qword [rsp + 0x228], rax
cvttss2si eax, dword [rsp + 0x158]
mov edx, eax
lea rcx, [rsp + 0x548]
call fcn.14005f864
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x200], rax
mov r8, qword [rsp + 0x200]
lea rdx, str.FREE_dsg.gg_abdiservices__n_nFPS___
lea rcx, [rsp + 0x528]
call fcn.14002c55c
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x210], rax
mov rcx, qword [rsp + 0x210]
call fcn.14004fa0c
mov qword [rsp + 0x218], rax
mov dword [rsp + 0x20], __WSAFDIsSet
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x430]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0x15c], eax
movss xmm2, dword [0x1400ce394]
movss xmm1, dword [0x1400ce4a0]
lea rcx, [rsp + 0x358]
call fcn.140041218
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x218]
mov r8d, dword [rsp + 0x15c]
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
call fcn.140013a7c
nop
lea rcx, [rsp + 0x528]
call fcn.1400425b4
nop
lea rcx, [rsp + 0x548]
call fcn.1400425b4
movzx eax, byte [0x140115c94]
test eax, eax
je 0x140046ea1
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140046dd2
mov eax, dword [0x1401132f0]
mov dword [rsp + 0x308], eax
mov eax, dword [0x1401132f4]
mov dword [rsp + 0x30c], eax
mov eax, dword [0x1401132f8]
mov dword [rsp + 0x310], eax
mov eax, dword [0x1401132fc]
mov dword [rsp + 0x314], eax
lea rcx, [rsp + 0x5b0]
call fcn.140040044
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x5b0]
call fcn.140059274
mov eax, dword [rsp + 0x4cc]
shl eax, 0x18
mov ecx, dword [rsp + 0x4c8]
shl ecx, 0x10
or eax, ecx
mov ecx, dword [rsp + 0x4c4]
shl ecx, 8
or eax, ecx
or eax, dword [rsp + 0x4c0]
mov dword [rsp + 0xb0], eax
call fcn.140009034
mov qword [rsp + 0x230], rax
cvtsi2ss xmm0, dword [0x1401131d8]
movss dword [rsp + 0x160], xmm0
cvtsi2ss xmm0, dword [0x1401131ec]
movss dword [rsp + 0xb4], xmm0
movss xmm0, dword [rsp + 0x160]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0xb0]
movss xmm2, dword [rsp + 0xb4]
lea rdx, [0x140116210]
mov rcx, qword [rsp + 0x230]
call fcn.14001194c
jmp 0x140046e92
call fcn.140009034
mov qword [rsp + 0x240], rax
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x440]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0xb8], eax
cvtsi2ss xmm0, dword [0x1401131ec]
movss dword [rsp + 0xbc], xmm0
mov eax, dword [0x140115d6c]
cvtsi2ss xmm0, rax
mov eax, dword [0x140115d68]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x370]
call fcn.140041218
mov qword [rsp + 0x238], rax
movss xmm0, dword [0x1400ce378]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0xb8]
movss xmm2, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x240]
call fcn.14001194c
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x6a], 0
mov byte [rsp + 0x6b], 0
movzx eax, byte [0x140115ce3]
test eax, eax
je 0x140046ff9
call fcn.140009034
mov qword [rsp + 0x250], rax
cvtsi2ss xmm0, dword [0x1401131d8]
movss dword [rsp + 0xc0], xmm0
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x450]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0xc4], eax
cvtsi2ss xmm0, dword [0x1401131ec]
movss dword [rsp + 0xc8], xmm0
mov eax, dword [0x140115d6c]
cvtsi2ss xmm0, rax
mov eax, dword [0x140115d68]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x330]
call fcn.140041218
mov qword [rsp + 0x248], rax
movss xmm0, dword [rsp + 0xc0]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0xc4]
movss xmm2, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x250]
call fcn.14001194c
call fcn.140009034
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x20], WSACleanup
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x460]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0xcc], eax
cvtsi2ss xmm0, dword [0x1401131ec]
movss dword [rsp + 0xd0], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0xcc]
movss xmm2, dword [rsp + 0xd0]
lea rdx, [0x140116210]
mov rcx, qword [rsp + 0x258]
call fcn.1400119f4
cmp dword [0x140115cec], 0
jne 0x14004700e
mov dword [0x140115ce8], 0x6d
jmp 0x14004704b
cmp dword [0x140115cec], 1
jne 0x140047023
mov dword [0x140115ce8], 0x42
jmp 0x14004704b
cmp dword [0x140115cec], 2
jne 0x140047038
mov dword [0x140115ce8], 0x25
jmp 0x14004704b
cmp dword [0x140115cec], 3
jne 0x14004704b
mov dword [0x140115ce8], 2
movzx eax, byte [0x140115cd9]
test eax, eax
je 0x140047071
mov rax, qword [0x140115d30]
add rax, 0x64
movss xmm1, dword [0x1400ce3cc]
mov rcx, rax
call fcn.14003e13c
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14004753c
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0xa8], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xa8]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xac]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xac]
cdq
sub eax, edx
sar eax, 1
cdq
mov ecx, reloc.WLDAP32.dll_Ordinal_30
idiv ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
cdq
idiv dword [rsp + 0x4c]
mov ecx, eax
call fcn.140033674
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x54], xmm0
mov eax, dword [0x14011621c]
inc eax
mov dword [0x14011621c], eax
mov eax, dword [0x14011621c]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x44], 0
cmp dword [rsp + 0x44], 4
jge 0x14004753c
lea rcx, [rsp + 0x168]
call fcn.14003fe08
nop
cvtsi2ss xmm0, dword [rsp + 0x4c]
movss dword [rsp + 0xd4], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm0, xmm1
call fcn.14004a310
call fcn.14005e9a4
movss xmm1, dword [rsp + 0xd4]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0xd8], eax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x168]
call fcn.1400591b8
cvtsi2ss xmm0, dword [rsp + 0x4c]
movss dword [rsp + 0xdc], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm0, xmm1
call fcn.14004a310
call fcn.140050e48
movss xmm1, dword [rsp + 0xdc]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0xe0], eax
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x168]
call fcn.1400591b8
cvtsi2ss xmm0, dword [rsp + 0x4c]
movss dword [rsp + 0xe4], xmm0
movss xmm0, dword [rsp + 0x54]
call fcn.140050e48
movss xmm1, dword [rsp + 0xe4]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xec], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movss dword [rsp + 0xe8], xmm1
movss xmm0, dword [rsp + 0x54]
call fcn.140045268
movss xmm1, dword [rsp + 0xe8]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004a310
call fcn.14005e9a4
movss xmm1, dword [rsp + 0xec]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0xf0], eax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x168]
call fcn.1400591b8
cvtsi2ss xmm0, dword [rsp + 0x4c]
movss dword [rsp + 0xf4], xmm0
movss xmm0, dword [rsp + 0x54]
call fcn.140050e48
movss xmm1, dword [rsp + 0xf4]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xfc], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movss dword [rsp + 0xf8], xmm1
movss xmm0, dword [rsp + 0x54]
call fcn.140045268
movss xmm1, dword [rsp + 0xf8]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004a310
call fcn.140050e48
movss xmm1, dword [rsp + 0xfc]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x100], eax
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x168]
call fcn.1400591b8
call fcn.140009194
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x1400ce370]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss dword [rsp + 0x104], xmm0
cvtsi2ss xmm0, dword [rsp + 0x44]
mulss xmm0, dword [0x1400ce340]
movss xmm1, dword [rsp + 0x104]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x1400ce370]
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [0x1400ce370]
movss xmm2, dword [0x1400ce370]
movaps xmm1, xmm0
lea rcx, [rsp + 0x470]
call fcn.14004a534
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0x98], eax
cvtsi2ss xmm0, dword [rsp + 0x7c]
cvtsi2ss xmm1, dword [rsp + 0x78]
movaps xmm2, xmm0
lea rcx, [rsp + 0x260]
call fcn.140041218
mov edx, 1
lea rcx, [rsp + 0x168]
call fcn.1400436d0
mov eax, dword [rax]
mov ecx, dword [rsp + 0x7c]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x108], xmm0
xor edx, edx
lea rcx, [rsp + 0x168]
call fcn.1400436d0
mov eax, dword [rax]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x10c], xmm0
movss xmm2, dword [rsp + 0x108]
movss xmm1, dword [rsp + 0x10c]
lea rcx, [rsp + 0x188]
call fcn.140041218
mov edx, 3
lea rcx, [rsp + 0x168]
call fcn.1400436d0
mov eax, dword [rax]
mov ecx, dword [rsp + 0x7c]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x110], xmm0
mov edx, 2
lea rcx, [rsp + 0x168]
call fcn.1400436d0
mov eax, dword [rax]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x114], xmm0
movss xmm2, dword [rsp + 0x110]
movss xmm1, dword [rsp + 0x114]
lea rcx, [rsp + 0x270]
call fcn.140041218
call fcn.140009034
mov qword [rsp + 0x268], rax
movss xmm0, dword [0x1400ce370]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x98]
lea r8, [rsp + 0x188]
lea rdx, [rsp + 0x260]
mov rcx, qword [rsp + 0x268]
call fcn.140012be0
call fcn.140009034
mov qword [rsp + 0x278], rax
movss xmm0, dword [0x1400ce370]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x98]
lea r8, [rsp + 0x270]
lea rdx, [rsp + 0x188]
mov rcx, qword [rsp + 0x278]
call fcn.140012be0
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
lea rcx, [rsp + 0x168]
call fcn.140042a58
jmp 0x140047113
movss xmm0, dword [0x1400ce3c0]
movss dword [rsp + 0x9c], xmm0
mov qword [rsp + 0x150], 0
mov rax, qword [0x140115db8]
add rax, 0x126cf528
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d08], rax
mov rax, qword [0x140113228]
mov rcx, qword [0x140115d08]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x280], rax
mov rax, qword [0x140113230]
mov rcx, qword [rsp + 0x280]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x288]
call fcn.14003a384
mov qword [0x140115d20], rax
mov rax, qword [0x140113238]
mov rcx, qword [0x140115d20]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d30], rax
mov rax, qword [0x140113240]
mov rcx, qword [0x140115d30]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d10], rax
mov rax, qword [0x140113248]
mov rcx, qword [0x140115d10]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d18], rax
mov rax, qword [0x140113250]
mov rcx, qword [0x140115d10]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d28], rax
mov rax, qword [0x140113260]
mov rcx, qword [0x140115d08]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [0x140115d38], rax
mov rax, qword [0x140113278]
mov rcx, qword [0x140115d38]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a1bc
mov dword [rsp + 0x1d0], eax
mov rax, qword [0x140113288]
mov rcx, qword [0x140115d38]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x338], rax
mov rax, qword [0x140113258]
mov rcx, qword [0x140115d08]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x190], rax
mov rax, qword [0x1401132d8]
mov rcx, qword [rsp + 0x190]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x190]
mov rcx, qword [0x1401132d8]
lea rax, [rax + rcx + 8]
mov rcx, rax
call fcn.14003a1bc
mov dword [rsp + 0x118], eax
mov dword [rsp + 0x58], 0
jmp 0x140047748
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x58], eax
jae 0x140048319
mov eax, dword [rsp + 0x58]
imul rax, qword [0x140113290]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x298], rax
mov rax, qword [0x1401132d0]
mov rcx, qword [rsp + 0x298]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jne 0x1400477b5
jmp 0x14004773e
mov rax, qword [0x140113298]
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x60], rax
mov rax, qword [0x1401132a8]
mov rcx, qword [0x140115d18]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a1bc
mov dword [rsp + 0x120], eax
mov rax, qword [0x140113248]
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a384
mov qword [rsp + 0x2a0], rax
mov rax, qword [0x1401132a8]
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.14003a1bc
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x120], eax
jne 0x140047858
jmp 0x14004773e
mov rax, qword [0x140115d10]
cmp qword [rsp + 0xa0], rax
jne 0x14004786e
jmp 0x14004773e
mov r8d, WSASetLastError
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x1b8]
call fcn.14004a330
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x378]
call fcn.14004a330
nop
lea rax, [rsp + 0x390]
lea rcx, [rsp + 0x378]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_26
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x1a0]
call fcn.14004b590
nop
movsd xmm0, qword [rsp + 0x1c8]
addsd xmm0, qword [0x1400f4338]
movaps xmm3, xmm0
movsd xmm2, qword [rsp + 0x1c0]
movsd xmm1, qword [rsp + 0x1b8]
lea rcx, [rsp + 0x3d0]
call fcn.1400412ac
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x2b0], rax
lea rax, [rsp + 0x3b0]
mov rdi, rax
mov rsi, qword [rsp + 0x2b0]
mov ecx, Ordinal_26
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3b0]
lea rcx, [rsp + 0x80]
call fcn.14004b590
nop
lea rcx, [rsp + 0x3d0]
call fcn.14002e724
lea rax, [rsp + 0x3f0]
lea rcx, [rsp + 0x1b8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_26
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x318]
call fcn.14004b590
nop
lea rax, [rsp + 0x410]
lea rcx, [rsp + 0x1b8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_26
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x410]
lea rcx, [0x140115dd8]
call fcn.140045860
divsd xmm0, qword [0x1400d2218]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movsd xmm0, qword [rsp + 0x88]
subsd xmm0, qword [rsp + 0x1a8]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x124], xmm0
cvtss2sd xmm0, dword [rsp + 0x124]
mulsd xmm0, qword [0x1400f4320]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x128], xmm0
cvtsd2ss xmm0, qword [rsp + 0x80]
movss xmm1, dword [rsp + 0x128]
divss xmm1, dword [0x1400ce370]
subss xmm0, xmm1
movss dword [rsp + 0x1d4], xmm0
cvtsd2ss xmm0, qword [rsp + 0x1a8]
movss dword [rsp + 0x1d8], xmm0
movsd xmm0, qword [rsp + 0x88]
subsd xmm0, qword [rsp + 0x1a8]
call fcn.14004fb78
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
cvtss2sd xmm0, dword [rsp + 0x48]
mulsd xmm0, qword [0x1400f4320]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140047b78
lea rdx, str.Distance__.fm_n_Player_n
lea rcx, [rsp + 0x510]
call fcn.14003e1d0
cvtss2sd xmm0, dword [rsp + 0x70]
movsd qword [rsp + 0x2b8], xmm0
lea rcx, [rsp + 0x510]
call fcn.1400514e4
movsd xmm0, qword [rsp + 0x2b8]
movaps xmm2, xmm0
movq r8, xmm2
mov rdx, rax
lea rcx, [rsp + 0xa30]
call fcn.14003da58
movsd xmm0, qword [rsp + 0x1c0]
subsd xmm0, qword [0x1400f4340]
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, qword [rsp + 0x1b8]
movaps xmm2, xmm0
lea rcx, [rsp + 0x340]
call fcn.140041218
mov qword [rsp + 0x2c0], rax
lea rdx, [rsp + 0xa30]
lea rcx, [rsp + 0x4f0]
call fcn.14003f1e8
nop
mov rax, qword [0x140115d50]
mov qword [rsp + 0x2c8], rax
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 0xc800ffcf
movss xmm3, dword [0x1400ce398]
mov r8, qword [rsp + 0x2c0]
lea rdx, [rsp + 0x4f0]
mov rcx, qword [rsp + 0x2c8]
call fcn.140048560
nop
lea rcx, [rsp + 0x4f0]
call fcn.1400425b4
cvtsi2ss xmm0, dword [0x1401132e8]
comiss xmm0, dword [rsp + 0x70]
jbe 0x1400481f8
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x1400481f8
movzx eax, byte [0x140115cd8]
test eax, eax
je 0x140047c35
mov eax, dword [0x1401131fc]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x480]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
cvtsd2ss xmm0, qword [rsp + 0x88]
movss xmm1, dword [rsp + 0x40]
divss xmm1, dword [0x1400ce378]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x80]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movss dword [rsp + 0x12c], xmm1
mov dword [rsp + 0x20], eax
movss xmm3, dword [rsp + 0x48]
movss xmm2, dword [rsp + 0x40]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x12c]
call fcn.1400459b8
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140047d7b
mov rcx, qword [rsp + 0x60]
call fcn.140056e38
movzx eax, al
test eax, eax
je 0x140047ce2
mov eax, dword [0x1401131fc]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x490]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
cvttss2si ecx, dword [rsp + 0x48]
cvttss2si edx, dword [rsp + 0x40]
cvttsd2si edi, qword [rsp + 0x88]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x1400ce378]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x80]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si esi, xmm0
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
mov r9d, ecx
mov r8d, edx
mov edx, edi
mov ecx, esi
call fcn.14004552c
mov rcx, qword [rsp + 0x60]
call fcn.140056e38
movzx eax, al
test eax, eax
jne 0x140047d7b
mov dword [rsp + 0x20], 0xff
mov r9d, 1
mov r8d, 1
mov edx, 0xff
lea rcx, [rsp + 0x4a0]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
cvttss2si ecx, dword [rsp + 0x48]
cvttss2si edx, dword [rsp + 0x40]
cvttsd2si edi, qword [rsp + 0x88]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x1400ce378]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x80]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si esi, xmm0
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
mov r9d, ecx
mov r8d, edx
mov edx, edi
mov ecx, esi
call fcn.14004552c
movzx eax, byte [0x140115cdf]
test eax, eax
je 0x140047d90
mov rcx, qword [rsp + 0x60]
call fcn.140049148
movzx eax, byte [0x140115ce4]
test eax, eax
je 0x140047e04
cvttsd2si eax, qword [rsp + 0x88]
mov dword [rsp + 0x130], eax
cvttsd2si ecx, qword [rsp + 0x80]
mov eax, dword [0x140115dd0]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x134], eax
mov eax, dword [0x140115dcc]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [reloc.WS2_32.dll_closesocket]
mov dword [rsp + 0x28], edx
lea rdx, [0x1401133e0]
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x130]
mov r9d, edx
mov r8d, ecx
mov ecx, dword [rsp + 0x134]
mov edx, ecx
mov ecx, eax
call fcn.14004841c
movzx eax, byte [0x140115ce5]
test eax, eax
je 0x140047eb3
mov rcx, qword [rsp + 0x60]
call fcn.140056e38
movzx eax, al
test eax, eax
je 0x140047e63
cvttsd2si eax, qword [rsp + 0x88]
cvttsd2si ecx, qword [rsp + 0x80]
mov edx, dword [reloc.WS2_32.dll_closesocket]
mov dword [rsp + 0x28], edx
lea rdx, [0x140113340]
mov qword [rsp + 0x20], rdx
mov r9d, eax
mov r8d, ecx
mov edx, dword [0x140115dd0]
mov ecx, dword [0x140115dcc]
call fcn.14004841c
mov rcx, qword [rsp + 0x60]
call fcn.140056e38
movzx eax, al
test eax, eax
jne 0x140047eb3
cvttsd2si eax, qword [rsp + 0x88]
cvttsd2si ecx, qword [rsp + 0x80]
mov edx, dword [reloc.WS2_32.dll_closesocket]
mov dword [rsp + 0x28], edx
lea rdx, [0x1401132f0]
mov qword [rsp + 0x20], rdx
mov r9d, eax
mov r8d, ecx
mov edx, dword [0x140115dd0]
mov ecx, dword [0x140115dcc]
call fcn.14004841c
movzx eax, byte [0x140115ce2]
test eax, eax
je 0x140047fb2
mov eax, dword [0x1401131f4]
shl eax, 0x10
or eax, 0x64000000
mov ecx, dword [0x140115cf8]
shl ecx, 8
or eax, ecx
or eax, dword [0x1401131f8]
mov dword [rsp + 0x138], eax
cvttss2si eax, dword [rsp + 0x48]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x88]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x1400ce378]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x80]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov dword [rsp + 0x28], 2
lea rsi, [rsp + 0x138]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140045b40
mov eax, dword [0x1401131f4]
shl eax, 0x10
or eax, 0x64000000
mov ecx, dword [0x140115cf8]
shl ecx, 8
or eax, ecx
or eax, dword [0x1401131f8]
cvttss2si ecx, dword [rsp + 0x48]
cvttss2si edx, dword [rsp + 0x40]
cvttsd2si edi, qword [rsp + 0x88]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x1400ce378]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x80]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si esi, xmm0
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, edx
mov edx, edi
mov ecx, esi
call fcn.140048374
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140048199
cvttss2si eax, dword [rsp + 0x70]
mov edx, eax
lea rcx, [rsp + 0x588]
call fcn.14005f864
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x2d8], rax
mov r8, qword [rsp + 0x2d8]
lea rdx, [0x1400d242b]
lea rcx, [rsp + 0x568]
call fcn.14002c55c
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x2e8], rax
lea r8, [0x1400f23b0]
mov rdx, qword [rsp + 0x2e8]
lea rcx, [rsp + 0x4d0]
call fcn.14002c510
nop
lea rcx, [rsp + 0x568]
call fcn.1400425b4
nop
lea rcx, [rsp + 0x588]
call fcn.1400425b4
lea rcx, [rsp + 0x4d0]
call fcn.14004fa0c
movss xmm0, dword [0x1400ce3cc]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x2f0]
call fcn.140006640
movsd xmm0, qword [rsp + 0x1a8]
addsd xmm0, qword [0x1400f4330]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [rsp + 0x2f0]
divss xmm1, dword [0x1400ce380]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x1a0]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movaps xmm2, xmm0
lea rcx, [rsp + 0x348]
call fcn.140041218
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x1401131f4]
mov r8d, dword [0x140115cf8]
mov edx, dword [0x1401131f8]
lea rcx, [rsp + 0x4b0]
call fcn.140041110
mov rcx, rax
call fcn.1400438a4
mov dword [rsp + 0x13c], eax
movsd xmm0, qword [rsp + 0x88]
subsd xmm0, qword [0x1400f4340]
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, qword [rsp + 0x80]
movaps xmm2, xmm0
lea rcx, [rsp + 0x350]
call fcn.140041218
mov qword [rsp + 0x2f8], rax
mov rax, qword [0x140115d50]
mov qword [rsp + 0x300], rax
mov byte [rsp + 0x28], 1
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x20], eax
movss xmm3, dword [0x1400f436c]
mov r8, qword [rsp + 0x2f8]
lea rdx, [rsp + 0x4d0]
mov rcx, qword [rsp + 0x300]
call fcn.140048560
nop
lea rcx, [rsp + 0x4d0]
call fcn.1400425b4
movzx eax, byte [0x140115cdb]
test eax, eax
je 0x1400481f8
cvttsd2si eax, qword [rsp + 0x1a8]
mov dword [rsp + 0x140], eax
cvttsd2si ecx, qword [rsp + 0x1a0]
mov eax, dword [0x140115dcc]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [reloc.WS2_32.dll_closesocket]
mov dword [rsp + 0x28], edx
lea rdx, [0x1401132f0]
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x140]
mov r9d, edx
mov r8d, ecx
mov edx, dword [0x140115dd0]
mov ecx, eax
call fcn.14004841c
mov eax, dword [0x140115dcc]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x318]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x198], xmm0
mov eax, dword [0x140115dd0]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x320]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x180], xmm0
movsd xmm0, qword [rsp + 0x198]
mulsd xmm0, qword [rsp + 0x198]
movsd xmm1, qword [rsp + 0x180]
mulsd xmm1, qword [rsp + 0x180]
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_sqrtf]
movss dword [rsp + 0x74], xmm0
mov rcx, qword [rsp + 0x60]
call fcn.140056e38
movzx eax, al
test eax, eax
je 0x1400482cf
cvtsi2ss xmm0, dword [0x1401131ec]
comiss xmm0, dword [rsp + 0x74]
jbe 0x1400482cf
movss xmm0, dword [rsp + 0x9c]
comiss xmm0, dword [rsp + 0x74]
jbe 0x1400482cf
movss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0x9c], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x318]
call fcn.14002e724
nop
lea rcx, [rsp + 0x80]
call fcn.14002e724
nop
lea rcx, [rsp + 0x1a0]
call fcn.14002e724
nop
lea rcx, [rsp + 0x378]
call fcn.14002e724
nop
lea rcx, [rsp + 0x1b8]
call fcn.14002e724
jmp 0x14004773e
movzx eax, byte [0x140115cdd]
test eax, eax
je 0x140048358
movzx eax, byte [0x140115cdd]
test eax, eax
je 0x140048358
cmp qword [rsp + 0x150], 0
je 0x140048358
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140048358
mov rcx, qword [rsp + 0x150]
call fcn.140044ff0
mov rcx, qword [rsp + 0xa70]
xor rcx, rsp
call fcn.1400c7020
add rsp, 0xa88
pop rdi
pop rsi
ret