Function at 0x100b9351
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x100f93e0]
xor eax, ebp
mov dword [ebp - 0x2c], eax
and dword [ebp - 0x24], 0
and dword [ebp - 0x14], 0
and dword [ebp - 0x18], 0
and dword [ebp - 0x244], 0
and dword [ebp - 0x248], 0
and word [ebp - 0x240], 0
push 0x208
push 0
lea eax, [ebp - 0x23e]
push eax
call fcn.100771d0
add esp, 0xc
and dword [ebp - 4], 0
mov byte [ebp - 0x25], 0
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
and dword [ebp - 0x20], 0
and dword [ebp - 8], 0
and dword [ebp - 0x1c], 0
push 0
push dword [ebp + 8]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x100b93d2
xor al, al
jmp 0x100b9837
mov eax, dword [ebp - 0x24]
inc eax
push eax
call fcn.10076ac2
pop ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x100b93f9
xor al, al
jmp 0x100b9837
mov eax, dword [ebp - 0x24]
inc eax
push eax
push 0
push dword [ebp - 0x14]
call fcn.100771d0
add esp, 0xc
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push 0
push dword [ebp + 8]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
jne 0x100b9429
jmp 0x100b9815
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x100df33c
push dword [ebp - 0x14]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x100b944f
jmp 0x100b9815
and dword [ebp - 0x10], 0
jmp 0x100b945c
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x248]
shr eax, 2
cmp dword [ebp - 0x10], eax
jae 0x100b94d2
push 0x100df370
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
movzx eax, word [ecx + eax*4 + 2]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
movzx eax, word [ecx + eax*4]
push eax
push str.StringFileInfo_04x_04x_s
push 0x104
lea eax, [ebp - 0x240]
push eax
call fcn.10077c87
add esp, 0x18
and dword [ebp - 4], 0
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x240]
push eax
push dword [ebp - 0x14]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x100b94d0
cmp dword [ebp - 0x244], 0
jbe 0x100b94d0
mov byte [ebp - 0x25], 1
jmp 0x100b94d2
jmp 0x100b9455
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x100b9815
and word [ebp - 0x468], 0
push 0x208
push 0
lea eax, [ebp - 0x466]
push eax
call fcn.100771d0
add esp, 0xc
cmp dword [ebp - 0x244], 0x104
jbe 0x100b9514
mov dword [ebp - 0x474], 0x104
jmp 0x100b9520
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x474], eax
push dword [ebp - 0x474]
push dword [ebp - 4]
lea eax, [ebp - 0x468]
push eax
call fcn.1007b1b2
add esp, 0xc
lea eax, [ebp - 0x468]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, word [eax]
test eax, eax
je 0x100b9568
mov eax, dword [ebp - 4]
movzx eax, word [eax]
cmp eax, 0x2c
jne 0x100b955e
mov eax, dword [ebp - 4]
mov word [eax], 0x2e
mov eax, dword [ebp - 4]
inc eax
inc eax
mov dword [ebp - 4], eax
jmp 0x100b9541
mov byte [ebp - 0x25], 0
and dword [ebp - 0x254], 0
and dword [ebp - 0x250], 0
and word [ebp - 0x24c], 0
lea eax, [ebp - 0x468]
mov dword [ebp - 0x254], eax
push 0x2e
lea eax, [ebp - 0x468]
push eax
call fcn.10029d27
pop ecx
pop ecx
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
jne 0x100b95b7
jmp 0x100b9815
mov eax, dword [ebp - 0x250]
and word [eax], 0
push dword [ebp - 0x254]
call fcn.1007b923
pop ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x250]
mov word [eax], 0x2e
push 0x2e
lea eax, [ebp - 0x468]
push eax
call fcn.10029d27
pop ecx
pop ecx
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
jne 0x100b9604
jmp 0x100b9815
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
cmp eax, 0x30
jl 0x100b9620
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
cmp eax, 0x39
jle 0x100b9630
mov eax, dword [ebp - 0x254]
inc eax
inc eax
mov dword [ebp - 0x254], eax
jmp 0x100b9604
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
test eax, eax
jne 0x100b9647
jmp 0x100b9815
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp eax, 0x30
jl 0x100b967f
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp eax, 0x39
jg 0x100b967f
mov eax, dword [ebp - 0x250]
inc eax
inc eax
mov dword [ebp - 0x250], eax
jmp 0x100b9653
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
test eax, eax
jne 0x100b9696
jmp 0x100b9815
mov eax, dword [ebp - 0x250]
mov ax, word [eax]
mov word [ebp - 0x24c], ax
mov eax, dword [ebp - 0x250]
and word [eax], 0
push dword [ebp - 0x254]
call fcn.1007b923
pop ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x250]
mov cx, word [ebp - 0x24c]
mov word [eax], cx
push 0x2e
push dword [ebp - 0x254]
call fcn.10029d27
pop ecx
pop ecx
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
jne 0x100b96f7
jmp 0x100b9815
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
test eax, eax
je 0x100b9732
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
cmp eax, 0x30
jl 0x100b9722
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
cmp eax, 0x39
jg 0x100b9722
jmp 0x100b9732
mov eax, dword [ebp - 0x254]
inc eax
inc eax
mov dword [ebp - 0x254], eax
jmp 0x100b96f7
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
test eax, eax
jne 0x100b9749
jmp 0x100b9815
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp eax, 0x30
jl 0x100b9781
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp eax, 0x39
jg 0x100b9781
mov eax, dword [ebp - 0x250]
inc eax
inc eax
mov dword [ebp - 0x250], eax
jmp 0x100b9755
mov eax, dword [ebp - 0x250]
and word [eax], 0
push dword [ebp - 0x254]
call fcn.1007b923
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x250]
inc eax
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
je 0x100b97d9
mov eax, dword [ebp - 0x254]
movzx eax, word [eax]
test eax, eax
je 0x100b97d9
push dword [ebp - 0x254]
call fcn.1007b923
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0xc], 0
je 0x100b97e7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
cmp dword [ebp + 0x10], 0
je 0x100b97f5
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
cmp dword [ebp + 0x14], 0
je 0x100b9803
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
cmp dword [ebp + 0x18], 0
je 0x100b9811
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov byte [ebp - 0x25], 1
cmp dword [ebp - 0x14], 0
je 0x100b9830
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x470], eax
push dword [ebp - 0x470]
call fcn.1007a47b
pop ecx
and dword [ebp - 0x14], 0
mov al, byte [ebp - 0x25]
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.100771ba
leave
ret