Function at 0x427d9b
Capabilities:
Get file version info

Disassembly:
push 0xa4
mov eax, 0x441c54
call fcn.004306bd
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov dword [esi + 0x24], 0xf
mov dword [esi + 0x20], ecx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x94], eax
mov byte [esi + 0x10], cl
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
mov dword [ebp - 0xa4], 1
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edi, eax
test edi, edi
jne 0x427e1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
push 0x442d98
lea eax, [ebp - 0x94]
push eax
call fcn.00430608
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x427e4f
lea ecx, [ebp - 0x95]
call fcn.0040ec65
mov al, byte [eax]
mov byte [ebp - 0x8d], al
push 0x442d60
lea eax, [ebp - 0x8d]
jmp 0x427e16
push eax
push edi
push 0
push dword [ebp - 0x94]
call sub.VERSION.dll_GetFileVersionInfoA
mov edi, dword [ebp - 0x9c]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa0]
push eax
push 0x407a7c
push edi
call sub.VERSION.dll_VerQueryValueA
mov ecx, dword [ebp - 0xa0]
movzx eax, word [ecx + 0xa]
and dword [ebp - 0x60], 0
mov dword [esi], eax
movzx eax, word [ecx + 8]
mov dword [esi + 4], eax
movzx eax, word [ecx + 0xe]
mov dword [esi + 8], eax
movzx eax, word [ecx + 0xc]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
push dword [esi]
lea eax, [ebp - 0x1c]
push 0x40179c
push 0xffffffffffffffff
push eax
mov dword [ebp - 4], 1
call fcn.0040ecff
lea ecx, [ebp - 0x1c]
add esp, 0x10
and dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427ede
sub ecx, edx
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040d728
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.00427a88
push 0
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.0040d9b8
push dword [esi + 4]
lea eax, [ebp - 0x1c]
push 0x40179c
push 0xffffffffffffffff
push eax
call fcn.0040ecff
lea ecx, [ebp - 0x1c]
add esp, 0x10
and dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427f43
sub ecx, edx
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x54]
call fcn.0040d728
and dword [ebp - 0x28], 0
push 1
push 0x409140
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.0040d728
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 4
call fcn.00428770
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.00427a88
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.0040d9b8
push dword [esi + 8]
lea eax, [ebp - 0x1c]
push 0x40179c
push 0xffffffffffffffff
push eax
call fcn.0040ecff
lea ecx, [ebp - 0x1c]
add esp, 0x10
and dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427ffa
sub ecx, edx
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040d728
and dword [ebp - 0x44], 0
push 1
push 0x409140
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 6
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.0040d728
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 7
call fcn.00428770
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 8
call fcn.00427a88
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.0040d9b8
push dword [esi + 0xc]
lea eax, [ebp - 0x1c]
push 0x40179c
push 0xffffffffffffffff
push eax
call fcn.0040ecff
lea ecx, [ebp - 0x1c]
add esp, 0x10
and dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4280b1
sub ecx, edx
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040d728
and dword [ebp - 0x44], 0
push 1
push 0x409140
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 9
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.0040d728
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 0xa
call fcn.00428770
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xb
call fcn.00427a88
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.0040d9b8
push 0
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.0040d9b8
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x70]
push eax
lea ecx, [esi + 0x10]
call fcn.0040d697
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.0040d9b8
mov eax, esi
call fcn.00430740
ret 8