Function at 0x1003dc90
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x1006a00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x10070674]
push esi
push edi
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test ebx, ebx
jne 0x1003dcd1
push 0xed1
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call edi
mov ebx, dword [0x10070674]
add esp, 0xc
test ebx, ebx
je 0x1003dcdd
mov esi, dword [ebx + 0x74]
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x1003dcf6
jmp 0x1003dce2
xor esi, esi
mov dword [ebp - 0x2c], esi
push 0x196
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui_impl_win32.cpp
push str.bd___0___Did_you_call_ImGui_ImplWin32_Init____
call edi
add esp, 0xc
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x20], xmm0
push dword [esi]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
movd xmm1, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x10], xmm1
movss dword [ebx + 0x14], xmm0
cmp byte [esi + 0x26], 0
je 0x1003ddb0
mov eax, dword [0x10070674]
test eax, eax
je 0x1003dd44
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0x24], ecx
jmp 0x1003dd64
push 0xed7
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___or_ImGui::SetCurrentContext____
mov dword [ebp - 0x24], 0
call edi
mov eax, dword [0x10070674]
add esp, 0xc
mov ecx, dword [eax + 0x3828]
add eax, 0x3824
mov dword [ebp - 0x28], eax
test ecx, ecx
jns 0x1003dd92
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.1002a1f0
mov eax, dword [ebp - 0x28]
push 0
push 0x1003db40
push 0
push 0
mov dword [eax], 0
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x26], 0
lea eax, [ebp - 0x10]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x10], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0xc]
sbb edx, dword [esi + 0x14]
call fcn.10056460
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x24], xmm0
call fcn.10056460
movss xmm1, dword [ebp - 0x24]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss dword [ebx + 0x18], xmm1
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
call fcn.1003d250
mov eax, dword [0x10070674]
mov ecx, dword [sym.imp.USER32.dll_GetKeyState]
cmp byte [eax + 0x2ecc], 0
je 0x1003de7c
push 0xa0
call ecx
shr eax, 0xf
test al, 1
jne 0x1003de76
mov esi, dword [0x10070674]
test esi, esi
jne 0x1003de50
push 0xed1
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call edi
mov esi, dword [0x10070674]
add esp, 0xc
push 0
push 0x210
xorps xmm3, xmm3
lea ecx, [esi + 8]
call fcn.10003db0
mov dword [esi + 0x33c], 0x210
mov dword [esi + 0x8fc], 0xa0
mov ecx, dword [sym.imp.USER32.dll_GetKeyState]
mov eax, dword [0x10070674]
cmp byte [eax + 0x2f0c], 0
je 0x1003dee2
push 0xa1
call ecx
shr eax, 0xf
test al, 1
jne 0x1003dee2
mov esi, dword [0x10070674]
test esi, esi
jne 0x1003debc
push 0xed1
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call edi
mov esi, dword [0x10070674]
add esp, 0xc
push 0
push 0x214
xorps xmm3, xmm3
lea ecx, [esi + 8]
call fcn.10003db0
mov dword [esi + 0x340], 0x214
mov dword [esi + 0x90c], 0xa1
mov eax, dword [0x10070674]
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
cmp byte [eax + 0x2eec], 0
je 0x1003df51
push 0x5b
call esi
shr eax, 0xf
test al, 1
jne 0x1003df51
mov esi, dword [0x10070674]
test esi, esi
jne 0x1003df25
push 0xed1
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call edi
mov esi, dword [0x10070674]
add esp, 0xc
push 0
push 0x212
xorps xmm3, xmm3
lea ecx, [esi + 8]
call fcn.10003db0
mov dword [esi + 0x228], 0x212
mov dword [esi + 0x904], 0x5b
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
mov eax, dword [0x10070674]
cmp byte [eax + 0x2f2c], 0
je 0x1003dfb4
push 0x5c
call esi
shr eax, 0xf
test al, 1
jne 0x1003dfb4
mov esi, dword [0x10070674]
test esi, esi
jne 0x1003df8e
push 0xed1
push str.D:MyFilesDLLDLL_WITH_HWID_RANPINASImGui_StandaloneImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call edi
mov esi, dword [0x10070674]
add esp, 0xc
push 0
push 0x216
xorps xmm3, xmm3
lea ecx, [esi + 8]
call fcn.10003db0
mov dword [esi + 0x22c], 0x216
mov dword [esi + 0x914], 0x5c
cmp byte [ebx + 0x60], 0
je 0x1003dfbf
or ecx, 0xffffffff
jmp 0x1003dfca
mov eax, dword [0x10070674]
mov ecx, dword [eax + 0x428c]
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x20], ecx
je 0x1003dfda
mov dword [eax + 0x20], ecx
call fcn.1003d060
call fcn.1003d560
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100550a4
mov esp, ebp
pop ebp
ret