Function at 0x10037ee0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10062acd
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x10079040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x1007ac35], 0
mov esi, dword [ebp + 8]
jne 0x10037f39
mov eax, dword [esi]
push 0x1007ac54
push esi
call dword [eax + 0xc0]
cmp dword [0x1007ace8], 0
je 0x10037f32
call fcn.10022a20
mov byte [0x1007ac35], 1
cmp byte [0x1007ac36], 0
jne 0x100380b6
call fcn.10006060
mov eax, dword [0x1007ac38]
push 0x1007ac54
push esi
or dword [eax + 8], 1
mov eax, dword [esi]
call dword [eax + 0xc0]
mov eax, dword [esi]
lea ecx, [ebp - 0x2c]
push ecx
push esi
call dword [eax + 0x24]
mov eax, dword [ebp - 0x24]
mov dword [0x1007acac], eax
test eax, eax
je 0x100380b6
push 0x10037c20
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edi, dword [0x1007acac]
push 0x1007ad00
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1003807a
push 0x1007acf8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1003807a
mov eax, dword [0x1007ac38]
mov dword [0x1007acf4], edi
or dword [eax + 0xc], 6
mov dword [eax + 0xbc], str.imgui_impl_win32
mov dword [eax + 0xe0], edi
mov dword [eax + 0x34], 9
mov dword [eax + 0x38], 0x25
mov dword [eax + 0x3c], 0x27
mov dword [eax + 0x40], 0x26
mov dword [eax + 0x44], 0x28
mov dword [eax + 0x48], 0x21
mov dword [eax + 0x4c], 0x22
mov dword [eax + 0x50], 0x24
mov dword [eax + 0x54], 0x23
mov dword [eax + 0x58], 0x2d
mov dword [eax + 0x5c], 0x2e
mov dword [eax + 0x60], 8
mov dword [eax + 0x64], 0x20
mov dword [eax + 0x68], 0xd
mov dword [eax + 0x6c], 0x1b
mov dword [eax + 0x70], 0xd
mov dword [eax + 0x74], 0x41
mov dword [eax + 0x78], 0x43
mov dword [eax + 0x7c], 0x56
mov dword [eax + 0x80], 0x58
mov dword [eax + 0x84], 0x59
mov dword [eax + 0x88], 0x5a
jmp 0x1003807f
mov eax, dword [0x1007ac38]
or dword [eax + 0xc], 8
mov dword [eax + 0xc0], str.imgui_impl_dx9
mov eax, dword [esi]
push esi
mov dword [0x1007ace8], esi
call dword [eax + 4]
mov eax, dword [0x1007ac38]
mov ecx, dword [0x1007acac]
mov byte [0x1007ac36], 1
mov dword [eax + 0xe0], ecx
call fcn.1001b690
call fcn.10037c70
cmp dword [0x1007ace0], 0
jne 0x100380d2
cmp dword [0x1007ace8], 0
je 0x100380d2
call fcn.10022a20
call fcn.10023090
call fcn.10006eb0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x2d
call esi
test al, 1
jne 0x10038101
push 0x24
call esi
test al, 1
jne 0x10038101
push 0x2e
call esi
test al, 1
jne 0x10038101
mov al, byte [0x1007ac9d]
jmp 0x10038110
cmp byte [0x1007ac9d], 0
sete al
mov byte [0x1007ac9d], al
mov ecx, dword [0x1007ac38]
test al, al
setne al
mov byte [ecx + 0xb0], al
cmp byte [0x1007ac9d], 0
je 0x10038b2b
or dword [ecx + 0x1a78], 3
xor edx, edx
mov dword [ecx + 0x1a98], 0x44700000
mov dword [ecx + 0x1a9c], 0x44214000
mov dword [ecx + 0x1a80], 1
mov dword [ecx + 0x1a88], 0x41f00000
mov dword [ecx + 0x1a8c], 0x42480000
mov dword [ecx + 0x1a90], 0
mov dword [ecx + 0x1a94], 0
mov dword [ecx + 0x1a7c], 1
mov ecx, 0xfa
nop dword [eax]
mov al, byte [edx + 0x1006f480]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x5c], al
and ecx, 0x800000ff
jns 0x100381ad
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1b
jl 0x10038190
mov byte [ebp - 0x41], 0
push 0
xor edx, edx
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.1000abf0
mov dword [ebp - 4], 0xffffffff
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
xor esi, esi
movq qword [ebp - 0x4c], xmm0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x2c], 0x1006f49c
mov dword [ebp - 0x28], 0x1006f4a0
mov dword [ebp - 0x24], 0x1006f4a4
mov dword [ebp - 0x20], str.Visuals
mov dword [ebp - 0x38], esi
nop dword [eax + eax]
mov eax, dword [0x1007ac38]
lea edx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp + esi*4 - 0x2c]
mov eax, dword [eax + 0x19f8]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x1006f968]
subss xmm0, dword [0x1006fa34]
movss dword [ebp - 0x3c], xmm0
call fcn.100243c0
add esp, 4
test al, al
je 0x1003824f
mov dword [0x1007ad44], esi
cmp esi, 3
jae 0x10038264
movss xmm1, dword [0x1006facc]
xorps xmm0, xmm0
call fcn.1000e260
inc esi
cmp esi, 4
jl 0x10038210
mov eax, dword [0x1007ac38]
mov ecx, dword [eax + 0x19f8]
cmp byte [ecx + 0x7f], 0
jne 0x1003828d
mov ecx, dword [ecx + 0x194]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10025a40
mov eax, dword [0x1007ad44]
cmp eax, 3
ja case.default.0x1003829b
jmp dword [eax*4 + 0x10038b6c]
mov dword [ebp - 0x18], 0x426d6941
mov word [ebp - 0x14], 0x746f
mov byte [ebp - 0x12], 0
mov edx, 0x1007ac90
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.10025080
mov dword [ebp - 0x18], 0x4b6d6941
mov word [ebp - 0x14], 0x7965
mov byte [ebp - 0x12], 0
push ecx
push 7
push 0x10079b78
push ecx
mov edx, 0x1007acb4
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x18]
call fcn.10026480
add esp, 0x10
test al, al
je 0x10038306
mov eax, dword [0x1007acb4]
mov dword [0x1007ac3c], eax
mov dword [ebp - 0x18], 0x466d6941
mov word [ebp - 0x14], 0x766f
mov byte [ebp - 0x12], 0
mov edx, 0x1007ac91
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x18]
call fcn.10025080
cmp byte [0x1007ac91], 0
je 0x100383a1
mov dword [ebp - 0x3c], 0x657a6953
mov dword [ebp - 0x38], 0x766f46
sub esp, 8
mov dword [ebp - 4], 4
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x3f800000
mov dword [ebp - 0x1c], 0x41a00000
mov dword [esp + 4], 0x3f800000
push eax
lea eax, [ebp - 0x18]
push eax
push ecx
lea ecx, [ebp - 0x3c]
call fcn.100274a0
add esp, 0x14
lea ecx, [ebp - 0x3c]
mov eax, 0x1006f4b0
sub eax, 0x49f12cb4
push eax
call fcn.10039590
push 0x22
mov edx, 0x10079b2c
mov dword [ebp - 4], 5
mov ecx, eax
call fcn.1002ccf0
add esp, 4
mov ecx, 0xfb
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x1006f4bc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x100383cd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x100383b0
mov byte [ebp - 0x32], 0
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x40]
mov edx, 0x10079ad4
jmp 0x10038953
mov dword [ebp - 0x3c], 0x77617244
mov dword [ebp - 0x38], 0x6f746341
mov word [ebp - 0x34], 0x72
mov edx, 0x1007ac9c
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov eax, 0x1006f4b0
lea ecx, [ebp - 0x3c]
sub eax, 0x49f12cb4
push eax
call fcn.10039590
push 0x22
mov edx, 0x10079b10
mov dword [ebp - 4], 8
mov ecx, eax
call fcn.1002ccf0
add esp, 4
mov dword [ebp - 0x3c], 0x20505345
mov dword [ebp - 0x38], 0x656d614e
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac92
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov ecx, 0x56
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x1006f4cc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x1003848d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x10038470
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac93
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x40]
call fcn.10025080
mov dword [ebp - 0x3c], 0x20505345
mov dword [ebp - 0x38], 0x656e694c
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x3c]
call fcn.10025080
cmp byte [0x1007ac98], 0
je 0x10038528
mov ecx, 0xac
xor edx, edx
mov al, byte [edx + 0x1006f4dc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x100384fe
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x100384e1
mov byte [ebp - 0x34], 0
push ecx
push 3
push 0x10079b6c
push ecx
mov edx, 0x1007ac94
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x40]
call fcn.10026480
add esp, 0x10
mov dword [ebp - 0x3c], 0x20505345
mov dword [ebp - 0x38], 0x786f42
mov edx, 0x1007ac9a
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x20505345
mov dword [ebp - 0x38], 0x6c616548
mov word [ebp - 0x34], 0x6874
mov byte [ebp - 0x32], 0
mov edx, 0x1007ac9b
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x4c74754f
mov dword [ebp - 0x38], 0x656e69
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x3c]
mov edx, 0x1007ac99
jmp 0x10038953
mov dword [ebp - 0x3c], 0x676f7246
mov dword [ebp - 0x38], 0x65657053
mov word [ebp - 0x34], 0x64
mov edx, 0x1007ac87
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov ecx, 0xaf
xor edx, edx
mov al, byte [edx + 0x1006f4ec]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x100385e4
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x100385c7
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac76
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.10025080
mov ecx, 0x49
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x1006f4fc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x1003862d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x10038610
mov byte [ebp - 0x35], 0
mov edx, 0x1007ac80
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x40]
call fcn.10025080
mov dword [ebp - 0x3c], 0x31646441
mov dword [ebp - 0x38], 0x504130
mov edx, 0x1007ac81
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x18], 0x35646441
mov word [ebp - 0x14], 0x5041
mov byte [ebp - 0x12], 0
mov edx, 0x1007ac75
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x18]
call fcn.10025080
mov dword [ebp - 0x3c], 0x6b636148
mov dword [ebp - 0x38], 0x736f6847
mov word [ebp - 0x34], 0x74
mov edx, 0x1007ac85
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x20323146
mov dword [ebp - 0x38], 0x48646441
mov word [ebp - 0x34], 0x70
mov edx, 0x1007ac7b
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov ecx, 0x4f
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x1006f510]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1003870d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x100386f0
mov byte [ebp - 0x1f], 0
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x30]
mov edx, 0x1007ac71
jmp 0x10038953
mov dword [ebp - 0x3c], 0x4d646f47
mov dword [ebp - 0x38], 0x65646f
mov edx, 0x1007ac8e
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x53746550
mov dword [ebp - 0x38], 0x6c6c696b
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac7a
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x6b6c6157
mov dword [ebp - 0x38], 0x74736146
mov byte [ebp - 0x34], 0
mov edx, 0x1007ac82
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x616d6144
mov dword [ebp - 0x38], 0x2b6567
mov edx, 0x1007ac79
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov ecx, 0x74
xor edx, edx
mov al, byte [edx + str.2DV3_re]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x100387df
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x100387c2
mov byte [ebp - 0x32], 0
mov edx, 0x1007ac78
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x40]
call fcn.10025080
mov dword [ebp - 0x3c], 0x41203846
mov dword [ebp - 0x38], 0x6f6d6d
mov edx, 0x1007ac86
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov dword [ebp - 0x3c], 0x53203446
mov dword [ebp - 0x38], 0x69636975
mov word [ebp - 0x34], 0x6564
mov byte [ebp - 0x32], 0
mov edx, 0x1007ac73
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x3c]
call fcn.10025080
mov ecx, 0x7f
xor edx, edx
mov al, byte [edx + 0x1006f534]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x1003886f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10038852
mov byte [ebp - 0x33], 0
mov edx, 0x1007ac77
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.10025080
mov dword [ebp - 0x3c], 0x6b732043
mov dword [ebp - 0x38], 0x6c6c69
mov edx, 0x1007ac84
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x3c]
call fcn.10025080
cmp byte [0x1007ac84], 0
je 0x10038907
mov ecx, 0x41
xor edx, edx
nop
mov al, byte [edx + 0x1006f550]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2c], al
and ecx, 0x800000ff
jns 0x100388dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x100388c0
mov byte [ebp - 0x1d], 0
push ecx
push 3
push 0x10079b20
push ecx
mov edx, 0x1007ac88
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x2c]
call fcn.10026480
add esp, 0x10
mov dword [ebp - 0x18], 0x6c436f4e
mov word [ebp - 0x14], 0x7069
mov byte [ebp - 0x12], 0
mov edx, 0x1007ac83
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x18]
call fcn.10025080
mov dword [ebp - 0x3c], 0x206c6544
mov dword [ebp - 0x38], 0x6f626552
mov word [ebp - 0x34], 0x6e72
mov byte [ebp - 0x32], 0
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0x3c]
mov edx, 0x1007ac72
call fcn.10025080
call fcn.100259b0
mov ecx, 0x63
xor edx, edx
mov al, byte [edx + str._IHKJEDG_]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x5c], al
and ecx, 0x800000ff
jns 0x10038981
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1b
jl 0x10038964
mov byte [ebp - 0x41], 0
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 0x24
push eax
call fcn.10023d50
add esp, 4
mov ecx, 0xb
xor edx, edx
mov al, byte [edx + str.Fcik_Rh_AzZcyyo]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x100389c2
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x100389a5
mov byte [ebp - 0x1d], 0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x25
push eax
call fcn.10023d50
add esp, 4
mov ecx, 0xdc
xor edx, edx
mov al, byte [edx + 0x1006f5a0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x58], al
and ecx, 0x800000ff
jns 0x10038a03
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x16
jl 0x100389e6
mov byte [ebp - 0x42], 0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x26
push eax
call fcn.10023d50
mov eax, dword [0x1007ac38]
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
add esp, 4
mov dword [ebp - 0x48], 0
movss xmm0, dword [0x1006fa8c]
mov ecx, 0x50
mov word [ebp - 0x44], 0
xor edx, edx
mov byte [ebp - 0x42], 0
divss xmm0, dword [eax + 0x360]
cvtps2pd xmm0, xmm0
mov al, byte [edx + 0x1006f5b8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x5c], al
and ecx, 0x800000ff
jns 0x10038a74
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x10038a57
mov byte [ebp - 0x42], 0
sub esp, 8
mov dword [ebp - 4], 0x27
lea eax, [ebp - 0x5c]
movsd qword [esp], xmm0
push eax
call fcn.10023d50
mov eax, dword [0x1007ac38]
xorps xmm0, xmm0
movups xmmword [ebp - 0x5c], xmm0
add esp, 0xc
mov word [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
mov ecx, 0xe4
mov byte [ebp - 0x42], 0
xor edx, edx
movss xmm0, dword [eax + 0x360]
cvtps2pd xmm0, xmm0
mov al, byte [edx + 0x1006f5d4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x58], al
and ecx, 0x800000ff
jns 0x10038ae3
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x14
jl 0x10038ac6
mov byte [ebp - 0x44], 0
sub esp, 8
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x58]
movsd qword [esp], xmm0
push eax
call fcn.10023d50
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov byte [ebp - 0x44], 0
call fcn.10008980
call fcn.1000d120
call fcn.10007ea0
call fcn.10008160
mov ecx, dword [0x1007ac38]
xor eax, eax
add ecx, 0x1c4c
cmp byte [ecx], al
cmove ecx, eax
call fcn.10022560
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003ae6b
mov esp, ebp
pop ebp
ret 4