Function at 0x43feec
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x11c
mov eax, dword [0x4960a8]
xor eax, ebp
mov dword [ebp + 0x6c], eax
push ebx
mov ebx, dword [ebp + 0x78]
push esi
push edi
mov esi, ecx
push 0x34
xor edi, edi
lea eax, [esi + 4]
push edi
push eax
mov dword [ebp - 0x38], esi
call fcn.0045b990
add esp, 0xc
add esi, 0x40
mov eax, dword [edi + 0x474ddc]
mov ecx, esi
mov dword [esi - 4], eax
call fcn.00403ac2
add edi, 4
add esi, 0xc
cmp edi, 0x30
jb 0x43ff20
lea ecx, [ebp - 0xac]
call fcn.00430b92
push ebx
lea ecx, [ebp - 0xac]
call fcn.00431271
test al, al
jne 0x43ffa4
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x43ff83
test byte [eax + 0x1c], 1
je 0x43ff83
cmp byte [eax + 0x19], 2
jb 0x43ff83
push 0x474dcc
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0040d1fe
add esp, 0x10
lea ecx, [ebp - 0xac]
call fcn.00430a93
xor eax, eax
mov ecx, dword [ebp + 0x6c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00459871
add ebp, 0x70
leave
ret 8
lea eax, [ebp - 0x40]
xor edi, edi
push eax
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x40], edi
call fcn.0042a4a7
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
cmp esi, edi
jne 0x43ffe5
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x43ff83
test byte [eax + 0x1c], 1
je 0x43ff83
cmp byte [eax + 0x19], 2
jb 0x43ff83
push 0x474dcc
push 0xb
jmp 0x43ff75
lea ecx, [ebp - 0x2c]
call fcn.0042f538
push esi
lea ecx, [ebp - 0x2c]
call fcn.0042f656
mov ebx, eax
mov dword [ebp - 0x48], ebx
cmp ebx, edi
jne 0x440048
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x44002c
test byte [eax + 0x1c], 1
je 0x44002c
cmp byte [eax + 0x19], 2
jb 0x44002c
push 0x474dcc
push 0xc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0040d1fe
add esp, 0x10
xor esi, esi
lea ecx, [ebp - 0x2c]
call fcn.0042f64b
lea ecx, [ebp - 0xac]
call fcn.00430a93
mov eax, esi
jmp 0x43ff90
push ebx
push esi
push dword [ebp - 0x40]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x34], edi
call fcn.0042a4a7
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
jne 0x440095
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x44029b
test byte [eax + 0x1c], 1
je 0x44029b
cmp byte [eax + 0x19], 2
jb 0x44029b
push 0x474dcc
push 0xd
jmp 0x44028d
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x47ffdc
push ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x44], edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x44026e
cmp dword [ebp - 0x30], 0x34
jne 0x44026e
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x44]
push 0xd
pop ecx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
push str.VarFileInfoTranslation
add edi, 4
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x30], 0
push ebx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x440119
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x44029b
test byte [eax + 0x1c], 1
je 0x44029b
cmp byte [eax + 0x19], 2
jb 0x44029b
push 0x474dcc
push 0xf
jmp 0x44028d
mov esi, dword [ebp - 0x30]
shr esi, 2
mov eax, dword [0x497644]
mov ebx, 0x474dcc
cmp eax, 0x497644
je 0x440153
test byte [eax + 0x1c], 1
je 0x440153
cmp byte [eax + 0x19], 4
jb 0x440153
push esi
push ebx
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042a72b
mov eax, dword [0x497644]
add esp, 0x14
mov ecx, dword [ebp + 0x7c]
xor edi, edi
test ecx, ecx
jbe 0x4401d0
test esi, esi
jbe 0x440170
mov edx, dword [ebp - 0x3c]
movzx edx, word [edx + edi*4]
cmp ecx, edx
je 0x4401a6
inc edi
cmp edi, esi
jb 0x440160
cmp eax, 0x497644
je 0x44029b
test byte [eax + 0x1c], 1
je 0x44029b
cmp byte [eax + 0x19], 2
jb 0x44029b
push ecx
push ebx
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042a72b
add esp, 0x14
jmp 0x44029b
cmp eax, 0x497644
je 0x4401d0
test byte [eax + 0x1c], 1
je 0x4401d0
cmp byte [eax + 0x19], 4
jb 0x4401d0
push ecx
push ebx
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042a72b
mov eax, dword [0x497644]
add esp, 0x14
test dword [ebp - 0x30], 0xfffffffc
jbe 0x440241
mov esi, dword [ebp - 0x38]
shl edi, 2
add esi, 0x3c
mov dword [ebp - 0x34], 0xc
lea eax, [esi + 4]
push eax
push dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
movzx ecx, word [edi + eax + 2]
push dword [esi]
movzx eax, word [edi + eax]
push ecx
mov ecx, dword [ebp - 0x38]
push eax
call fcn.0043fd25
test eax, eax
jne 0x440237
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x440237
test byte [eax + 0x1c], 1
je 0x440237
cmp byte [eax + 0x19], 4
jb 0x440237
push dword [esi]
push ebx
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.004347c2
add esp, 0x14
add esi, 0xc
dec dword [ebp - 0x34]
jne 0x4401e9
jmp 0x440265
cmp eax, 0x497644
je 0x440265
test byte [eax + 0x1c], 1
je 0x440265
cmp byte [eax + 0x19], 4
jb 0x440265
push ebx
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0040d1fe
add esp, 0x10
mov dword [ebp - 0x34], 1
jmp 0x44029b
mov eax, dword [0x497644]
cmp eax, 0x497644
je 0x44029b
test byte [eax + 0x1c], 1
je 0x44029b
cmp byte [eax + 0x19], 2
jb 0x44029b
push 0x474dcc
push 0xe
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0040d1fe
add esp, 0x10
mov esi, dword [ebp - 0x34]
jmp 0x44002e