Function at 0x4022a0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4835e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x340
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov byte [0x4a2754], bl
mov byte [0x4a25d4], bl
mov byte [0x4a2954], bl
mov byte [0x4a2654], bl
mov byte [0x4a2bd4], bl
mov byte [0x4a2c54], bl
mov byte [0x4a26d4], bl
mov byte [0x4a2a54], bl
mov byte [0x4a2854], bl
mov byte [0x4a2ad4], bl
mov byte [0x4a2b54], bl
mov byte [0x4a28d4], bl
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x10], esp
push eax
push ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeA
push eax
mov dword [ebp - 0x1c], eax
call fcn.0047afc7
mov edx, dword [ebp - 0x1c]
add esp, 4
mov edi, eax
mov eax, dword [esi + 4]
push edi
push edx
push ebx
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x4025d4
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x18]
push ecx
push edx
push str.VarFileInfoTranslation
push edi
call sub.VERSION.dll_VerQueryValueA
cmp ebx, dword [ebp - 0x20]
jae 0x4025d4
mov edx, dword [ebp - 0x18]
xor ecx, ecx
lea eax, [ebp - 0x34c]
push 0x104
mov cx, word [edx]
push eax
push ecx
call sub.KERNEL32.dll_VerLanguageNameA
mov dword [ebp - 0x54], 0x48b3f0
mov dword [ebp - 0x50], 0x48b3e4
mov dword [ebp - 0x4c], 0x48b3d4
mov dword [ebp - 0x48], 0x48b3c8
mov dword [ebp - 0x44], 0x48b3b8
mov dword [ebp - 0x40], 0x48b3a8
mov dword [ebp - 0x3c], str.LegalTrademarks
mov dword [ebp - 0x38], 0x48b384
mov dword [ebp - 0x34], str.PrivateBuild
mov dword [ebp - 0x30], 0x48b368
mov dword [ebp - 0x2c], 0x48b358
mov dword [ebp - 0x28], str.SpecialBuild
xor esi, esi
cmp esi, 0xc
jae 0x4025c3
mov eax, dword [ebp + esi*4 - 0x54]
xor edx, edx
push eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dx, word [eax]
shr ecx, 0x10
push ecx
push edx
lea eax, [ebp - 0x248]
push str.StringFileInfo_04x_04x_s
push eax
call fcn.0047a8f8
add esp, 0x14
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x248]
push ecx
push edx
push eax
push edi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x4025bd
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4025bd
mov eax, dword [ebp - 0x14]
push eax
push eax
call dword [sym.imp.USER32.dll_CharToOemA]
test esi, esi
jne 0x402458
mov ecx, dword [ebp - 0x14]
push ecx
push 0x48b2f4
push 0x4a2754
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 1
jne 0x402479
mov edx, dword [ebp - 0x14]
push edx
push 0x48b2f4
push 0x4a25d4
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 2
jne 0x40249a
mov eax, dword [ebp - 0x14]
push eax
push 0x48b2f4
push 0x4a2954
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 3
jne 0x4024bb
mov ecx, dword [ebp - 0x14]
push ecx
push 0x48b2f4
push 0x4a2654
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 4
jne 0x4024dc
mov edx, dword [ebp - 0x14]
push edx
push 0x48b2f4
push 0x4a2bd4
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 5
jne 0x4024fd
mov eax, dword [ebp - 0x14]
push eax
push 0x48b2f4
push 0x4a2c54
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 6
jne 0x40251e
mov ecx, dword [ebp - 0x14]
push ecx
push 0x48b2f4
push 0x4a26d4
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 7
jne 0x40253f
mov edx, dword [ebp - 0x14]
push edx
push 0x48b2f4
push 0x4a2a54
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 8
jne 0x402560
mov eax, dword [ebp - 0x14]
push eax
push 0x48b2f4
push 0x4a2854
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 9
jne 0x402581
mov ecx, dword [ebp - 0x14]
push ecx
push 0x48b2f4
push 0x4a2ad4
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 0xa
jne 0x4025a2
mov edx, dword [ebp - 0x14]
push edx
push 0x48b2f4
push 0x4a2b54
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
cmp esi, 0xb
jne 0x4025bd
mov eax, dword [ebp - 0x14]
push eax
push 0x48b2f4
push 0x4a28d4
call fcn.0047a8f8
add esp, 0xc
inc esi
jmp 0x4023d4
mov eax, dword [ebp - 0x18]
add ebx, 4
add eax, 4
mov dword [ebp - 0x18], eax
jmp 0x40235b
push edi
call fcn.0047afbc
mov eax, dword [ebp - 0x1c]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret