Function at 0x458380
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp byte [0x6ffb9c], 0
push ebx
push esi
push edi
mov esi, ecx
jne 0x458519
lea ecx, [esi + 0x22c60]
call fcn.0051de60
lea ecx, [esi + 0x210]
call fcn.00544fe0
lea ecx, [esi + 0x1e7b0]
fstp dword [esp + 0x10]
call fcn.0045ed00
sub esp, 0x10
lea ecx, [esi + 0x79c]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x20]
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41f00000
call fcn.00523be0
mov ecx, dword [0x6ffb54]
call fcn.00527600
lea ecx, [esi + 0x2d8]
call fcn.00462b80
mov ecx, esi
lea ecx, [ecx + 0x2b0]
call fcn.004fb3a0
mov ecx, esi
lea ecx, [ecx + 0x22c60]
call fcn.0051dd40
mov ecx, esi
lea ecx, [ecx + 0x1e7b0]
call fcn.0045faa0
lea ecx, [esi + 0x79c]
call fcn.00548410
lea ecx, [esi + 0x79c]
call fcn.005475b0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x210]
call fcn.00545030
push dword [esp + 0x10]
lea ecx, [esi + 0x79c]
push dword [esp + 0x18]
call fcn.005483f0
mov edi, esi
lea ebx, [edi + 0x1e7b0]
mov ecx, ebx
call fcn.0045fcb0
mov ecx, ebx
call fcn.0045fd30
mov ecx, ebx
call fcn.0045fcd0
mov ecx, ebx
call fcn.00557790
mov ecx, ebx
call fcn.0045fa10
mov ecx, ebx
call fcn.0045fdc0
lea ecx, [esi + 0x2d8]
call fcn.00462fb0
lea ecx, [edi + 0x22c60]
call fcn.0051de90
mov ecx, ebx
call fcn.0045fdf0
mov ecx, ebx
call fcn.0045fcf0
mov ecx, ebx
call fcn.0045fa50
mov ecx, ebx
call fcn.0045fd10
mov ecx, ebx
call fcn.00557b30
lea ecx, [edi + 0x2b0]
call fcn.004fae30
lea ecx, [edi + 0x19844]
call fcn.00478e60
lea ecx, [edi + 0x15c]
call fcn.005680b0
mov ecx, ebx
call fcn.00557790
mov ecx, ebx
call fcn.0045fa60
mov ecx, ebx
call fcn.00557b30
mov ecx, ebx
call fcn.0045fd50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0050b380
lea ebx, [esi + 0x2d8]
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.00462b80
call fcn.0050b380
lea ecx, [esi + 0x2b0]
mov dword [esp + 0x1c], eax
call fcn.004fb3a0
lea ecx, [esi + 0x22c60]
call fcn.0051dec0
call fcn.0050b380
lea ecx, [esi + 0x1e7b0]
mov dword [esp + 0x20], eax
call fcn.0045faa0
call fcn.0050b380
lea ecx, [esi + 0x79c]
mov dword [esp + 0x24], eax
call fcn.00548410
lea ecx, [esi + 0x79c]
call fcn.005475b0
lea ecx, [esi + 0x210]
call fcn.00544fe0
mov ecx, esi
fstp dword [esp + 0x14]
lea ecx, [ecx + 0x1e7b0]
call fcn.0045ed00
sub esp, 0x10
lea ecx, [esi + 0x79c]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x24]
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41f00000
call fcn.00523be0
call fcn.0050b380
mov ecx, dword [0x6ffb54]
mov dword [esp + 0x28], eax
call fcn.00527600
call fcn.0050b380
mov dword [esp + 0x2c], eax
lea ecx, [esi + 0x210]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00545030
push dword [esp + 0x14]
lea ecx, [esi + 0x79c]
push dword [esp + 0x14]
call fcn.005483f0
mov edi, esi
lea esi, [edi + 0x1e7b0]
mov ecx, esi
call fcn.0045fcb0
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0045fd30
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.0045fcd0
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.00557790
mov ecx, esi
call fcn.0045fa10
mov ecx, esi
call fcn.0045fdc0
call fcn.0050b380
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.00462fb0
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.0045fdf0
mov ecx, esi
call fcn.0045fcf0
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0045fd10
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.00557b30
lea ecx, [edi + 0x2b0]
call fcn.004fae30
call fcn.0050b380
lea ecx, [edi + 0x19844]
mov dword [esp + 0x40], eax
call fcn.00478e60
call fcn.0050b380
lea ecx, [edi + 0x15c]
mov dword [esp + 0x44], eax
call fcn.005680b0
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.00557790
mov ecx, esi
call fcn.0045fa60
mov ecx, esi
call fcn.00557b30
call fcn.0050b380
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.0045fd50
call fcn.0050b380
mov edi, eax
call fcn.0050b380
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x458730
mov ecx, dword [0x7031f4]
push 3
push 8
call fcn.005233f0
mov ebx, dword [esp + 0x18]
sub esi, ebx
cmp esi, 3
jb 0x458962
mov eax, dword [0x70336c]
test al, 1
jne 0x458767
or eax, 1
push 0x659800
push str.perf_game_render.txt
mov dword [0x70336c], eax
call fcn.005b680f
add esp, 8
mov dword [0x703370], eax
call fcn.0050b380
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x2c]
sub eax, ebx
push eax
push str.GR.DFM__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x3c]
add esp, 0x1c
sub eax, dword [esp + 0x1c]
push eax
push str.GR.EFT.UP__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x30]
add esp, 0xc
sub eax, dword [esp + 0x20]
push eax
push str.GR.SHW__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x34]
add esp, 0xc
sub eax, dword [esp + 0x24]
push eax
push str.GR.STT__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x38]
add esp, 0xc
sub eax, dword [esp + 0x28]
push eax
push str.GR.CLL__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x20]
add esp, 0xc
sub eax, dword [esp + 0x2c]
push eax
push str.GR.BG.SKY__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, dword [esp + 0x14]
push eax
push str.GR.BG.LEN__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x18]
add esp, 0xc
sub eax, dword [esp + 0x10]
push eax
push str.GR.BG.CLD__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x3c]
add esp, 0xc
sub eax, dword [esp + 0xc]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x40]
add esp, 0xc
sub eax, dword [esp + 0x30]
push eax
push str.GR.CHR__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x44]
add esp, 0xc
sub eax, dword [esp + 0x34]
push eax
push str.GR.BG.WTR__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x48]
add esp, 0xc
sub eax, dword [esp + 0x38]
push eax
push str.GR.BG.EFT__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x4c]
add esp, 0xc
sub eax, dword [esp + 0x3c]
push eax
push str.GR.EFT__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x50]
add esp, 0xc
sub eax, dword [esp + 0x40]
push eax
push str.GR.ITM__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x54]
add esp, 0xc
sub eax, dword [esp + 0x44]
push eax
push str.GR.FLY__d_n
push dword [0x703370]
call fcn.005b7a28
mov eax, dword [esp + 0x58]
add esp, 0xc
sub eax, dword [esp + 0x48]
push eax
push str.GR.BG.BLK__d_n
push dword [0x703370]
call fcn.005b7a28
sub edi, dword [esp + 0x58]
add esp, 0xc
push edi
push str.GR.BG.LEN__d_n
push dword [0x703370]
call fcn.005b7a28
add esp, 0xc
push dword [0x703370]
call fcn.005b7d87
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret