Function at 0x413d90
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xc48
push ecx
push edi
lea edi, [esp + 8]
mov eax, 0xcccccccc
mov ecx, 0x312
rep stosd dword es:[edi], eax
pop edi
pop ecx
mov esi, dword [ebp + 8]
cmp dword [0x59c344], 0
jne 0x413f35
call fcn.0052fe80
cmp al, 0
je 0x413e83
push 0x400
lea eax, [ebp - 0x808]
push eax
push dword [0x566240]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x808]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc48]
push eax
call fcn.0053b090
pop ecx
mov dword [0x59c344], eax
push dword [0x59c344]
push dword [ebp - 0xc48]
push 0
lea eax, [ebp - 0x808]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
cmp eax, 0
jne 0x413e7e
push dword [0x59c344]
call fcn.0053b0a0
pop ecx
mov dword [0x59c344], 0
mov dword [esi], 0
push 0x54a5de
call fcn.0040e8d0
pop ecx
push eax
push 0x54a5de
mov ecx, esi
call fcn.0040cb20
cmp dword [esi], 0
je 0x413e72
mov ebx, dword [esi]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
mov edx, esi
mov eax, dword [ebp + 8]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
jmp 0x413f35
push 0x400
lea eax, [ebp - 0xc0c]
push eax
push dword [0x566240]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0xc0c]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
push eax
call fcn.0053b090
pop ecx
mov dword [0x59c344], eax
push dword [0x59c344]
push dword [ebp - 0xc4c]
push 0
lea eax, [ebp - 0xc0c]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
cmp eax, 0
jne 0x413f35
push dword [0x59c344]
call fcn.0053b0a0
pop ecx
mov dword [0x59c344], 0
mov dword [esi], 0
push 0x54a5de
call fcn.0040e8d0
pop ecx
push eax
push 0x54a5de
mov ecx, esi
call fcn.0040cb20
cmp dword [esi], 0
je 0x413f29
mov ebx, dword [esi]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
mov edx, esi
mov eax, dword [ebp + 8]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xc14], 0
call fcn.0052fe80
cmp al, 0
je 0x4140f1
mov dword [ebp - 0xc50], str.StringFileInfo040904E4_
mov dword [ebp - 0xc20], 0
push dword [ebp - 0xc50]
call fcn.0053fd10
pop ecx
push eax
push dword [ebp - 0xc50]
lea ecx, [ebp - 0xc20]
call fcn.0040cbb0
lea eax, [ebp - 0xc24]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0040cf40
lea eax, [ebp - 0xc24]
push eax
lea eax, [ebp - 0xc20]
push eax
lea eax, [ebp - 0xc28]
push eax
call fcn.0040dcb0
add esp, 0xc
mov byte [ebp - 0xc41], 0
mov dword [ebp - 0xc2c], 0
push 1
lea eax, [ebp - 0xc41]
push eax
lea ecx, [ebp - 0xc2c]
call fcn.0040cb20
cmp dword [ebp - 0xc2c], 0
je 0x413fe7
mov ebx, dword [ebp - 0xc2c]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0xc30]
push eax
lea ecx, [ebp - 0xc2c]
call fcn.0040cf40
lea eax, [ebp - 0xc30]
push eax
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0xc34]
push eax
call fcn.0040dcb0
add esp, 0xc
lea eax, [ebp - 0xc34]
push eax
lea ecx, [ebp - 0xc20]
call fcn.0040d2e0
cmp dword [ebp - 0xc34], 0
je 0x41403c
mov ecx, dword [ebp - 0xc34]
call fcn.0040c8f0
cmp dword [ebp - 0xc30], 0
je 0x414050
mov ecx, dword [ebp - 0xc30]
call fcn.0040c8f0
cmp dword [ebp - 0xc2c], 0
je 0x414064
mov ecx, dword [ebp - 0xc2c]
call fcn.0040c8f0
cmp dword [ebp - 0xc28], 0
je 0x414078
mov ecx, dword [ebp - 0xc28]
call fcn.0040c8f0
cmp dword [ebp - 0xc24], 0
je 0x41408c
mov ecx, dword [ebp - 0xc24]
call fcn.0040c8f0
lea eax, [ebp - 0xc18]
push eax
lea eax, [ebp - 0xc1c]
push eax
lea ecx, [ebp - 0xc20]
call fcn.0040d280
push eax
push dword [0x59c344]
call sub.VERSION.dll_VerQueryValueW
cmp eax, 0
je 0x4140d4
push dword [ebp - 0xc1c]
call fcn.0053fd10
pop ecx
push eax
push dword [ebp - 0xc1c]
lea ecx, [ebp - 0xc14]
call fcn.0040cbb0
cmp dword [ebp - 0xc20], 0
je 0x414203
mov ecx, dword [ebp - 0xc20]
call fcn.0040c8f0
jmp 0x414203
mov dword [ebp - 0xc38], 0
push 0x54a5df
call fcn.0040e8d0
pop ecx
push eax
push 0x54a5df
lea ecx, [ebp - 0xc38]
call fcn.0040cb20
cmp dword [ebp - 0xc38], 0
je 0x41412f
mov ebx, dword [ebp - 0xc38]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
push dword [ebp + 0xc]
lea eax, [ebp - 0xc38]
push eax
lea eax, [ebp - 0xc3c]
push eax
call fcn.0040dcb0
add esp, 0xc
lea eax, [ebp - 0xc18]
push eax
lea eax, [ebp - 0xc1c]
push eax
lea ecx, [ebp - 0xc3c]
call fcn.0040d1c0
push eax
push dword [0x59c344]
call sub.VERSION.dll_VerQueryValueA
mov ebx, eax
cmp dword [ebp - 0xc3c], 0
je 0x414183
mov ecx, dword [ebp - 0xc3c]
call fcn.0040c8f0
cmp dword [ebp - 0xc38], 0
je 0x414197
mov ecx, dword [ebp - 0xc38]
call fcn.0040c8f0
cmp ebx, 0
je 0x414203
mov ebx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc40], 0
cmp ebx, 0
je 0x4141dd
push ebx
call fcn.0040e8d0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xc40]
call fcn.0040cb20
cmp dword [ebp - 0xc40], 0
je 0x4141dd
mov ebx, dword [ebp - 0xc40]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0xc40]
push eax
lea ecx, [ebp - 0xc14]
call fcn.0040d2e0
cmp dword [ebp - 0xc40], 0
je 0x414203
mov ecx, dword [ebp - 0xc40]
call fcn.0040c8f0
push esi
lea ecx, [ebp - 0xc14]
call fcn.0040cda0
cmp dword [ebp - 0xc14], 0
je 0x414223
mov ecx, dword [ebp - 0xc14]
call fcn.0040c8f0
mov eax, dword [ebp + 8]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret