Function at 0x401000
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
push ebx
push esi
xor ebx, ebx
mov ecx, 0x43b68c
mov edx, str.About__
push ecx
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx], al
inc edx
test al, al
jne 0x40101a
pop eax
push 0x104
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebx, eax
test ebx, ebx
je 0x4012a5
push ebx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
push ebx
push 0
lea eax, [ebp - 0x104]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x40129e
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x108]
push eax
push 0x42608c
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x40129e
push 0x426063
mov eax, dword [ebp - 0x108]
movzx edx, word [eax + 2]
push edx
movzx eax, word [eax]
push eax
push 0x426070
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x401125
mov eax, 0x43b70c
mov ecx, eax
mov edx, dword [ebp - 0x214]
push ecx
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx], al
inc edx
test al, al
jne 0x4010f4
pop eax
push 0x42605f
push 0x43b70c
call fcn.0041e5c0
add esp, 8
mov eax, dword [ebp - 0x214]
push eax
push 0x43b68c
call fcn.0041e5c0
add esp, 8
push 0x426053
mov eax, dword [ebp - 0x108]
movzx edx, word [eax + 2]
push edx
movzx eax, word [eax]
push eax
push 0x426070
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x401193
mov eax, dword [ebp - 0x214]
push eax
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x426050
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x426040
mov eax, dword [ebp - 0x108]
movzx edx, word [eax + 2]
push edx
movzx eax, word [eax]
push eax
push 0x426070
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x401201
mov eax, dword [ebp - 0x214]
push eax
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x426050
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x426031
mov eax, dword [ebp - 0x108]
movzx edx, word [eax + 2]
push edx
movzx eax, word [eax]
push eax
push 0x426070
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x40126f
mov eax, dword [ebp - 0x214]
push eax
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x426050
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push 0x200
lea eax, [ebp - 0x418]
push eax
push 0x9c40
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x418]
push eax
push 0x43b70c
call fcn.0041e5c0
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4