Function at 0x4434e0
Capabilities:
Get file version info

Disassembly:
push 0xffffffffffffffff
push 0x461336
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
push ebx
push ebp
push esi
push edi
push 0x10e
lea eax, [esp + 0xb0]
xor ebx, ebx
push eax
push ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0xac]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x443523
sub eax, edx
inc eax
push eax
call fcn.00449a29
mov ebp, eax
lea eax, [esp + 0xb0]
mov edx, ebp
mov ecx, eax
add esp, 4
mov dword [esp + 0x2c], ebp
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x443550
lea edx, [esp + 0x50]
push edx
push ebp
mov dword [esp + 0x58], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
push esi
call fcn.00449a29
add esp, 4
mov edi, eax
push edi
push esi
push ebx
push ebp
mov dword [esp + 0x2c], edi
call sub.VERSION.dll_GetFileVersionInfoA
mov esi, 0xf
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x74]
push ecx
push str.VarFileInfoTranslation
push edi
mov dword [esp + 0x1d4], ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x443604
mov eax, dword [esp + 0x70]
movzx edx, word [eax + 2]
movzx eax, word [eax]
push edx
push eax
lea ecx, [esp + 0x80]
push str.StringFileInfo_04x_04xProductName
push ecx
call fcn.0044c02b
add esp, 0x10
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x443604
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.00405580
add esp, 8
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x2c]
push edx
push 0x46239c
push edi
mov byte [esp + 0x1d4], 1
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x4438aa
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 8]
test ecx, 0xffff0000
je 0x443776
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 0xffff
je 0x4436f8
test eax, 0xffff0000
je 0x4436b7
mov esi, dword [esi + 8]
mov ecx, eax
shr ecx, 0x10
and eax, 0xffff
add cl, 0x60
mov dword [esp + 0x1c], eax
mov byte [esp + 0x13], cl
mov edx, esi
and edx, 0xffff
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x17]
push ecx
mov dword [esp + 0x20], edx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x64]
push ecx
shr esi, 0x10
push str._s_version__d._d_c_test_release__d_
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], esi
call fcn.004433d0
jmp 0x4438aa
mov esi, dword [esi + 8]
mov edx, esi
mov dword [esp + 0x14], ecx
and edx, 0xffff
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], edx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x60]
push eax
shr esi, 0x10
push str._s_version__d._d_test_release__d
lea ecx, [esp + 0x44]
mov dword [esp + 0x30], esi
call fcn.00443420
jmp 0x4438aa
mov esi, dword [esi + 8]
shr eax, 0x10
cmp eax, ebx
je 0x443742
add al, 0x60
mov ecx, esi
and ecx, 0xffff
lea edx, [esp + 0x13]
push edx
mov byte [esp + 0x17], al
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x60]
push edx
shr esi, 0x10
push str._s_version__d._d_c_final
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], esi
call fcn.00443460
jmp 0x4438aa
mov eax, esi
and eax, 0xffff
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], eax
push edx
lea eax, [esp + 0x5c]
push eax
shr esi, 0x10
push str._s_version__d._d_final
lea ecx, [esp + 0x40]
mov dword [esp + 0x28], esi
call fcn.0040c180
jmp 0x4438aa
mov ebp, dword [esi + 0xc]
mov edi, ebp
and edi, 0xffff
xor edx, edx
mov ebx, 0x64
mov eax, edi
div ebx
xor ebx, ebx
and ecx, 0xffff
cmp eax, ebx
je 0x44383c
cmp edx, ebx
mov esi, ebp
je 0x4437f4
mov eax, esi
and eax, 0xffff
xor edx, edx
mov edi, 0x64
div edi
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x28]
shr esi, 0x10
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], edx
add eax, 0x60
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x64]
push edx
push str._s_version_0._d._d_c_beta_test_release__d
lea ecx, [esp + 0x48]
call fcn.004434a0
jmp 0x4438a6
mov edx, esi
and edx, 0xffff
mov eax, 0x51eb851f
mul edx
shr edx, 5
add edx, 0x60
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
shr esi, 0x10
push str._s_version_0._d._d_c_beta
lea ecx, [esp + 0x44]
mov dword [esp + 0x34], esi
call fcn.00443420
jmp 0x4438a6
cmp edi, ebx
je 0x44387e
mov esi, dword [esi + 0xc]
mov edx, esi
and edx, 0xffff
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
shr esi, 0x10
push str._s_version_0._d._d_beta_test_release__d
lea ecx, [esp + 0x44]
mov dword [esp + 0x34], esi
call fcn.00443420
jmp 0x4438a6
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x5c]
push eax
shr ebp, 0x10
push str._s_version_0._d._d_beta
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], ebp
call fcn.0040c180
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0044c004
push edi
call fcn.0044c004
mov esi, dword [esp + 0x1d4]
add esp, 8
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x38]
mov ebp, 0xf
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push edx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.004022a0
mov eax, dword [esp + 0x48]
mov edi, 0x10
cmp eax, edi
jb 0x4438fb
mov eax, dword [esp + 0x34]
push eax
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x6c], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x44391a
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0044b92d
add esp, 4
mov ecx, dword [esp + 0x1bc]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1b8
ret