Function at 0x4029a0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb0], cx
mov dword [ebp - 0x80], 0x180
cmp dword [ebp - 0x80], 0xc272
jne 0x4029e9
mov eax, dword [ebp - 0x80]
add eax, 0x3975
cmp eax, 0xfd9a
ja 0x4029e9
push 0x92
mov ecx, dword [ebp - 0x80]
push ecx
push 0x47
call fcn.004d3c30
add esp, 0xc
lea edx, [ebp - 0x80]
mov dword [ebp - 0x94], edx
mov al, byte [0x4dd248]
mov byte [ebp - 0x9d], al
mov cl, byte [ebp - 0x9d]
mov byte [ebp - 0x69], cl
mov dx, word [ebp - 0xb4]
mov word [ebp - 0x74], dx
movzx eax, byte [ebp - 0x69]
movzx ecx, byte [ebp - 0x9d]
sub eax, ecx
movzx edx, byte [0x4dd248]
cmp eax, edx
je 0x402ccc
movzx eax, byte [ebp - 0x9d]
movzx ecx, byte [ebp - 0x69]
or eax, ecx
movzx edx, byte [0x4dd248]
cmp eax, edx
jg 0x402cab
lea eax, [ebp - 0x9d]
mov dword [ebp - 0x90], eax
movzx ecx, word [ebp - 0xb4]
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0
je 0x402a80
cmp dword [ebp - 0xb8], 0x507
je 0x402bc1
jmp 0x402c23
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
mov dword [ebp - 0x70], eax
mov cl, byte [ebp - 0x69]
mov byte [ebp - 0xbc], cl
cmp byte [ebp - 0xbc], 0x87
je 0x402a9f
jmp 0x402ade
mov dx, word [ebp - 0x8c]
mov word [ebp - 0x84], dx
mov al, byte [ebp - 0x9d]
mov byte [ebp - 0xd], al
mov cx, word [ebp - 0x74]
mov word [ebp - 0x9c], cx
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x1448
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x88], ecx
jmp 0x402b18
mov dx, word [ebp - 0x74]
mov word [ebp - 0xb4], dx
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
push ecx
movzx edx, word [ebp - 0x8c]
push edx
movzx eax, word [ebp - 0x8c]
push eax
call fcn.004d3a90
add esp, 0x14
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x69]
add ecx, edx
mov eax, dword [ebp - 0x90]
movzx edx, byte [eax]
movzx eax, byte [0x4dd248]
sub edx, eax
cmp ecx, edx
je 0x402bbf
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x69]
add edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x9d]
movzx eax, byte [ebp - 0x69]
or edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
movzx edx, word [ebp - 0xb4]
movzx ecx, word [ebp - 0xb0]
sar edx, cl
mov word [ebp - 0x74], dx
push 0xcd
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.COMDLG32.dll_GetFileTitleA]
mov word [ebp - 0x8c], ax
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x80]
shl eax, cl
mov ecx, dword [ebp - 0x94]
mov dword [ecx], eax
mov dx, word [ebp - 0x74]
mov word [ebp - 0xb0], dx
jmp 0x402c23
mov ax, word [ebp - 0x74]
mov word [ebp - 0xb4], ax
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x69]
sub ecx, edx
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
movzx ecx, word [ebp - 0xb0]
movzx edx, word [ebp - 0xb4]
and ecx, edx
mov word [ebp - 0x74], cx
movzx eax, word [ebp - 0xb0]
movzx ecx, word [ebp - 0xb4]
sub eax, ecx
mov word [ebp - 0x74], ax
lea edx, [ebp - 0x9d]
push edx
push 0x19
push 0xc2
mov eax, dword [ebp - 0xc]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0x68]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xa4], eax
mov dl, byte [ebp - 0x9d]
mov byte [ebp - 0xc0], dl
cmp byte [ebp - 0xc0], 0x17
je 0x402c53
cmp byte [ebp - 0xc0], 0x73
je 0x402c8e
jmp 0x402cab
mov eax, dword [ebp - 0x80]
shr eax, 0xf
mov ecx, dword [ebp - 0x94]
mov dword [ecx], eax
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x69]
add eax, ecx
mov byte [ebp - 0x9d], al
push 0x5c
movzx edx, word [ebp - 0x74]
push edx
push 0xffffffffffffff84
mov dl, 0x46
mov cl, byte [ebp - 0x9d]
call fcn.00403430
jmp 0x402cab
lea eax, [ebp - 0x98]
push eax
push 0x98
push 0x4a
mov ecx, dword [ebp - 0x98]
push ecx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
shl eax, 0x1c
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x94]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [0x4dd248]
and ecx, edx
mov byte [ebp - 0x69], cl
push 0xcb
call fcn.00402350
add esp, 4
mov eax, 0x53
mov esp, ebp
pop ebp
ret