Function at 0x105cf1a
Capabilities:
Get file version info

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1aac
call fcn.01047540
mov eax, dword [0x107fa78]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
mov dword [ebp - 0x1aa8], esi
mov dword [ebp - 0x1a7c], ebx
je 0x105d3ed
push esi
call fcn.01056f43
test eax, eax
je 0x105d3ed
push edi
lea eax, [ebp - 0x1aac]
push eax
push esi
mov dword [ebp - 0x1aac], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
cmp edi, ebx
jbe 0x105d3ec
push edi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x1a80], eax
je 0x105d3ec
push eax
push edi
push ebx
push esi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x105d3e0
lea eax, [ebp - 0x1a88]
push eax
lea eax, [ebp - 0x1a90]
push eax
push 0x1009f98
push dword [ebp - 0x1a80]
mov dword [ebp - 0x1a88], 4
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x105d3e0
mov eax, dword [ebp - 0x1a88]
shr eax, 2
test eax, eax
mov dword [ebp - 0x1a78], ebx
jle 0x105d3e0
mov eax, dword [ebp - 0x1a90]
mov ecx, dword [ebp - 0x1a78]
lea eax, [eax + ecx*4]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push 0x100b6c0
mov esi, 0x104
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.01034d76
add esp, 0x14
test eax, eax
jl 0x105d3c5
mov edi, 0x208
push edi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x1a70], eax
je 0x105d3c5
lea eax, [ebp - 0x1a84]
push eax
lea eax, [ebp - 0x1a70]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x1a80]
mov dword [ebp - 0x1a84], esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x105d3a3
push dword [ebp - 0x1a70]
call dword [sym.imp.msvcrt.dll__wcsupr]
test eax, eax
pop ecx
je 0x105d3a3
push dword [ebp - 0x1a70]
push 0x1009944
call dword [sym.imp.msvcrt.dll_wcsstr]
test eax, eax
pop ecx
pop ecx
je 0x105d3a3
mov eax, dword [ebp - 0x1a90]
mov ecx, dword [ebp - 0x1a78]
lea eax, [eax + ecx*4]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push 0x100b668
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.01034d76
add esp, 0x14
test eax, eax
jl 0x105d3a3
push edi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x1a74], eax
je 0x105d3a3
lea eax, [ebp - 0x1a84]
push eax
lea eax, [ebp - 0x1a74]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x1a80]
mov dword [ebp - 0x1a84], esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x105d389
push dword [ebp - 0x1a74]
call dword [sym.imp.msvcrt.dll__wcsupr]
test eax, eax
pop ecx
je 0x105d389
push 7
pop ecx
push 0x1ec
lea eax, [ebp - 0x1848]
push ebx
mov esi, 0x100b648
lea edi, [ebp - 0x1864]
push eax
rep movsd dword es:[edi], dword [esi]
call sub.msvcrt.dll_memset
push 0xc
pop ecx
push 0x1d8
lea eax, [ebp - 0x162c]
push ebx
mov esi, 0x100b618
lea edi, [ebp - 0x165c]
push eax
rep movsd dword es:[edi], dword [esi]
call sub.msvcrt.dll_memset
mov eax, dword [0x100b610]
mov dword [ebp - 0x1454], eax
mov eax, dword [0x100b614]
mov esi, 0x200
push esi
mov dword [ebp - 0x1450], eax
lea eax, [ebp - 0x144c]
push ebx
push eax
call sub.msvcrt.dll_memset
mov eax, dword [0x100b608]
mov dword [ebp - 0x124c], eax
mov eax, dword [0x100b60c]
push esi
mov dword [ebp - 0x1248], eax
lea eax, [ebp - 0x1244]
push ebx
push eax
call sub.msvcrt.dll_memset
mov eax, dword [0x100b600]
mov dword [ebp - 0x1044], eax
mov eax, dword [0x100b604]
push esi
mov dword [ebp - 0x1040], eax
lea eax, [ebp - 0x103c]
push ebx
push eax
call sub.msvcrt.dll_memset
push 8
pop ecx
mov esi, 0x100b5dc
lea edi, [ebp - 0xe3c]
rep movsd dword es:[edi], dword [esi]
push 0x1e6
lea eax, [ebp - 0xe1a]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
add esp, 0x48
push 0xb
pop ecx
mov esi, 0x100b5ac
lea edi, [ebp - 0xc34]
rep movsd dword es:[edi], dword [esi]
push 0x1da
lea eax, [ebp - 0xc06]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
mov esi, 0x100b598
lea edi, [ebp - 0xa2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x1f6
movsw word es:[edi], word [esi]
push ebx
lea eax, [ebp - 0xa1a]
push eax
call sub.msvcrt.dll_memset
push 6
pop ecx
mov esi, 0x100b57c
lea edi, [ebp - 0x824]
rep movsd dword es:[edi], dword [esi]
push 0x1ee
lea eax, [ebp - 0x80a]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
push 0x10
pop ecx
mov esi, 0x100b538
lea edi, [ebp - 0x61c]
rep movsd dword es:[edi], dword [esi]
push 0x1c6
lea eax, [ebp - 0x5da]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
push 0x11
pop ecx
mov esi, 0x100b4f0
lea edi, [ebp - 0x414]
rep movsd dword es:[edi], dword [esi]
push 0x1c2
lea eax, [ebp - 0x3ce]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
add esp, 0x3c
xor edi, edi
lea esi, [ebp - 0x1864]
push esi
push dword [ebp - 0x1a74]
call dword [sym.imp.msvcrt.dll_wcsstr]
test eax, eax
pop ecx
pop ecx
jne 0x105d37f
inc edi
add esi, 0x208
cmp edi, 0xb
jl 0x105d2c0
push 0x104
lea eax, [ebp - 0x1a6c]
push eax
mov dword [ebp - 0x1aa4], ebx
mov dword [ebp - 0x1a9c], ebx
mov dword [ebp - 0x1aa0], ebx
mov dword [ebp - 0x1a8c], ebx
mov dword [ebp - 0x1a98], ebx
mov dword [ebp - 0x1a94], ebx
call fcn.0105c511
test eax, eax
je 0x105d389
lea eax, [ebp - 0x1a8c]
push eax
lea eax, [ebp - 0x1aa0]
push eax
lea eax, [ebp - 0x1a9c]
push eax
lea eax, [ebp - 0x1aa4]
push eax
lea eax, [ebp - 0x1a6c]
push 0x1007e14
push eax
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x1a94]
push eax
lea eax, [ebp - 0x1a98]
push eax
push dword [ebp - 0x1aa8]
call fcn.010577fc
test eax, eax
jl 0x105d389
cmp esi, ebx
jle 0x105d389
movzx eax, word [ebp - 0x1a94]
cmp dword [ebp - 0x1a8c], eax
jne 0x105d389
mov dword [ebp - 0x1a7c], 1
cmp dword [ebp - 0x1a74], ebx
je 0x105d3a3
push dword [ebp - 0x1a74]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0x1a74], ebx
cmp dword [ebp - 0x1a70], ebx
je 0x105d3bd
push dword [ebp - 0x1a70]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0x1a70], ebx
cmp dword [ebp - 0x1a7c], ebx
jne 0x105d3e0
mov eax, dword [ebp - 0x1a88]
inc dword [ebp - 0x1a78]
shr eax, 2
cmp dword [ebp - 0x1a78], eax
jl 0x105cfe7
push dword [ebp - 0x1a80]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
pop edi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1a7c]
pop esi
xor ecx, ebp
pop ebx
call fcn.01047417
leave
ret 4