Function at 0x409fe0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x541658
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x5a379c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x70], 0
call fcn.00409f40
add esp, 4
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.004015e0
inc eax
push eax
call fcn.0040eef3
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x58], esi
call fcn.00406c70
mov edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
lea eax, [eax + 1]
lea edx, [edx + 1]
test cl, cl
jne 0x40a050
lea eax, [ebp - 0x68]
push eax
push esi
mov dword [ebp - 0x68], 0
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
jne 0x40a090
push str.FileZilla
mov ecx, ebx
call fcn.00402a00
lea ecx, [ebp - 0x50]
call fcn.004011a0
mov eax, ebx
jmp 0x40a28a
push esi
call fcn.0040eef3
add esp, 4
mov ebx, eax
push ebx
push esi
push 0
push dword [ebp - 0x58]
call sub.VERSION.dll_GetFileVersionInfoA
lea ecx, [ebp - 0x48]
call fcn.00401170
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x5c]
push eax
push str.VarFileInfoTranslation
push ebx
mov byte [ebp - 4], 1
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x40a108
mov ecx, dword [ebp - 0x5c]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x44]
push str.StringFileInfo_04x_04xProductName
push eax
call fcn.00522933
add esp, 0x10
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x44]
push eax
push ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x40a108
push dword [ebp - 0x54]
lea ecx, [ebp - 0x48]
call fcn.00401270
lea ecx, [ebp - 0x4c]
call fcn.00401170
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x54]
push eax
push 0x5530ec
push ebx
mov byte [ebp - 4], 2
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x40a252
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 8]
mov esi, edi
shr esi, 0x10
test esi, esi
je 0x40a20d
mov ecx, dword [eax + 0xc]
mov eax, ecx
and eax, 0xffff
xor edx, edx
mov dword [ebp - 0x6c], 0x64
div dword [ebp - 0x6c]
shr ecx, 0x10
test edx, edx
je 0x40a19e
push edx
movzx eax, di
test ecx, ecx
je 0x40a183
push ecx
push eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_version__d._d._d_beta__d
push eax
call fcn.004014c0
add esp, 0x1c
jmp 0x40a252
push eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_version__d._d_beta__d
push eax
call fcn.004014c0
add esp, 0x18
jmp 0x40a252
test eax, eax
je 0x40a1e1
add eax, 0x60
push eax
movzx eax, di
test ecx, ecx
je 0x40a1c9
push ecx
push eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_version__d._d._d_c
push eax
call fcn.004014c0
add esp, 0x1c
jmp 0x40a252
push eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_version__d._d_c
push eax
call fcn.004014c0
add esp, 0x18
jmp 0x40a252
movzx eax, di
test ecx, ecx
je 0x40a201
push ecx
push eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_version__d._d._d
push eax
call fcn.004014c0
add esp, 0x18
jmp 0x40a252
push eax
push esi
push dword [ebp - 0x48]
push str._s_version__d._d
jmp 0x40a246
mov eax, dword [eax + 0xc]
mov ecx, eax
shr eax, 0x10
and ecx, 0xffff
je 0x40a239
push ecx
push eax
movzx eax, di
push eax
push dword [ebp - 0x48]
lea eax, [ebp - 0x4c]
push str._s_Beta__d._d_beta__d
push eax
call fcn.004014c0
add esp, 0x18
jmp 0x40a252
push eax
movzx eax, di
push eax
push dword [ebp - 0x48]
push str._s_Beta__d._d
lea eax, [ebp - 0x4c]
push eax
call fcn.004014c0
add esp, 0x14
push dword [ebp - 0x58]
call fcn.0040eeee
push ebx
call fcn.0040eeee
mov ecx, dword [ebp - 0x60]
add esp, 8
lea eax, [ebp - 0x4c]
push eax
call fcn.00401130
lea ecx, [ebp - 0x4c]
call fcn.004011a0
lea ecx, [ebp - 0x48]
call fcn.004011a0
lea ecx, [ebp - 0x50]
call fcn.004011a0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00521d5b
mov esp, ebp
pop ebp
ret