Function at 0x529170
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
mov dword [ebp - 4], ecx
movzx eax, byte [0x7110d8]
test eax, eax
jne 0x529377
mov ecx, dword [ebp - 4]
add ecx, 0x210
call fcn.005b0820
fstp dword [ebp - 0x54]
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b2c20
fstp dword [ebp - 0x50]
push ecx
movss xmm0, dword [ebp - 0x50]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x664d78]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x54]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x67119c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.00588410
call fcn.004b2100
mov ecx, eax
call fcn.00597d50
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
call fcn.004bb0d0
mov ecx, dword [ebp - 4]
add ecx, 0x2b0
call fcn.00564570
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3470
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b3b80
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b2d20
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x210
call fcn.005b0880
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b3b60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3590
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3690
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b35d0
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005cfe60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3370
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3800
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
call fcn.004bb150
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3850
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3610
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b33d0
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3650
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005d0200
mov ecx, dword [ebp - 4]
add ecx, 0x2b0
call fcn.00564150
mov ecx, dword [ebp - 4]
add ecx, 0x21100
call fcn.004cbbd0
mov ecx, dword [ebp - 4]
add ecx, 0x15c
call fcn.005e68f0
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005cfe60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b33f0
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005d0200
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b36d0
jmp 0x52983c
call fcn.005750f0
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
call fcn.004bb0d0
call fcn.005750f0
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2b0
call fcn.00564570
call fcn.005750f0
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3470
call fcn.005750f0
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b3b80
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b2d20
mov ecx, dword [ebp - 4]
add ecx, 0x210
call fcn.005b0820
fstp dword [ebp - 0x64]
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b2c20
fstp dword [ebp - 0x60]
push ecx
movss xmm0, dword [ebp - 0x60]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x664d78]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x64]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x67119c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.00588410
call fcn.005750f0
mov dword [ebp - 0x1c], eax
call fcn.004b2100
mov ecx, eax
call fcn.00597d50
call fcn.005750f0
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x210
call fcn.005b0880
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x79c
call fcn.005b3b60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3590
call fcn.005750f0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3690
call fcn.005750f0
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b35d0
call fcn.005750f0
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005cfe60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3370
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3800
call fcn.005750f0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
call fcn.004bb150
call fcn.005750f0
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3850
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3610
call fcn.005750f0
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b3650
call fcn.005750f0
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005d0200
mov ecx, dword [ebp - 4]
add ecx, 0x2b0
call fcn.00564150
call fcn.005750f0
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 4]
add ecx, 0x21100
call fcn.004cbbd0
call fcn.005750f0
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 4]
add ecx, 0x15c
call fcn.005e68f0
call fcn.005750f0
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005cfe60
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b33f0
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.005d0200
call fcn.005750f0
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2aa60
call fcn.004b36d0
call fcn.005750f0
mov dword [ebp - 0x70], eax
call fcn.005750f0
mov dword [ebp - 0xc], eax
push 0x5a
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x529608
push 3
push 8
call fcn.004a64b0
mov ecx, eax
call fcn.00585600
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
cmp ecx, 3
jae 0x529618
jmp 0x52983c
mov edx, dword [0x7110f0]
and edx, 1
jne 0x529647
mov eax, dword [0x7110f0]
or eax, 1
mov dword [0x7110f0], eax
push 0x670a1c
push str.perf_game_render.txt
call fcn.00619da4
add esp, 8
mov dword [0x7110ec], eax
call fcn.005750f0
push eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
push ecx
push str.GR.Total__d__Time__d__n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0x10
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 8]
push eax
push str.GR.DFM__d_n
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x10]
push edx
push str.GR.EFT.UP__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x14]
push ecx
push str.GR.SHW__d_n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0xc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
push eax
push str.GR.STT__d_n
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x1c]
push edx
push str.GR.CLL__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x20]
push ecx
push str.GR.BG.SKY__d_n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0xc
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
push eax
push 0x670aa0
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x28]
push edx
push str.GR.BG.CLD__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x2c]
push ecx
push str.GR.BG.MAIN__d_n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0xc
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x30]
push eax
push str.GR.CHR__d_n
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x34]
push edx
push str.GR.BG.WTR__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x38]
push ecx
push str.GR.BG.EFT__d_n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0xc
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x3c]
push eax
push str.GR.EFT__d_n
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x40]
push edx
push str.GR.ITM__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x44]
push ecx
push str.GR.FLY__d_n
mov edx, dword [0x7110ec]
push edx
call fcn.00619db9
add esp, 0xc
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x48]
push eax
push str.GR.BG.BLK__d_n
mov ecx, dword [0x7110ec]
push ecx
call fcn.00619db9
add esp, 0xc
mov edx, dword [ebp - 0x70]
sub edx, dword [ebp - 0x4c]
push edx
push str.GR.BG.LEN__d_n
mov eax, dword [0x7110ec]
push eax
call fcn.00619db9
add esp, 0xc
mov ecx, dword [0x7110ec]
push ecx
call fcn.0061a4dd
add esp, 4
mov esp, ebp
pop ebp
ret