Function at 0x4ee59f
Capabilities:
Get file version info

Disassembly:
push ebp
push ebx
push edi
mov edx, 8
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4ee5a7
call fcn.005873a0
push dword [esp + 0x38]
call fcn.004fc320
mov edx, dword [esp + 0x30]
lea ecx, [esp]
call fcn.004fc000
mov dword [section..data], 0x4000ef
mov dword [section..data], 0x4000fb
mov dword [section..data], 0x4000fd
push dword [esp]
call fcn.00578e8f
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x4ee608
jg 0x4ee604
cmp ebx, 0
jb 0x4ee608
xor eax, eax
jmp 0x4ee60d
mov eax, 1
or eax, eax
je 0x4ee69f
mov dword [section..data], 0x4000fe
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.File_does_not_exist___
push edx
call fcn.00587330
mov edx, dword [esp + 0xc]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.WNFSM_GetFileVersion
push eax
mov eax, str.windows_filesystem
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x4000ff
mov edx, str.ERROR
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x400100
jmp 0x4eedee
mov dword [section..data], 0x400101
mov dword [section..data], 0x400103
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 4]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [esp + 0x10], eax
mov dword [section..data], 0x400104
cmp dword [esp + 0x10], 0
je 0x4ee6db
xor eax, eax
jmp 0x4ee6e0
mov eax, 1
and eax, eax
je 0x4ee7e9
mov dword [section..data], 0x400105
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x1c], eax
mov dword [section..data], 0x400106
mov ebx, dword [esp + 0x1c]
cmp ebx, 0x715
jne 0x4ee738
mov dword [section..data], 0x400107
mov edx, 0x6ed09c
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x400108
jmp 0x4ee7d0
mov dword [section..data], 0x400108
mov dword [section..data], 0x400109
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__GetFileVersionInfoSize_failed__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.WNFSM_GetFileVersion
push eax
mov eax, str.windows_filesystem
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x40010a
mov edx, str.ERROR
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x40010b
mov dword [section..data], 0x40010c
jmp 0x4eedee
mov dword [section..data], 0x40010d
mov dword [section..data], 0x40010f
push dword [esp + 0x10]
call fcn.00586c00
mov dword [esp + 4], eax
mov dword [section..data], 0x400110
cmp dword [esp + 4], 0
je 0x4ee81f
xor eax, eax
jmp 0x4ee824
mov eax, 1
and eax, eax
je 0x4ee8c9
mov dword [section..data], 0x400111
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Couldnt_allocate_memory__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.WNFSM_GetFileVersion
push eax
mov eax, str.windows_filesystem
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x400112
mov edx, str.ERROR
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x400113
jmp 0x4eedee
mov dword [section..data], 0x400114
mov dword [section..data], 0x400116
push dword [esp + 4]
push dword [esp + 0x14]
push 0
mov eax, dword [esp + 0xc]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
and eax, eax
je 0x4ee8fc
xor eax, eax
jmp 0x4ee901
mov eax, 1
and eax, eax
je 0x4ee9b9
mov dword [section..data], 0x400117
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x1c], eax
mov dword [section..data], 0x400118
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__GetFileVersionInfo_failed__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.WNFSM_GetFileVersion
push eax
mov eax, str.windows_filesystem
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x400119
mov edx, str.ERROR
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x40011a
jmp 0x4eedee
mov dword [section..data], 0x40011b
mov dword [section..data], 0x40011d
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0xc]
push eax
mov eax, 0x6c0ebe
push eax
push dword [esp + 0x10]
call sub.VERSION.dll_VerQueryValueW
and eax, eax
je 0x4ee9ee
xor eax, eax
jmp 0x4ee9f3
mov eax, 1
and eax, eax
je 0x4eeaab
mov dword [section..data], 0x40011e
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x1c], eax
mov dword [section..data], 0x40011f
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__VerQueryValue_failed__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.WNFSM_GetFileVersion
push eax
mov eax, str.windows_filesystem
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x400120
mov edx, str.ERROR
lea ecx, [esp + 0x18]
call fcn.004fc008
mov dword [section..data], 0x400121
jmp 0x4eedee
mov dword [section..data], 0x400122
mov dword [section..data], 0x400124
push dword [esp + 0x34]
mov dword [section..data], 0x400125
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x4eec17
mov dword [section..data], 0x400126
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 8]
cdq
push edx
push eax
and dword [esp], 0xffff0000
and dword [esp + 4], 0
push 0
push 0x10000
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004fc010
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
mov edx, 0x6be384
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 8]
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6be384
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
and dword [esp], 0xffff0000
and dword [esp + 4], 0
push 0
push 0x10000
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004fc010
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6be384
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
pop eax
lea eax, [esp + 0x20]
push eax
call fcn.005872c0
mov dword [section..data], 0x400127
jmp 0x4eedd9
mov dword [section..data], 0x400127
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4eec9b
mov dword [section..data], 0x400128
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 8]
cdq
push edx
push eax
and dword [esp], 0xffff0000
and dword [esp + 4], 0
push 0
push 0x10000
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004fc010
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
lea eax, [esp + 0x20]
push eax
call fcn.005872c0
mov dword [section..data], 0x400129
jmp 0x4eedd9
mov dword [section..data], 0x400129
mov ebx, 2
cmp ebx, dword [esp]
jne 0x4eed01
mov dword [section..data], 0x40012a
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 8]
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
lea eax, [esp + 0x20]
push eax
call fcn.005872c0
mov dword [section..data], 0x40012b
jmp 0x4eedd9
mov dword [section..data], 0x40012b
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4eed82
mov dword [section..data], 0x40012c
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
and dword [esp], 0xffff0000
and dword [esp + 4], 0
push 0
push 0x10000
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004fc010
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
lea eax, [esp + 0x20]
push eax
call fcn.005872c0
mov dword [section..data], 0x40012d
jmp 0x4eedd9
mov dword [section..data], 0x40012d
mov ebx, 4
cmp ebx, dword [esp]
jne 0x4eedd9
mov dword [section..data], 0x40012e
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
and dword [esp], 0xffff
and dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.00574cc0
lea eax, [esp + 0x20]
push eax
call fcn.005872c0
mov dword [section..data], 0x40012f
pop eax
mov dword [section..data], 0x400132
mov dword [section..data], 0x400135
cmp dword [esp + 4], 0
je 0x4eee12
mov dword [section..data], 0x400136
push dword [esp + 4]
call fcn.00586d50
mov dword [section..data], 0x400137
mov dword [section..data], 0x400139
mov edx, dword [esp + 0x18]
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587330
pop eax
push eax
call fcn.004fc2f0
pop edx
add eax, edx
jmp 0x4eee58
push dword [esp + 0x18]
call fcn.00587410
push dword [esp]
call fcn.00587410
add esp, 0x20
pop edi
pop ebx
pop ebp
ret 8