Function at 0x492f90
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp byte [0x7ddeec], 0
push ebx
push esi
push edi
mov edi, ecx
jne 0x493169
lea ecx, [edi + 0x27c]
call fcn.005a52e0
lea ecx, [edi + 0x3cbfc]
fstp dword [esp + 0xc]
call fcn.0057f860
lea esi, [edi + 0x378fc]
mov ecx, esi
call fcn.0049a8c0
subss xmm0, dword [edi + 0x84]
sub esp, 0x10
lea ecx, [edi + 0x81c]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x80]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x7c]
movss dword [esp], xmm0
call fcn.0056ef60
mov ecx, dword [0x7ddea0]
call fcn.00581b70
lea ecx, [edi + 0x348]
call fcn.0049ec70
lea ecx, [edi + 0x31c]
call fcn.00543f70
mov ecx, dword [0x7e0fd0]
call fcn.00536dd0
test al, al
je 0x49304d
lea ecx, [edi + 0x3cbac]
call fcn.005743f0
lea ecx, [edi + 0x3cbfc]
call fcn.0057f780
mov ecx, esi
call fcn.0049b920
lea ecx, [edi + 0x81c]
call fcn.005a40d0
lea ecx, [edi + 0x81c]
call fcn.005a31c0
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0x27c]
call fcn.005a5340
push dword [esp + 0xc]
lea ecx, [edi + 0x81c]
push dword [esp + 0x14]
call fcn.005a40b0
mov ecx, esi
call fcn.0049bb30
mov ecx, esi
call fcn.0049bbb0
mov ecx, esi
call fcn.0049bb50
mov ecx, esi
call fcn.005ba060
mov ecx, esi
call fcn.0049b890
mov ecx, esi
call fcn.0049bc40
lea ecx, [edi + 0x348]
call fcn.0049f000
mov ecx, dword [0x7e0fd0]
call fcn.00536dd0
test al, al
je 0x4930ec
lea ecx, [edi + 0x3cbac]
call fcn.005745d0
lea ecx, [edi + 0x3cbfc]
call fcn.0057f890
mov ecx, esi
call fcn.0049bc70
mov ecx, esi
call fcn.0049bb70
mov ecx, esi
call fcn.0049b8d0
mov ecx, esi
call fcn.0049bb90
mov ecx, esi
call fcn.005ba450
lea ecx, [edi + 0x31c]
call fcn.00543b50
lea ecx, [edi + 0x2c874]
call fcn.004b6f10
lea ecx, [edi + 0x184]
call fcn.005d3e40
mov ecx, esi
call fcn.005ba060
mov ecx, esi
call fcn.0049b8e0
mov ecx, esi
call fcn.005ba450
mov ecx, esi
call fcn.0049bbd0
lea ecx, [edi + 0x39104]
call fcn.004f1f20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00556330
lea ecx, [edi + 0x348]
mov dword [esp + 0x18], eax
call fcn.0049ec70
call fcn.00556330
lea ecx, [edi + 0x31c]
mov dword [esp + 0x1c], eax
call fcn.00543f70
mov ecx, dword [0x7e0fd0]
call fcn.00536dd0
test al, al
je 0x4931ab
lea ecx, [edi + 0x3cbac]
call fcn.005743f0
lea ecx, [edi + 0x3cbfc]
call fcn.0057f780
call fcn.00556330
mov dword [esp + 0x20], eax
lea eax, [edi + 0x378fc]
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.0049b920
call fcn.00556330
lea ecx, [edi + 0x81c]
mov dword [esp + 0x24], eax
call fcn.005a40d0
lea ecx, [edi + 0x81c]
call fcn.005a31c0
lea ecx, [edi + 0x27c]
call fcn.005a52e0
lea ecx, [edi + 0x3cbfc]
fstp dword [esp + 0x14]
call fcn.0057f860
mov ecx, dword [esp + 0x10]
call fcn.0049a8c0
mov esi, edi
lea ecx, [edi + 0x81c]
sub esp, 0x10
subss xmm0, dword [esi + 0x84]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x80]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x7c]
movss dword [esp], xmm0
call fcn.0056ef60
call fcn.00556330
mov ecx, dword [0x7ddea0]
mov dword [esp + 0xc], eax
call fcn.00581b70
call fcn.00556330
mov dword [esp + 0x28], eax
lea ecx, [edi + 0x27c]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.005a5340
push dword [esp + 0x14]
lea ecx, [edi + 0x81c]
push dword [esp + 0x14]
call fcn.005a40b0
lea ebx, [esi + 0x378fc]
mov ecx, ebx
call fcn.0049bb30
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.0049bbb0
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.0049bb50
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.005ba060
mov ecx, ebx
call fcn.0049b890
mov ecx, ebx
call fcn.0049bc40
call fcn.00556330
lea ecx, [esi + 0x348]
mov dword [esp + 0x30], eax
call fcn.0049f000
call fcn.00556330
mov ecx, dword [0x7e0fd0]
mov dword [esp + 0x34], eax
call fcn.00536dd0
test al, al
je 0x49331b
lea ecx, [esi + 0x3cbac]
call fcn.005745d0
mov ecx, ebx
call fcn.0049bc70
mov ecx, ebx
call fcn.0049bb70
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.0049bb90
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x3c], eax
call fcn.005ba450
lea ecx, [esi + 0x31c]
call fcn.00543b50
call fcn.00556330
lea ecx, [esi + 0x2c874]
mov dword [esp + 0x40], eax
call fcn.004b6f10
call fcn.00556330
lea ecx, [esi + 0x184]
mov dword [esp + 0x44], eax
call fcn.005d3e40
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.005ba060
mov ecx, ebx
call fcn.0049b8e0
mov ecx, ebx
call fcn.005ba450
call fcn.00556330
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.0049bbd0
call fcn.00556330
mov ebx, eax
call fcn.00556330
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4933d4
mov ecx, dword [0x7ddec0]
push 3
push 8
call fcn.0056e790
mov edi, dword [esp + 0x18]
sub esi, edi
cmp esi, 3
jb 0x4935f7
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x7e10cc]
cmp eax, dword [ecx + 0x20]
jg 0x4935fe
call fcn.00556330
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x2c]
sub eax, edi
push eax
push str.GR.DFM__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x3c]
add esp, 0x1c
sub eax, dword [esp + 0x1c]
push eax
push str.GR.EFT.UP__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x30]
add esp, 0xc
sub eax, dword [esp + 0x20]
push eax
push str.GR.SHW__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x18]
add esp, 0xc
sub eax, dword [esp + 0x24]
push eax
push str.GR.STT__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x34]
add esp, 0xc
sub eax, dword [esp + 0xc]
push eax
push str.GR.CLL__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x20]
add esp, 0xc
sub eax, dword [esp + 0x28]
push eax
push str.GR.BG.SKY__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, dword [esp + 0x14]
push eax
push str.GR.BG.LEN__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x38]
add esp, 0xc
sub eax, dword [esp + 0x10]
push eax
push str.GR.BG.CLD__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x3c]
add esp, 0xc
sub eax, dword [esp + 0x2c]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x40]
add esp, 0xc
sub eax, dword [esp + 0x30]
push eax
push str.GR.CHR__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x44]
add esp, 0xc
sub eax, dword [esp + 0x34]
push eax
push str.GR.BG.WTR__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x48]
add esp, 0xc
sub eax, dword [esp + 0x38]
push eax
push str.GR.BG.EFT__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x4c]
add esp, 0xc
sub eax, dword [esp + 0x3c]
push eax
push str.GR.EFT__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x50]
add esp, 0xc
sub eax, dword [esp + 0x40]
push eax
push str.GR.ITM__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x54]
add esp, 0xc
sub eax, dword [esp + 0x44]
push eax
push str.GR.FLY__d_n
push dword [0x7e10e4]
call fcn.0048eb60
mov eax, dword [esp + 0x58]
add esp, 0xc
sub eax, dword [esp + 0x48]
push eax
push str.GR.BG.BLK__d_n
push dword [0x7e10e4]
call fcn.0048eb60
sub ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push str.GR.BG.LEN__d_n
push dword [0x7e10e4]
call fcn.0048eb60
add esp, 0xc
push dword [0x7e10e4]
call fcn.00659cec
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x7e10cc
call fcn.00617e33
add esp, 4
cmp dword [0x7e10cc], 0xffffffff
jne 0x4933fc
push 0x6eff88
push str.perf_game_render.txt
call fcn.006534e2
push 0x7e10cc
mov dword [0x7e10e4], eax
call fcn.00617de9
add esp, 0xc
jmp 0x4933fc