Function at 0x471e90
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp byte [0x7178dc], 0
push ebx
push esi
push edi
mov esi, ecx
jne 0x472034
lea ecx, [esi + 0x210]
call fcn.0056f340
lea ecx, [esi + 0x24cc0]
fstp dword [esp + 0x10]
call fcn.005479f0
lea ecx, [esi + 0x208b8]
call fcn.004788c0
sub esp, 0xc
lea ecx, [esi + 0x225bc]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x1c]
mov dword [esp + 4], 0x42c80000
movss dword [esp], xmm0
call fcn.004e0b70
push ecx
lea ecx, [esi + 0x79c]
movss dword [esp], xmm0
call fcn.0054d960
mov ecx, dword [0x7178a0]
call fcn.00551980
lea ecx, [esi + 0x2d8]
call fcn.0047c740
mov ebx, esi
lea ecx, [ebx + 0x2b0]
call fcn.00525140
mov ecx, ebx
lea ecx, [ecx + 0x24cc0]
call fcn.005478d0
mov ecx, ebx
lea ecx, [ecx + 0x208b8]
call fcn.00479660
lea ecx, [esi + 0x79c]
call fcn.005727e0
lea ecx, [esi + 0x79c]
call fcn.00571980
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [ecx + 0x210]
call fcn.0056f390
push dword [esp + 0x10]
lea ecx, [esi + 0x79c]
push dword [esp + 0x18]
call fcn.005727c0
mov edi, ebx
add edi, 0x208b8
mov ecx, edi
call fcn.00479870
mov ecx, edi
call fcn.004798f0
mov ecx, edi
call fcn.00479890
mov ecx, edi
call fcn.00581570
mov ecx, edi
call fcn.004795d0
mov ecx, edi
call fcn.00479980
lea ecx, [esi + 0x2d8]
call fcn.0047cb70
lea ecx, [esi + 0x24cc0]
call fcn.00547a20
mov ecx, edi
call fcn.004799b0
mov ecx, edi
call fcn.004798b0
mov ecx, edi
call fcn.00479610
mov ecx, edi
call fcn.004798d0
mov ecx, edi
call fcn.00581910
lea ecx, [ebx + 0x2b0]
call fcn.00524bf0
lea ecx, [esi + 0x1d568]
call fcn.004932c0
lea ecx, [esi + 0x15c]
call fcn.005928e0
mov ecx, edi
call fcn.00581570
mov ecx, edi
call fcn.00479620
mov ecx, edi
call fcn.00581910
mov ecx, edi
call fcn.00479910
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00535730
lea ebx, [esi + 0x2d8]
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.0047c740
call fcn.00535730
lea ecx, [esi + 0x2b0]
mov dword [esp + 0x1c], eax
call fcn.00525140
call fcn.00535730
lea ecx, [esi + 0x208b8]
mov dword [esp + 0x20], eax
call fcn.00479660
call fcn.00535730
lea ecx, [esi + 0x79c]
mov dword [esp + 0x24], eax
call fcn.005727e0
lea ecx, [esi + 0x79c]
call fcn.00571980
lea ecx, [esi + 0x210]
call fcn.0056f340
mov ecx, esi
fstp dword [esp + 0x14]
lea ecx, [ecx + 0x208b8]
call fcn.004788c0
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.0054d960
call fcn.00535730
mov ecx, dword [0x7178a0]
mov dword [esp + 0x28], eax
call fcn.00551980
call fcn.00535730
mov dword [esp + 0x2c], eax
lea ecx, [esi + 0x210]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0056f390
push dword [esp + 0x14]
lea ecx, [esi + 0x79c]
push dword [esp + 0x14]
call fcn.005727c0
mov edi, esi
lea esi, [edi + 0x208b8]
mov ecx, esi
call fcn.00479870
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004798f0
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00479890
call fcn.00535730
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.00581570
mov ecx, esi
call fcn.004795d0
mov ecx, esi
call fcn.00479980
call fcn.00535730
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.0047cb70
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.004799b0
mov ecx, esi
call fcn.004798b0
call fcn.00535730
mov dword [esp + 0x38], eax
mov ecx, esi
call fcn.004798d0
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.00581910
lea ecx, [edi + 0x2b0]
call fcn.00524bf0
call fcn.00535730
lea ecx, [edi + 0x1d568]
mov dword [esp + 0x40], eax
call fcn.004932c0
call fcn.00535730
lea ecx, [edi + 0x15c]
mov dword [esp + 0x44], eax
call fcn.005928e0
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.00581570
mov ecx, esi
call fcn.00479620
mov ecx, esi
call fcn.00581910
call fcn.00535730
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.00479910
call fcn.00535730
mov edi, eax
call fcn.00535730
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x472240
mov ecx, dword [0x71b1ec]
push 3
push 8
call fcn.0054d170
mov ebx, dword [esp + 0x18]
sub esi, ebx
cmp esi, 3
jb 0x472472
mov eax, dword [0x71b33c]
test al, 1
jne 0x472277
or eax, 1
push 0x66cee0
push str.perf_game_render.txt
mov dword [0x71b33c], eax
call fcn.005e06ff
add esp, 8
mov dword [0x71b340], eax
call fcn.00535730
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x2c]
sub eax, ebx
push eax
push str.GR.DFM__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x3c]
add esp, 0x1c
sub eax, dword [esp + 0x1c]
push eax
push str.GR.EFT.UP__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x30]
add esp, 0xc
sub eax, dword [esp + 0x20]
push eax
push str.GR.SHW__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x34]
add esp, 0xc
sub eax, dword [esp + 0x24]
push eax
push str.GR.STT__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x38]
add esp, 0xc
sub eax, dword [esp + 0x28]
push eax
push str.GR.CLL__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x20]
add esp, 0xc
sub eax, dword [esp + 0x2c]
push eax
push str.GR.BG.SKY__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, dword [esp + 0x14]
push eax
push str.GR.BG.LEN__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x18]
add esp, 0xc
sub eax, dword [esp + 0x10]
push eax
push str.GR.BG.CLD__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x3c]
add esp, 0xc
sub eax, dword [esp + 0xc]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x40]
add esp, 0xc
sub eax, dword [esp + 0x30]
push eax
push str.GR.CHR__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x44]
add esp, 0xc
sub eax, dword [esp + 0x34]
push eax
push str.GR.BG.WTR__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x48]
add esp, 0xc
sub eax, dword [esp + 0x38]
push eax
push str.GR.BG.EFT__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x4c]
add esp, 0xc
sub eax, dword [esp + 0x3c]
push eax
push str.GR.EFT__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x50]
add esp, 0xc
sub eax, dword [esp + 0x40]
push eax
push str.GR.ITM__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x54]
add esp, 0xc
sub eax, dword [esp + 0x44]
push eax
push str.GR.FLY__d_n
push dword [0x71b340]
call fcn.005e1bab
mov eax, dword [esp + 0x58]
add esp, 0xc
sub eax, dword [esp + 0x48]
push eax
push str.GR.BG.BLK__d_n
push dword [0x71b340]
call fcn.005e1bab
sub edi, dword [esp + 0x58]
add esp, 0xc
push edi
push str.GR.BG.LEN__d_n
push dword [0x71b340]
call fcn.005e1bab
add esp, 0xc
push dword [0x71b340]
call fcn.005e26a3
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret