Function at 0x14003f030
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rsi
mov rbp, rsp
sub rsp, 0x68
mov rsi, qword [0x140100c88]
test rsi, rsi
je 0x14003f846
mov rcx, rsi
mov qword [rsp + 0x98], rdi
call fcn.14003d9a0
mov rdi, rax
test rax, rax
je 0x14003f83e
mov qword [rsp + 0x90], rbx
mov rbx, qword [0x140100c88]
mov rcx, rbx
call fcn.14003dd60
movzx ecx, al
imul rdx, rcx, 0xdc0
lea rcx, [rbx + 0x288]
add rcx, rdx
je 0x14003f836
call fcn.14003cb30
test rax, rax
je 0x14003f836
cmp byte [reloc.WS2_32.dll_accept], 1
mov qword [rsp + 0x60], r14
je 0x14003f0bc
cmp byte [reloc.WS2_32.dll_accept], 1
jne 0x14003f0e0
xorps xmm1, xmm1
mov rcx, rdi
call fcn.14003d700
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003f0e0
movss xmm1, dword [0x1400a7db4]
mov rcx, rdi
call fcn.14003d610
xor r14d, r14d
cmp byte [0x140100c6c], 1
jne 0x14003f159
mov rbx, qword [0x140100f68]
add rbx, 0x29c250c
call fcn.140037a30
mov byte [rbp + 0x18], r14b
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f159
mov ecx, dword [rax + 4]
lea r9d, [r14 + 0x20]
mov eax, dword [rax]
lea r8, [rbp - 0x28]
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140100c7b], 1
jne 0x14003f172
movss xmm1, dword [0x1400a7dec]
mov rcx, rdi
call fcn.14003d520
cmp byte [0x140100c6b], 1
jne 0x14003f18b
movss xmm1, dword [0x1400a7dbc]
mov rcx, rsi
call fcn.14003db80
cmp byte [0x140100c69], 1
jne 0x14003f1a4
movss xmm1, dword [0x1400a7cf8]
mov rcx, rdi
call fcn.14003d3a0
cmp byte [0x140100c6f], 1
jne 0x14003f1bd
movss xmm1, dword [0x1400a7c60]
mov rcx, rdi
call fcn.14003d3a0
cmp byte [0x140100c79], 1
jne 0x14003f2a8
mov rbx, qword [0x140100f68]
add rbx, 0x26837e4
call fcn.140037a30
mov byte [rbp + 0x18], r14b
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f239
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rbx, qword [0x140100f68]
add rbx, 0x26837e5
call fcn.140037a30
mov byte [rbp + 0x18], 1
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f2a8
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx eax, byte [reloc.WS2_32.dll_accept]
cmp al, 1
jne 0x14003f33d
cmp byte [0x140100c7e], r14b
jne 0x14003f3bc
call fcn.140037a30
mov byte [rbp + 0x18], 1
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f32c
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rsi + 0x441c8]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx eax, byte [reloc.WS2_32.dll_accept]
mov cl, 1
mov byte [0x140100c7e], cl
jmp 0x14003f344
movzx ecx, byte [0x140100c7e]
test al, al
jne 0x14003f3bc
cmp cl, 1
jne 0x14003f3bc
call fcn.140037a30
mov byte [rbp + 0x18], r14b
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f3b5
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rsi + 0x441c8]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov byte [0x140100c7e], r14b
movzx eax, byte [0x140100c6a]
cmp al, 1
jne 0x14003f440
call fcn.140037a30
mov byte [rbp + 0x18], 1
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f42f
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rdi + 0x8b0]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx eax, byte [0x140100c6a]
mov cl, 1
mov byte [0x140100c7d], cl
jmp 0x14003f447
movzx ecx, byte [0x140100c7d]
test al, al
jne 0x14003f4bf
cmp cl, 1
jne 0x14003f4bf
call fcn.140037a30
mov byte [rbp + 0x18], r14b
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f4b8
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rdi + 0x8b0]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov byte [0x140100c7d], r14b
cmp byte [reloc.WS2_32.dll_accept], 1
jne 0x14003f50f
mov rcx, rdi
call fcn.14003d2b0
cmp eax, 4
je 0x14003f4e2
mov rcx, rdi
call fcn.14003d2b0
cmp eax, 5
jne 0x14003f50f
mov rcx, rdi
call fcn.14003cfe0
mov rcx, rax
call fcn.14003cef0
mov rcx, rax
mov edx, 1
call fcn.14003c100
movss xmm1, dword [0x1400a7d54]
mov rcx, rax
call fcn.14003bdc0
cmp byte [reloc.WS2_32.dll_accept], 1
jne 0x14003f552
mov rcx, rdi
call fcn.14003d2b0
cmp eax, 6
jne 0x14003f552
mov rcx, rdi
call fcn.14003cfe0
mov rcx, rax
call fcn.14003cef0
mov rcx, rax
mov edx, 1
call fcn.14003c100
movss xmm1, dword [0x1400a7d04]
mov rcx, rax
call fcn.14003bdc0
cmp byte [reloc.WS2_32.dll_accept], 1
jne 0x14003f594
mov rcx, rdi
call fcn.14003d2b0
test eax, eax
jne 0x14003f594
mov rcx, rdi
call fcn.14003cfe0
mov rcx, rax
call fcn.14003cef0
mov rcx, rax
mov edx, 1
call fcn.14003c100
movss xmm1, dword [0x1400a7d70]
mov rcx, rax
call fcn.14003bdc0
cmp byte [0x140100c7c], 1
jne 0x14003f60e
call fcn.140037a30
movss xmm0, dword [0x1400a7ce8]
movss dword [rbp + 0x18], xmm0
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f60e
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rdi + 0x584]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140100c6d], 1
jne 0x14003f65e
mov rcx, rdi
call fcn.14003d2b0
cmp eax, 0x33
je 0x14003f631
mov rcx, rdi
call fcn.14003d2b0
cmp eax, 0x34
jne 0x14003f65e
mov rcx, rdi
call fcn.14003cfe0
mov rcx, rax
call fcn.14003cef0
mov rcx, rax
mov edx, 1
call fcn.14003c100
movss xmm1, dword [0x1400a7d0c]
mov rcx, rax
call fcn.14003bdc0
cmp byte [0x140100c78], 1
jne 0x14003f6d6
mov rbx, qword [0x140100f68]
add rbx, 0x27725db
call fcn.140037a30
mov byte [rbp + 0x18], 1
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f6d6
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140100c7a], 1
jne 0x14003f831
mov rcx, rsi
call fcn.14003dd60
movzx eax, al
imul rcx, rax, 0xdc0
add rcx, 0x288
add rcx, rsi
call fcn.14003cd10
mov rcx, rax
call fcn.14003c860
test al, al
jne 0x14003f831
mov ecx, 0x56
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003f7be
call fcn.140037a30
mov dword [rbp + 0x18], r14d
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f790
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x24], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rdi + 0x15e8]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov dword [rbp - 0x10], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rsi
call fcn.14003da90
lea rbx, [rax + 0x98]
call fcn.140037a30
mov dword [rbp + 0x18], 2
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f831
mov r8d, dword [rax]
mov dword [rbp - 0x24], r8d
jmp 0x14003f7e8
mov rcx, rsi
call fcn.14003da90
lea rbx, [rax + 0x98]
call fcn.140037a30
mov dword [rbp + 0x18], 1
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003f831
mov edx, dword [rax]
mov dword [rbp - 0x24], edx
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x28]
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
mov r9d, reloc.WLDAP32.dll_Ordinal_32
lea rax, [rbp + 0x20]
mov dword [rbp - 0x28], ecx
mov qword [rsp + 0x30], rax
mov edx, 0x220404
mov dword [rsp + 0x28], r14d
mov rcx, r10
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
add rsp, 0x68
pop rsi
pop rbp
ret