Function at 0x454100
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp byte [0x7234a4], 0
lea eax, [ecx + 0x2ec]
mov dword [esp], eax
lea eax, [ecx + 0x2c0]
push ebx
mov dword [esp + 8], eax
lea ebx, [ecx + 0x7b0]
lea eax, [ecx + 0x285e4]
push esi
mov dword [esp + 0x14], eax
lea esi, [ecx + 0x21c]
lea eax, [ecx + 0x15c]
mov dword [esp + 0x10], esi
push edi
lea edi, [ecx + 0x2d444]
mov dword [esp + 0x1c], eax
jne 0x4542a1
lea esi, [ecx + 0x31960]
mov ecx, esi
call fcn.004fce20
mov ecx, dword [esp + 0x14]
call fcn.0052dd40
mov ecx, edi
fstp dword [esp + 0x20]
call fcn.0045adc0
mov ecx, dword [0x759468]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x2c]
mov dword [esp + 4], 0x42c80000
movss dword [esp], xmm0
call fcn.004c4c90
push ecx
mov ecx, ebx
movss dword [esp], xmm0
call fcn.00503200
mov ecx, dword [0x722fc8]
call fcn.005067b0
mov ecx, dword [esp + 0xc]
call fcn.0045ed20
mov ecx, dword [esp + 0x10]
call fcn.004d66e0
mov ecx, esi
call fcn.004fcd30
mov ecx, edi
call fcn.0045be50
mov ecx, ebx
call fcn.00531590
mov ecx, ebx
call fcn.005306a0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0052dd90
push dword [esp + 0x20]
mov ecx, ebx
push dword [esp + 0x28]
call fcn.00531570
mov ecx, edi
call fcn.0045c090
mov ecx, edi
call fcn.0045c110
mov ecx, edi
call fcn.0045c0b0
mov ecx, edi
call fcn.005421b0
mov ecx, edi
call fcn.0045bdc0
mov ecx, edi
call fcn.0045c1a0
mov ecx, dword [esp + 0xc]
call fcn.0045f080
mov ecx, esi
call fcn.004fce50
mov ecx, edi
call fcn.0045c1d0
mov ecx, edi
call fcn.0045c0d0
mov ecx, edi
call fcn.0045be00
mov ecx, edi
call fcn.0045c0f0
mov ecx, edi
call fcn.00542570
mov ecx, dword [esp + 0x10]
call fcn.004d61b0
mov ecx, dword [esp + 0x18]
call fcn.00473670
mov ecx, dword [esp + 0x1c]
call fcn.00554140
mov ecx, edi
call fcn.005421b0
mov ecx, edi
call fcn.0045be10
mov ecx, edi
call fcn.00542570
mov ecx, edi
call fcn.0045c130
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004e8e70
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
call fcn.0045ed20
call fcn.004e8e70
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
call fcn.004d66e0
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.0045be50
call fcn.004e8e70
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.00531590
mov ecx, ebx
call fcn.005306a0
mov ecx, esi
call fcn.0052dd40
mov ecx, edi
fstp dword [esp + 0x24]
call fcn.0045adc0
mov ecx, dword [0x759468]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x30]
mov dword [esp + 4], 0x42c80000
movss dword [esp], xmm0
call fcn.004c4c90
push ecx
mov ecx, ebx
movss dword [esp], xmm0
call fcn.00503200
call fcn.004e8e70
mov ecx, dword [0x722fc8]
mov dword [esp + 0x34], eax
call fcn.005067b0
call fcn.004e8e70
mov dword [esp + 0x38], eax
mov ecx, esi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0052dd90
push dword [esp + 0x24]
mov ecx, ebx
push dword [esp + 0x24]
call fcn.00531570
mov ecx, edi
call fcn.0045c090
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.0045c110
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.0045c0b0
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.005421b0
mov ecx, edi
call fcn.0045bdc0
mov ecx, edi
call fcn.0045c1a0
call fcn.004e8e70
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
call fcn.0045f080
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0xc], eax
call fcn.0045c1d0
mov ecx, edi
call fcn.0045c0d0
call fcn.004e8e70
mov dword [esp + 0x44], eax
mov ecx, edi
call fcn.0045c0f0
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.00542570
mov ecx, dword [esp + 0x10]
call fcn.004d61b0
call fcn.004e8e70
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
call fcn.00473670
call fcn.004e8e70
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
call fcn.00554140
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.005421b0
mov ecx, edi
call fcn.0045be10
mov ecx, edi
call fcn.00542570
call fcn.004e8e70
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.0045c130
call fcn.004e8e70
mov edi, eax
call fcn.004e8e70
push 0x5a
mov esi, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x454482
mov ecx, dword [0x722fe8]
push 3
push 8
call fcn.00502a30
mov ebx, dword [esp + 0x14]
sub esi, ebx
cmp esi, 3
jb 0x4546a5
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x759550]
cmp eax, dword [ecx + 0x20]
jg 0x4546ac
call fcn.004e8e70
push eax
push esi
push str.GR.Total__d__Time__d__n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x38]
sub eax, ebx
push eax
push str.GR.DFM__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x48]
add esp, 0x1c
sub eax, dword [esp + 0x28]
push eax
push str.GR.EFT.UP__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x3c]
add esp, 0xc
sub eax, dword [esp + 0x2c]
push eax
push str.GR.SHW__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x40]
add esp, 0xc
sub eax, dword [esp + 0x30]
push eax
push str.GR.STT__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x44]
add esp, 0xc
sub eax, dword [esp + 0x34]
push eax
push str.GR.CLL__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x30]
add esp, 0xc
sub eax, dword [esp + 0x38]
push eax
push str.GR.BG.SKY__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x2c]
add esp, 0xc
sub eax, dword [esp + 0x24]
push eax
push str.GR.BG.LEN__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x48]
add esp, 0xc
sub eax, dword [esp + 0x20]
push eax
push str.GR.BG.CLD__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x4c]
add esp, 0xc
sub eax, dword [esp + 0x3c]
push eax
push str.GR.BG.MAIN__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x18]
add esp, 0xc
sub eax, dword [esp + 0x40]
push eax
push str.GR.CHR__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x50]
add esp, 0xc
sub eax, dword [esp + 0xc]
push eax
push str.GR.BG.WTR__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x54]
add esp, 0xc
sub eax, dword [esp + 0x44]
push eax
push str.GR.BG.EFT__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, dword [esp + 0x48]
push eax
push str.GR.EFT__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, dword [esp + 0x10]
push eax
push str.GR.ITM__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x28]
add esp, 0xc
sub eax, dword [esp + 0x18]
push eax
push str.GR.FLY__d_n
push dword [0x759554]
call fcn.00450940
mov eax, dword [esp + 0x58]
add esp, 0xc
sub eax, dword [esp + 0x1c]
push eax
push str.GR.BG.BLK__d_n
push dword [0x759554]
call fcn.00450940
sub edi, dword [esp + 0x58]
add esp, 0xc
push edi
push str.GR.BG.LEN__d_n
push dword [0x759554]
call fcn.00450940
add esp, 0xc
push dword [0x759554]
call fcn.005ddc12
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x759550
call fcn.00597690
add esp, 4
cmp dword [0x759550], 0xffffffff
jne 0x4544aa
push 0x6790e8
push str.perf_game_render.txt
call fcn.005e3db9
push 0x759550
mov dword [0x759554], eax
call fcn.0059763f
add esp, 0xc
jmp 0x4544aa