Function at 0x1800dfcf0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
movabs rdi, 0xd80958fc74e988a6
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
movabs r12, 0x997abd671d25ca0b
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, r12
call fcn.18006a1c0
test eax, eax
je 0x1800e0f32
cmp byte [0x18023abc2], 0
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], r13
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
je 0x1800dfdad
mov ecx, reloc.WS2_32.dll_WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800dfdad
cmp byte [0x18023ab41], 0
sete byte [0x18023ab41]
cmp byte [0x18023abc4], 0
je 0x1800dfdca
mov ecx, WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800dfdca
call fcn.1800dfae0
call fcn.1800dc8a0
movss xmm6, dword [0x1801c7fb4]
xor r14d, r14d
cmp byte [0x18023ab41], r14b
xorps xmm7, xmm7
movabs rsi, 0x9a9112a0fe9a4713
movabs r13, 0x6094ad011a2ea87d
je 0x1800dff1b
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r13
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
cmp dword [rax], r14d
je 0x1800dff1b
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
xor r8d, r8d
mov edx, eax
movabs rcx, 0x89f149b6131e57da
mov ebx, eax
call fcn.18006a1c0
movabs rdx, 0x837765a25378f0bb
lea r8d, [r14 + 2]
lea rcx, [rbp - 9]
call fcn.18006ae10
movss xmm3, dword [rbp + 7]
mov ecx, ebx
movss xmm2, dword [rbp - 1]
movss xmm1, dword [rbp - 9]
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800724c0
lea edx, [r14 + 2]
movabs rcx, 0xe2587f8cbbd87b1d
lea r8d, [r14 + 0x57]
call fcn.180068fd0
mov edx, ebx
movabs rcx, 0xab54a438726d25d5
test eax, eax
je 0x1800dff13
movaps xmm2, xmm6
jmp 0x1800dff16
xorps xmm2, xmm2
call fcn.18006aa40
cmp byte [0x18023ab7d], r14b
movabs r15, 0xafbd61cc738d9eb9
je 0x1800e00d9
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
mov ebx, eax
call fcn.1800141b0
mov r8, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rcx, qword [rbp + 0x67]
mov edx, dword [r8 + 8]
mov qword [r8 + rdx*8 + 0x130], rcx
movabs rdx, 0x831e0242595560df
inc dword [r8 + 8]
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
movss xmm6, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x1dbd58820fa61d71
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
cmp dword [rcx], r14d
je 0x1800e00d9
comiss xmm6, dword [0x180177364]
ja 0x1800e0020
movss xmm0, dword [0x180177430]
comiss xmm0, xmm6
jbe 0x1800e00d9
mov ecx, ebx
call fcn.1800726f0
test eax, eax
jne 0x1800e00d9
mov ecx, ebx
call fcn.180072680
test eax, eax
jne 0x1800e00d9
mov ecx, ebx
call fcn.1800685e0
test eax, eax
jne 0x1800e00d9
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0xdce4334788af94ea
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
cmp dword [rcx], r14d
jne 0x1800e00d9
mov ecx, ebx
call fcn.1800dc4d0
mov r9d, 2
lea rcx, [rbp - 9]
mov r8d, ebx
mov rdx, r15
call fcn.18006ad60
movss xmm3, dword [rbp + 7]
xorps xmm2, xmm2
xorps xmm1, xmm1
mov byte [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.1800724c0
cmp byte [0x18023ab7c], r14b
movabs rbx, 0xeb9dc3c7d8596c46
movabs r15, 0x1aa8a837d2169d94
je 0x1800e0279
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
mov ebx, eax
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0xbcdc5017d3ce1e9e
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
cmp dword [rax], r14d
je 0x1800e01f5
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
mov ebx, eax
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x115722b1b9c14c1c
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r8d, 1
mov edx, eax
mov rcx, r15
call fcn.180068fd0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movabs rbx, 0xeb9dc3c7d8596c46
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.18006a1c0
cmp byte [0x18023ab7e], r14b
je 0x1800e02fb
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8d, 1
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x7a6535691b477c48
call fcn.180068fd0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r9d, r9d
mov rcx, qword [rax]
lea r8d, [r9 + 0x20]
mov edx, dword [rcx]
movabs rcx, 0x1913fe4cbf41c463
call fcn.180069fc0
cmp byte [0x18023ab79], r14b
je 0x1800e038e
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801c9230]
test ax, ax
je 0x1800e034f
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r8b, 1
jmp 0x1800e037d
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
xor r8d, r8d
mov edx, eax
movabs rcx, 0x222ff6a823d122e2
call fcn.18006a1c0
cmp byte [0x18023ab81], r14b
je 0x1800e0462
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r8d, 1
mov edx, eax
mov rcx, r15
call fcn.180068fd0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r8b, 1
mov edx, eax
movabs rcx, 0x3882114bde571ad4
call fcn.18006a1c0
cmp byte [0x18023ab50], r14b
lea r15, [0x180000000]
je 0x1800e0526
cmp byte [0x18023ab44], r14b
je 0x1800e04a2
mov rcx, qword [0x18023ab48]
lea r8, str.wheel_rf
mov rdx, qword [r15 + rcx*8 + 0x1c8598]
mov rcx, qword [r15 + rcx*8 + 0x1c8568]
call fcn.1800dcb30
cmp byte [0x18023ab42], r14b
je 0x1800e04ce
mov rcx, qword [0x18023ab48]
lea r8, str.wheel_lf
mov rdx, qword [r15 + rcx*8 + 0x1c8598]
mov rcx, qword [r15 + rcx*8 + 0x1c8568]
call fcn.1800dcb30
cmp byte [0x18023ab43], r14b
je 0x1800e04fa
mov rcx, qword [0x18023ab48]
lea r8, str.wheel_rr
mov rdx, qword [r15 + rcx*8 + 0x1c8598]
mov rcx, qword [r15 + rcx*8 + 0x1c8568]
call fcn.1800dcb30
cmp byte [0x18023ab40], r14b
je 0x1800e0526
mov rcx, qword [0x18023ab48]
lea r8, str.wheel_lr
mov rdx, qword [r15 + rcx*8 + 0x1c8598]
mov rcx, qword [r15 + rcx*8 + 0x1c8568]
call fcn.1800dcb30
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r13
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rax, qword [0x1801c9230]
movzx r9d, byte [0x18023ab31]
movss xmm2, dword [0x1801c7f94]
mov rcx, qword [rax]
mov eax, dword [rcx]
movzx ecx, byte [0x18023ab30]
mov dword [rsp + 0x20], eax
mov rax, qword [0x18023ab38]
mov edx, dword [r15 + rax*4 + 0x1c8558]
call fcn.1800dce60
cmp byte [0x18023ab75], r14b
je 0x1800e0601
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov ecx, eax
mov r9b, 1
call fcn.180068ce0
cmp byte [0x18023ab72], r14b
je 0x1800e06bf
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, r12
call fcn.18006a1c0
test eax, eax
je 0x1800e06bf
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov r8, qword [0x1801c9230]
mov rdx, r13
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [r8 + 8]
mov qword [r8 + rcx*8 + 0x130], rax
inc dword [r8 + 8]
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x49733e92263139d1
call fcn.180068fd0
cmp byte [0x18023ab73], r14b
movabs r15, 0xb69317bf5e782347
je 0x1800e07fb
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
mov ebx, eax
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movabs r13, 0xafbd61cc738d9eb9
lea rcx, [rbp - 9]
mov rdx, r13
mov r9d, reloc.WS2_32.dll_sendto
mov r8d, eax
call fcn.18006ad60
movss xmm0, dword [rbp + 7]
mov rcx, qword [0x1801c9230]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x1801772a8]
cvtpd2ps xmm6, xmm0
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movaps xmm3, xmm6
mov byte [rsp + 0x28], 1
xorps xmm2, xmm2
mov dword [rsp + 0x20], reloc.WS2_32.dll_sendto
xorps xmm1, xmm1
mov ecx, eax
call fcn.1800724c0
jmp 0x1800e0805
movabs r13, 0xafbd61cc738d9eb9
cmp byte [0x18023ab70], r14b
je 0x1800e0965
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, r12
call fcn.18006a1c0
test eax, eax
je 0x1800e0965
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
mov ebx, eax
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov dword [rbp + 0x67], ebx
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r9d, 2
lea rcx, [rbp - 9]
mov r8d, eax
mov rdx, r13
call fcn.18006ad60
movss xmm0, dword [rbp + 7]
mov rcx, qword [0x1801c9230]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x180177268]
cvtpd2ps xmm6, xmm0
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movaps xmm3, xmm6
mov byte [rsp + 0x28], 1
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
xorps xmm1, xmm1
mov ecx, eax
call fcn.1800724c0
cmp byte [0x18023ab71], r14b
mov r15, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x118]
je 0x1800e09f0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, r12
call fcn.18006a1c0
test eax, eax
je 0x1800e09f0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov ecx, eax
mov r9b, 1
call fcn.180068ce0
call fcn.1800de2f0
call fcn.1800def10
cmp byte [0x18023ab7a], r14b
je 0x1800e0a08
call fcn.1800de6b0
cmp byte [0x18023ab94], r14b
je 0x1800e0ac3
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rbp + 0x67], r14
mov byte [rbp + 0x67], 1
mov rax, qword [rbp + 0x67]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x4cc7f0fea5283fe0
mov rcx, qword [0x1801c9230]
call fcn.180014230
cmp byte [0x18023ab95], r14b
je 0x1800e0ac3
mov edx, dword [0x1801c8040]
mov ecx, dword [0x18023ab8c]
test edx, edx
jle 0x1800e0a8d
test ecx, ecx
jne 0x1800e0a8d
mov eax, dword [0x18023ab90]
dec edx
inc eax
mov dword [0x1801c8040], edx
mov dword [0x18023ab90], eax
jmp 0x1800e0a93
mov eax, dword [0x18023ab90]
test eax, eax
jle 0x1800e0aab
test edx, edx
jne 0x1800e0aab
dec eax
inc ecx
mov dword [0x18023ab90], eax
mov dword [0x18023ab8c], ecx
test ecx, ecx
jle 0x1800e0ac3
test eax, eax
jne 0x1800e0ac3
inc edx
dec ecx
mov dword [0x1801c8040], edx
mov dword [0x18023ab8c], ecx
mov rcx, qword [0x1801c9230]
movzx ebx, byte [0x18023ab77]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movzx r8d, bl
mov edx, eax
movabs rcx, 0x730f5f8d3f0f2050
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
movzx ebx, byte [reloc.WS2_32.dll_accept]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov r9b, 1
movzx r8d, bl
mov edx, eax
movabs rcx, 0x1a9205c1b9ee827f
call fcn.18006aae0
cmp byte [0x18023ab7f], r14b
je 0x1800e0bb4
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
xor r9d, r9d
xor r8d, r8d
mov edx, eax
movabs rcx, 0xea1c610a04db6bbb
call fcn.18006aae0
cmp byte [reloc.WS2_32.dll_accept], r14b
je 0x1800e0c08
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
movss xmm2, dword [0x1801773d4]
mov edx, eax
movabs rcx, 0xe46a3fcbde2a1b1
call fcn.18006aa40
mov rax, qword [0x18023ab58]
test rax, rax
je 0x1800e0d2c
sub rax, 1
je 0x1800e0c81
cmp rax, 1
jne 0x1800e0d8f
xorps xmm0, xmm0
mov dword [rbp - 0x19], 8
lea ecx, [rax + 0xf]
mov dword [rbp - 0x15], 0xd10
movdqu xmmword [rbp - 9], xmm0
mov dword [rbp - 0x11], reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0xd], 0x58b
mov qword [rbp + 7], r14
call fcn.18012d6e8
mov r8d, reloc.WS2_32.dll_recv
mov qword [rbp - 9], rax
lea rdx, [rbp - 0x19]
mov qword [rbp - 1], rax
mov rcx, rax
lea rbx, [rax + 0x10]
mov qword [rbp + 7], rbx
call sub.VCRUNTIME140.dll_memmove
mov dl, Ordinal_41
jmp 0x1800e0d82
xorps xmm0, xmm0
mov dword [rbp - 0x19], 8
mov ecx, reloc.WS2_32.dll_recv
mov dword [rbp - 0x15], 0xd10
movdqu xmmword [rbp - 9], xmm0
mov dword [rbp - 0x11], reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0xd], 0x58b
mov qword [rbp + 7], r14
call fcn.18012d6e8
mov r8d, reloc.WS2_32.dll_recv
mov qword [rbp - 9], rax
lea rdx, [rbp - 0x19]
mov qword [rbp - 1], rax
mov rcx, rax
lea rbx, [rax + 0x10]
mov qword [rbp + 7], rbx
call sub.VCRUNTIME140.dll_memmove
mov dl, 0x42
mov qword [rbp - 1], rbx
lea rcx, [rbp - 9]
call fcn.1800e0f40
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
xorps xmm2, xmm2
mov edx, eax
movabs rcx, 0xe00f2ab100b76e89
call fcn.18006aa40
jmp 0x1800e0d8f
xorps xmm0, xmm0
mov dword [rbp - 0x19], 8
mov ecx, reloc.WS2_32.dll_recv
mov dword [rbp - 0x15], 0xd10
movdqu xmmword [rbp - 9], xmm0
mov dword [rbp - 0x11], reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0xd], 0x58b
mov qword [rbp + 7], r14
call fcn.18012d6e8
mov r8d, reloc.WS2_32.dll_recv
mov qword [rbp - 9], rax
lea rdx, [rbp - 0x19]
mov qword [rbp - 1], rax
mov rcx, rax
lea rbx, [rax + 0x10]
mov qword [rbp + 7], rbx
call sub.VCRUNTIME140.dll_memmove
xor edx, edx
lea rcx, [rbp - 9]
mov qword [rbp - 1], rbx
call fcn.1800e0f40
cmp qword [0x18023ab60], r14
je 0x1800e0f0a
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, rsi
call fcn.18006a1c0
mov ebx, eax
mov rax, qword [0x18023ab60]
sub rax, 1
je 0x1800e0e55
cmp rax, 1
jne 0x1800e0f0a
lea ecx, [rax + 0x1f]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800e0f0a
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8b, 1
mov rcx, r12
mov rdx, qword [rax]
mov edx, dword [rdx]
call fcn.18006a1c0
test eax, eax
je 0x1800e0f0a
mov ecx, ebx
call fcn.1800e1290
movaps xmm6, xmm0
mov ecx, ebx
addss xmm6, xmm7
call fcn.1800e1220
movaps xmm3, xmm0
movss xmm0, dword [0x18017714c]
jmp 0x1800e0ebe
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800e0f0a
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rdi
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8b, 1
mov rcx, qword [rax]
mov edx, dword [rcx]
mov rcx, r12
call fcn.18006a1c0
test eax, eax
je 0x1800e0f0a
mov ecx, ebx
call fcn.1800e1290
movaps xmm6, xmm0
mov ecx, ebx
addss xmm6, xmm7
call fcn.1800e1220
movaps xmm3, xmm0
movss xmm0, dword [0x180177304]
mov dword [rsp + 0x70], 1
addss xmm3, xmm7
mov dword [rsp + 0x68], 1
mov r8d, 1
mov dword [rsp + 0x50], r14d
mov edx, ebx
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm6
call fcn.180068340
movaps xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xe0
pop r12
pop rdi
pop rbp
ret