Function at 0x48ea80
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
cmp byte [0x74b83c], 0
push ebx
push esi
push edi
mov esi, ecx
jne 0x48ebf5
lea ecx, [esi + 0x210]
call fcn.00503240
fstp dword [ebp - 0xc]
lea ecx, [esi + 0x22bc8]
call fcn.00448c40
sub esp, 0x10
lea ecx, [esi + 0x79c]
fstp dword [ebp - 8]
movss xmm0, dword [ebp - 8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 0xc]
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41f00000
call fcn.004d8840
mov ecx, dword [0x749684]
call fcn.004e78d0
lea ecx, [esi + 0x2d8]
call fcn.0044c8c0
mov ecx, esi
lea ecx, [ecx + 0x2b0]
call fcn.004b4330
mov ecx, esi
lea ecx, [ecx + 0x22bc8]
call fcn.004491e0
lea ecx, [esi + 0x79c]
call fcn.00506a00
lea ecx, [esi + 0x79c]
call fcn.00505ba0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea ecx, [esi + 0x210]
call fcn.005032a0
push dword [ebp - 0xc]
lea ecx, [esi + 0x79c]
push dword [ebp - 8]
call fcn.005069e0
mov edi, esi
lea ebx, [edi + 0x22bc8]
mov ecx, ebx
call fcn.00449330
mov ecx, ebx
call fcn.004491c0
mov ecx, ebx
call fcn.004492b0
mov ecx, ebx
call fcn.00523230
mov ecx, ebx
call fcn.00449160
mov ecx, ebx
call fcn.00449460
lea ecx, [esi + 0x2d8]
call fcn.0044d020
mov ecx, ebx
call fcn.00449430
mov ecx, ebx
call fcn.00449360
mov ecx, ebx
call fcn.00449350
mov ecx, ebx
call fcn.004492f0
mov ecx, ebx
call fcn.005235d0
lea ecx, [edi + 0x2b0]
call fcn.004b3f10
lea ecx, [edi + 0x1de2c]
call fcn.00457740
lea ecx, [edi + 0x15c]
call fcn.00538550
mov ecx, ebx
call fcn.00523230
mov ecx, ebx
call fcn.00449310
mov ecx, ebx
call fcn.005235d0
mov ecx, ebx
call fcn.004491a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004c4e00
lea ebx, [esi + 0x2d8]
mov dword [ebp - 0x10], eax
mov ecx, ebx
call fcn.0044c8c0
call fcn.004c4e00
lea ecx, [esi + 0x2b0]
mov dword [ebp - 0x14], eax
call fcn.004b4330
call fcn.004c4e00
lea ecx, [esi + 0x22bc8]
mov dword [ebp - 0x18], eax
call fcn.004491e0
call fcn.004c4e00
lea ecx, [esi + 0x79c]
mov dword [ebp - 0x1c], eax
call fcn.00506a00
lea ecx, [esi + 0x79c]
call fcn.00505ba0
lea ecx, [esi + 0x210]
call fcn.00503240
mov ecx, esi
fstp dword [ebp - 8]
lea ecx, [ecx + 0x22bc8]
call fcn.00448c40
sub esp, 0x10
lea ecx, [esi + 0x79c]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 8]
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41f00000
call fcn.004d8840
call fcn.004c4e00
mov ecx, dword [0x749684]
mov dword [ebp - 0x20], eax
call fcn.004e78d0
call fcn.004c4e00
mov dword [ebp - 0x24], eax
lea ecx, [esi + 0x210]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
call fcn.005032a0
push dword [ebp - 0xc]
lea ecx, [esi + 0x79c]
push dword [ebp - 8]
call fcn.005069e0
mov edi, esi
lea esi, [edi + 0x22bc8]
mov ecx, esi
call fcn.00449330
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.004491c0
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 8], eax
call fcn.004492b0
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 4], eax
call fcn.00523230
mov ecx, esi
call fcn.00449160
mov ecx, esi
call fcn.00449460
call fcn.004c4e00
mov ecx, ebx
mov dword [ebp - 0x28], eax
call fcn.0044d020
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0x2c], eax
call fcn.00449430
mov ecx, esi
call fcn.00449360
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0x30], eax
call fcn.004492f0
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0x34], eax
call fcn.005235d0
lea ecx, [edi + 0x2b0]
call fcn.004b3f10
call fcn.004c4e00
lea ecx, [edi + 0x1de2c]
mov dword [ebp - 0x38], eax
call fcn.00457740
call fcn.004c4e00
lea ecx, [edi + 0x15c]
mov dword [ebp - 0x3c], eax
call fcn.00538550
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0x40], eax
call fcn.00523230
mov ecx, esi
call fcn.00449310
mov ecx, esi
call fcn.005235d0
call fcn.004c4e00
mov ecx, esi
mov dword [ebp - 0x44], eax
call fcn.004491a0
call fcn.004c4e00
mov edi, eax
call fcn.004c4e00
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x48edf2
mov ecx, dword [0x7474a0]
push 3
push 8
call fcn.004d5c70
mov ebx, dword [ebp - 0x10]
sub esi, ebx
cmp esi, 3
jb 0x48efd9
mov eax, dword [0x74b84c]
test al, 1
jne 0x48ee28
or eax, 1
push 0x69f994
push str.perf_game_render.txt
mov dword [0x74b84c], eax
call fcn.0056ae3a
add esp, 8
mov dword [0x74b848], eax
call fcn.004c4e00
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x14]
sub eax, ebx
push eax
push str.GR.DFM__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
push eax
push str.GR.EFT.UP__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
push eax
push str.GR.SHW__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
push eax
push str.GR.STT__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x24]
add esp, 0x40
sub eax, dword [ebp - 0x20]
push eax
push str.GR.CLL__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x24]
push eax
push str.GR.BG.SKY__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xc]
push eax
push str.GR.BG.LEN__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 8]
push eax
push str.GR.BG.CLD__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 4]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
push eax
push str.GR.CHR__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x30]
add esp, 0x48
sub eax, dword [ebp - 0x2c]
push eax
push str.GR.BG.WTR__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x30]
push eax
push str.GR.BG.EFT__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x34]
push eax
push str.GR.EFT__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
push eax
push str.GR.ITM__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x3c]
push eax
push str.GR.FLY__d_n
push dword [0x74b848]
call fcn.0056ae4f
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x40]
push eax
push str.GR.BG.BLK__d_n
push dword [0x74b848]
call fcn.0056ae4f
sub edi, dword [ebp - 0x44]
add esp, 0x48
push edi
push str.GR.BG.LEN__d_n
push dword [0x74b848]
call fcn.0056ae4f
push dword [0x74b848]
call fcn.0056b90b
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret