Function at 0x1000da90
Capabilities:
Get file version info
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a3a30
mov eax, dword fs:[0]
push eax
sub esp, 0x840
mov eax, dword [0x100d40f8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov eax, dword [edi]
mov esi, dword [ebp + 8]
call dword [eax]
cmp dword [esi + 0x14], 8
jb 0x1000dad4
mov eax, dword [esi]
jmp 0x1000dad6
mov eax, esi
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x1000db2a
push 0x100bf14c
call fcn.1000e450
add esp, 4
lea eax, [edi + 0x168]
push eax
lea eax, [edi + 0x160]
push eax
lea eax, [edi + 0x158]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push ebx
test eax, eax
jne 0x1000db31
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1000e0c7
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x14], 8
jb 0x1000db41
mov eax, dword [esi]
jmp 0x1000db43
mov eax, esi
lea ecx, [ebp - 0x844]
push ecx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0x840], eax
test eax, eax
je 0x1000db2a
push eax
call fcn.1005efeb
mov ebx, eax
add esp, 4
mov dword [ebp - 0x84c], ebx
test ebx, ebx
je 0x1000db2a
mov dword [ebp - 4], 0
cmp dword [esi + 0x14], 8
jb 0x1000db7f
mov esi, dword [esi]
push ebx
push dword [ebp - 0x840]
push dword [ebp - 0x844]
push esi
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1000db2a
mov esi, dword [sym.imp.VERSION.dll_VerQueryValueW]
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
push 0x100bf160
push ebx
call esi
test eax, eax
je 0x1000dbd4
cmp dword [ebp - 0x83c], 0x34
jne 0x1000dbd4
push 0x34
push dword [ebp - 0x838]
lea eax, [edi + 4]
push eax
call fcn.10077c40
add esp, 0xc
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
push 0x100bf164
push ebx
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
mov ecx, dword [ebp - 0x838]
movzx edx, ax
mov eax, dword [ebp - 0x83c]
add eax, ecx
cmp ecx, eax
jae 0x1000dc17
cmp word [ecx], dx
je 0x1000e0e5
add ecx, 4
cmp ecx, eax
jb 0x1000dc07
call esi
mov esi, dword [ebp - 0x838]
mov edx, esi
mov ecx, dword [ebp - 0x83c]
add ecx, esi
movzx eax, ax
mov dword [ebp - 0x840], eax
cmp esi, ecx
jae 0x1000dc46
cmp word [edx], ax
je 0x1000e0ec
add edx, 4
cmp edx, ecx
jb 0x1000dc36
mov edx, esi
cmp esi, ecx
jae 0x1000dc7e
movzx eax, al
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x840], 0xff
nop
mov ax, word [edx]
and ax, word [ebp - 0x840]
cmp ax, word [ebp - 0x848]
je 0x1000e0ec
add edx, 4
cmp edx, ecx
jb 0x1000dc60
mov eax, esi
cmp esi, ecx
jae 0x1000dc95
cmp word [eax], 0
je 0x1000e0f3
add eax, 4
cmp eax, ecx
jb 0x1000dc84
mov eax, esi
cmp esi, ecx
jae 0x1000dcb0
nop dword [eax + eax]
cmp byte [eax], 0
je 0x1000e0f3
add eax, 4
cmp eax, ecx
jb 0x1000dca0
mov eax, esi
cmp esi, ecx
jae 0x1000dcc7
cmp word [eax], 9
je 0x1000e0f3
add eax, 4
cmp eax, ecx
jb 0x1000dcb6
mov eax, esi
cmp esi, ecx
jae 0x1000dce0
nop dword [eax]
cmp byte [eax], 9
je 0x1000e0f3
add eax, 4
cmp eax, ecx
jb 0x1000dcd0
mov esi, dword [esi]
push 0x410
lea eax, [ebp - 0x834]
push 0
push eax
call fcn.100781c0
mov eax, esi
shr eax, 0x10
push eax
movzx eax, si
push eax
lea eax, [ebp - 0x834]
push str.StringFileInfo_04X_04X_
push eax
call fcn.1000e390
push 0x410
lea eax, [ebp - 0x424]
push 0
push eax
call fcn.100781c0
push 0x100bf1cc
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
mov esi, dword [sym.imp.VERSION.dll_VerQueryValueW]
lea eax, [ebp - 0x83c]
add esp, 0x38
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000dd73
push dword [ebp - 0x838]
lea ecx, [edi + 0x38]
call fcn.1000e320
push 0x100bf1f0
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000ddbd
push dword [ebp - 0x838]
lea ecx, [edi + 0x50]
call fcn.1000e320
push 0x100bf210
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000de07
push dword [ebp - 0x838]
lea ecx, [edi + 0x68]
call fcn.1000e320
push 0x100bf228
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000de54
push dword [ebp - 0x838]
lea ecx, [edi + 0x80]
call fcn.1000e320
push 0x100bf244
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000dea1
push dword [ebp - 0x838]
lea ecx, [edi + 0x98]
call fcn.1000e320
push str.OriginalFileName
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000deee
push dword [ebp - 0x838]
lea ecx, [edi + 0xb0]
call fcn.1000e320
push 0x100bf288
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000df3b
push dword [ebp - 0x838]
lea ecx, [edi + 0xc8]
call fcn.1000e320
push 0x100bf2a0
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000df88
push dword [ebp - 0x838]
lea ecx, [edi + 0xe0]
call fcn.1000e320
push str.Comments
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000dfd5
push dword [ebp - 0x838]
lea ecx, [edi + 0xf8]
call fcn.1000e320
push str.LegalTrademarks
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000e022
push dword [ebp - 0x838]
lea ecx, [edi + 0x110]
call fcn.1000e320
push str.PrivateBuild
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000e06f
push dword [ebp - 0x838]
lea ecx, [edi + 0x128]
call fcn.1000e320
push str.SpecialBuild
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push str._s_s
push eax
call fcn.1000e390
add esp, 0x10
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x424]
push eax
push ebx
call esi
test eax, eax
je 0x1000e0bc
push dword [ebp - 0x838]
lea ecx, [edi + 0x140]
call fcn.1000e320
push ebx
call fcn.1005efce
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1005e9d4
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ecx]
jmp 0x1000dce2
mov esi, dword [edx]
jmp 0x1000dce2
mov esi, dword [eax]
jmp 0x1000dce2