Function at 0x4c53e0
Capabilities:
Get file version info

Disassembly:
mov eax, dword [0x70b418]
sub esp, 0x14c
test eax, eax
je 0x4c59d0
mov eax, dword [0x70b41c]
mov ecx, dword [0x695ef8]
cdq
cmp ecx, eax
push ebx
push esi
mov ebx, 1
jne 0x4c5417
mov eax, dword [0x695efc]
cmp eax, edx
je 0x4c55af
call fcn.004c5390
cmp eax, dword [0x70b88c]
jbe 0x4c5429
mov dword [0x70b88c], eax
cmp eax, dword [0x69035c]
jae 0x4c5436
mov dword [0x69035c], eax
mov esi, dword [0x70b890]
mov ecx, dword [0x695ef8]
shr eax, 0x14
add esi, eax
mov dword [0x70b890], esi
mov dword [0x70b41c], ecx
call fcn.00449300
mov edx, dword [0x70b898]
mov ecx, eax
mov dword [0x70b894], eax
mov dword [0x70b898], eax
mov eax, dword [0x70b83c]
sub ecx, edx
test eax, eax
mov dword [0x70b89c], ecx
jne 0x4c5483
mov ecx, ebx
mov dword [0x70b89c], ecx
mov esi, dword [0x70b83c]
mov edx, dword [0x70b840]
inc esi
add edx, ecx
cmp ecx, 0x10
mov dword [0x70b83c], esi
mov dword [0x70b840], edx
jbe 0x4c54bc
mov edx, dword [0x70b844]
mov eax, dword [0x70b848]
add edx, ecx
inc eax
mov dword [0x70b844], edx
mov dword [0x70b848], eax
cmp ecx, 0x14
jbe 0x4c54da
mov edx, dword [0x70b84c]
mov eax, dword [0x70b850]
add edx, ecx
inc eax
mov dword [0x70b84c], edx
mov dword [0x70b850], eax
cmp ecx, 0x19
jbe 0x4c54f8
mov edx, dword [0x70b854]
mov eax, dword [0x70b858]
add edx, ecx
inc eax
mov dword [0x70b854], edx
mov dword [0x70b858], eax
cmp ecx, 0x21
jbe 0x4c5516
mov edx, dword [0x70b85c]
mov eax, dword [0x70b860]
add edx, ecx
inc eax
mov dword [0x70b85c], edx
mov dword [0x70b860], eax
cmp ecx, 0x28
jbe 0x4c5534
mov edx, dword [0x70b864]
mov eax, dword [0x70b868]
add edx, ecx
inc eax
mov dword [0x70b864], edx
mov dword [0x70b868], eax
cmp ecx, 0x32
jbe 0x4c5552
mov edx, dword [0x70b86c]
mov eax, dword [0x70b870]
add edx, ecx
inc eax
mov dword [0x70b86c], edx
mov dword [0x70b870], eax
cmp ecx, 0x42
jbe 0x4c5570
mov edx, dword [0x70b874]
mov eax, dword [0x70b878]
add edx, ecx
inc eax
mov dword [0x70b874], edx
mov dword [0x70b878], eax
cmp ecx, 0x64
jbe 0x4c558e
mov edx, dword [0x70b87c]
mov eax, dword [0x70b880]
add edx, ecx
inc eax
mov dword [0x70b87c], edx
mov dword [0x70b880], eax
cmp ecx, 0xc8
jbe 0x4c55af
mov edx, dword [0x70b884]
mov eax, dword [0x70b888]
add edx, ecx
inc eax
mov dword [0x70b884], edx
mov dword [0x70b888], eax
mov edx, dword [0x86b838]
mov eax, dword [0x70b418]
cmp eax, 0x898
mov byte [0x6a5d5a], bl
mov byte [edx + 0x11], bl
mov byte [0x86bfe5], bl
jg 0x4c5614
je 0x4c560a
cmp eax, 0x64
je 0x4c55ec
cmp eax, 0x44c
jne 0x4c59c3
push str.map_name_b30
jmp 0x4c59bb
mov eax, 0x6642c0
call fcn.004c6ad0
mov eax, dword [0x70b418]
inc eax
pop esi
mov dword [0x70b418], eax
pop ebx
add esp, 0x14c
ret
push str.map_name_c10
jmp 0x4c59bb
cmp eax, 0xc4e
je 0x4c59b6
cmp eax, 0x125c
jne 0x4c59c3
push ebp
push edi
push 0x665f94
push str.timedemo.txt
mov byte [0x70b49b], bl
call fcn.0061f826
add esp, 8
mov edi, eax
push 0x104
lea eax, [esp + 0x5c]
push eax
push 0
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
push 2
push 0
push edi
call fcn.00621444
add esp, 0xc
push 0x20
lea ecx, [esp + 0x3c]
push ecx
push 0
push 0
push 0
push 0x400
call dword [sym.imp.kernel32.dll_GetDateFormatA]
push 0x20
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0
push 0x400
call dword [sym.imp.kernel32.dll_GetTimeFormatA]
mov eax, dword [0x6e9a88]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x40]
push edx
push str.Date___Time:__s__s___dms__n
push edi
call fcn.0061f482
mov eax, dword [0x714788]
add esp, 0x14
cmp eax, 0x270e
jne 0x4c56c6
mov eax, str.2.0a
jmp 0x4c56fd
mov eax, dword [0x7b2a0c]
cmp eax, 0xffff0101
jae 0x4c56d9
mov eax, str.Fixed_Function
jmp 0x4c56fd
mov ecx, eax
and ecx, 0xff
push ecx
movzx edx, ah
push edx
push str._d._d
push 0x6b1134
call fcn.0061ed33
add esp, 0x10
mov eax, 0x6b1134
mov ecx, dword [0x7147b8]
test ecx, ecx
je 0x4c575d
movzx edx, word [0x7147c2]
push eax
movzx eax, word [0x7147c0]
push eax
movzx eax, word [0x7147c4]
push edx
movzx edx, word [0x7147c6]
push eax
mov eax, dword [0x7147b4]
push edx
mov edx, dword [0x7147d0]
push ecx
mov ecx, dword [0x7147b0]
push eax
mov eax, dword [0x7147c8]
push ecx
mov ecx, dword [0x7147cc]
shr edx, 0x14
push edx
push eax
push ecx
push str._dMHz___dMB___dM__s__s__DeviceID0x_04x__Driver_d._d._d._d_Shader_s_n
push edi
call fcn.0061f482
add esp, 0x34
jmp 0x4c5778
mov edx, dword [0x7147c8]
mov eax, dword [0x7147cc]
push edx
push eax
push str._dMHz___dMB_n
push edi
call fcn.0061f482
add esp, 0x10
mov ecx, dword [0x6dcc60]
push ecx
lea edx, [esp + 0x5c]
push edx
push 0x664340
push edi
call fcn.0061f482
add esp, 0x10
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x5c]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebp, eax
push ebp
push 0
call dword [sym.imp.kernel32.dll_GlobalAlloc]
mov esi, eax
push esi
push ebp
push 0
lea edx, [esp + 0x64]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
push 0x65af3c
push esi
call sub.VERSION.dll_VerQueryValueA
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov edx, eax
and edx, 0xffff
push edx
shr eax, 0x10
push eax
mov eax, ecx
and eax, 0xffff
push eax
shr ecx, 0x10
push ecx
push str.____Version_d._d._d._d__n
push edi
call fcn.0061f482
add esp, 0x18
push esi
call dword [sym.imp.kernel32.dll_GlobalFree]
mov ebp, dword [0x70b888]
cmp ebp, ebx
mov ebx, 0x65bcdc
je 0x4c581d
mov ebx, 0x665ed0
mov esi, dword [0x70b840]
fild dword [0x70b840]
test esi, esi
jge 0x4c5833
fadd qword [0x66c5b8]
mov ecx, dword [0x70b83c]
mov eax, dword [0x70b890]
xor edx, edx
div ecx
mov edx, dword [0x69035c]
shr edx, 0x14
push eax
push edx
mov eax, dword [0x70b88c]
shr eax, 0x14
push eax
mov eax, dword [0x70b848]
imul eax, eax, 0x64
xor edx, edx
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b844]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b850]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b84c]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b858]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b854]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b860]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b85c]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b868]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b864]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b870]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b86c]
imul eax, eax, 0x64
div esi
xor edx, edx
push eax
mov eax, dword [0x70b878]
imul eax, eax, 0x64
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b874]
imul eax, eax, 0x64
div esi
push eax
mov eax, dword [0x70b880]
fild dword [0x70b884]
imul eax, eax, 0x64
xor edx, edx
div ecx
xor edx, edx
push eax
mov eax, dword [0x70b87c]
imul eax, eax, 0x64
div esi
push eax
push ebx
mov ebx, dword [0x70b884]
test ebx, ebx
push ebp
jge 0x4c593e
fadd dword [0x66c508]
mov eax, ebp
fmul dword [0x66c540]
imul eax, eax, 0x64
xor edx, edx
div ecx
sub esp, 8
xor edx, edx
fstp qword [esp]
mov dword [esp + 0x6c], ecx
fild dword [esp + 0x6c]
push eax
mov eax, ebx
imul eax, eax, 0x64
div esi
test ecx, ecx
push eax
jge 0x4c5970
fadd qword [0x66c5b8]
fdivr st(1)
sub esp, 0x10
fdivr qword [0x66c9e8]
fstp qword [esp + 8]
fmul qword [0x66c9e0]
fstp qword [esp]
push ecx
push str.Frames_d_nTotal_Time_.2fs_nAverage_frame_rate_.2ffps_nBelow__5fps__2d____time____d____frames____.3fs_spent_in__d_frame_s_nBelow_10fps__2d____time____d____frames__nBelow_15fps__2d____time____d____frames__nBelow_20fps__2d____time____d____frames__nBelow_25fps__2d____time____d____frames__nBelow_30fps__2d____time____d____frames__nBelow_40fps__2d____time____d____frames__nBelow_50fps__2d____time____d____frames__nBelow_60fps__2d____time____d____frames__nMemory_used_Max_dMB__Min_dMB__Ave_dMB_n_n
push edi
call fcn.0061f482
push edi
call fcn.0061f885
mov eax, dword [0x70b418]
add esp, 0x84
pop edi
pop ebp
inc eax
pop esi
mov dword [0x70b418], eax
pop ebx
add esp, 0x14c
ret
push str.map_name_d20
call fcn.004829d0
add esp, 4
mov eax, dword [0x70b418]
inc eax
pop esi
mov dword [0x70b418], eax
pop ebx
add esp, 0x14c
ret