Function at 0x455040
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
push esi
push edi
mov edi, ecx
mov ecx, 0x7527f3
call fcn.00627a20
cmp byte [0x711844], 0
lea eax, [edi + 0x210]
mov dword [esp + 0x14], eax
lea esi, [edi + 0x7a0]
lea eax, [edi + 0x2dc]
mov dword [esp + 0x28], esi
mov dword [esp + 0xc], eax
lea ebx, [edi + 0x241f0]
lea eax, [edi + 0x2b4]
mov dword [esp + 0x10], eax
lea eax, [edi + 0x1f7b4]
mov dword [esp + 0x18], eax
lea eax, [edi + 0x15c]
mov dword [esp + 0x1c], eax
jne 0x455207
lea esi, [edi + 0x28614]
mov ecx, esi
call fcn.005092b0
lea ecx, [edi + 0x210]
call fcn.00538220
mov ecx, ebx
fstp dword [esp + 0x24]
call fcn.0045c560
lea ecx, [edi + 0x25f14]
movss dword [esp + 0x20], xmm0
call fcn.004b90a0
movss xmm1, dword [esp + 0x24]
sub esp, 0x10
mov edi, dword [esp + 0x38]
movaps xmm2, xmm0
movss xmm0, dword [esp + 0x30]
mov ecx, edi
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.0050f390
mov ecx, dword [0x710e8c]
call fcn.005127f0
mov ecx, dword [esp + 0xc]
call fcn.004606a0
mov ecx, dword [esp + 0x10]
call fcn.004e1f10
mov ecx, esi
call fcn.005091d0
mov ecx, ebx
call fcn.0045d370
mov ecx, edi
call fcn.0053bb50
mov ecx, edi
call fcn.0053ac90
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00538280
push dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x28]
call fcn.0053bb30
mov ecx, ebx
call fcn.0045d590
mov ecx, ebx
call fcn.0045d650
mov ecx, ebx
call fcn.0045d5c0
mov ecx, ebx
call fcn.0054daa0
mov ecx, ebx
call fcn.0045d2a0
mov ecx, ebx
call fcn.0045d710
mov ecx, dword [esp + 0xc]
call fcn.00460a50
mov ecx, esi
call fcn.005092e0
mov ecx, ebx
call fcn.0045d750
mov ecx, ebx
call fcn.0045d5f0
mov ecx, ebx
call fcn.0045d2f0
mov ecx, ebx
call fcn.0045d620
mov ecx, ebx
call fcn.0054de40
mov ecx, dword [esp + 0x10]
call fcn.004e1b40
mov ecx, dword [esp + 0x18]
call fcn.004767f0
mov ecx, dword [esp + 0x1c]
call fcn.0055f240
mov ecx, ebx
call fcn.0054daa0
mov ecx, ebx
call fcn.0045d310
mov ecx, ebx
call fcn.0054de40
mov ecx, ebx
call fcn.0045d680
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004f4950
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
call fcn.004606a0
call fcn.004f4950
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
call fcn.004e1f10
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.0045d370
call fcn.004f4950
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.0053bb50
mov ecx, esi
call fcn.0053ac90
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00538220
mov ecx, ebx
fstp dword [esp + 0x28]
call fcn.0045c560
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x38]
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
mov dword [esp], 0x41f00000
call fcn.0050f390
call fcn.004f4950
mov ecx, dword [0x710e8c]
mov dword [esp + 0x14], eax
call fcn.005127f0
call fcn.004f4950
mov dword [esp + 0x38], eax
mov ecx, edi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00538280
push dword [esp + 0x28]
mov ecx, esi
push dword [esp + 0x28]
call fcn.0053bb30
mov ecx, ebx
call fcn.0045d590
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.0045d650
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x24], eax
call fcn.0045d5c0
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x3c], eax
call fcn.0054daa0
mov ecx, ebx
call fcn.0045d2a0
mov ecx, ebx
call fcn.0045d710
call fcn.004f4950
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
call fcn.00460a50
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0xc], eax
call fcn.0045d750
mov ecx, ebx
call fcn.0045d5f0
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x44], eax
call fcn.0045d620
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.0054de40
mov ecx, dword [esp + 0x10]
call fcn.004e1b40
call fcn.004f4950
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
call fcn.004767f0
call fcn.004f4950
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
call fcn.0055f240
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.0054daa0
mov ecx, ebx
call fcn.0045d310
mov ecx, ebx
call fcn.0054de40
call fcn.004f4950
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.0045d680
call fcn.004f4950
mov edi, eax
call fcn.004f4950
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4553e3
mov ecx, dword [0x710eac]
push 3
push 8
call fcn.0050ebc0
mov ebx, dword [esp + 0x20]
sub esi, ebx
cmp esi, 3
jb 0x455606
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x74c784]
cmp eax, dword [ecx + 0x20]
jg 0x45560d
call fcn.004f4950
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x3c]
sub eax, ebx
push eax
push str.GR.DFM__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x4c]
add esp, 0x1c
sub eax, dword [esp + 0x2c]
push eax
push str.GR.EFT.UP__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x40]
add esp, 0xc
sub eax, dword [esp + 0x30]
push eax
push str.GR.SHW__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x20]
add esp, 0xc
sub eax, dword [esp + 0x34]
push eax
push str.GR.STT__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x44]
add esp, 0xc
sub eax, dword [esp + 0x14]
push eax
push str.GR.CLL__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x34]
add esp, 0xc
sub eax, dword [esp + 0x38]
push eax
push str.GR.BG.SKY__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x30]
add esp, 0xc
sub eax, dword [esp + 0x28]
push eax
push str.GR.BG.LEN__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x48]
add esp, 0xc
sub eax, dword [esp + 0x24]
push eax
push str.GR.BG.CLD__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x4c]
add esp, 0xc
sub eax, dword [esp + 0x3c]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x18]
add esp, 0xc
sub eax, dword [esp + 0x40]
push eax
push str.GR.CHR__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x50]
add esp, 0xc
sub eax, dword [esp + 0xc]
push eax
push str.GR.BG.WTR__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x54]
add esp, 0xc
sub eax, dword [esp + 0x44]
push eax
push str.GR.BG.EFT__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, dword [esp + 0x48]
push eax
push str.GR.EFT__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, dword [esp + 0x10]
push eax
push str.GR.ITM__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x28]
add esp, 0xc
sub eax, dword [esp + 0x18]
push eax
push str.GR.FLY__d_n
push dword [0x74c788]
call fcn.004515a0
mov eax, dword [esp + 0x58]
add esp, 0xc
sub eax, dword [esp + 0x1c]
push eax
push str.GR.BG.BLK__d_n
push dword [0x74c788]
call fcn.004515a0
sub edi, dword [esp + 0x58]
add esp, 0xc
push edi
push str.GR.BG.LEN__d_n
push dword [0x74c788]
call fcn.004515a0
add esp, 0xc
push dword [0x74c788]
call fcn.005f581a
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x74c784
call fcn.005a4ca9
add esp, 4
cmp dword [0x74c784], 0xffffffff
jne 0x45540b
push 0x66e358
push str.perf_game_render.txt
call fcn.005ea0cb
push 0x74c784
mov dword [0x74c788], eax
call fcn.005a4c5f
add esp, 0xc
jmp 0x45540b