Function at 0x412a50
Capabilities:
Get file version info

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451db5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc0
mov eax, dword [0x46f06c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc4], ecx
lea eax, [ebx + 0xc]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.00413c50
xor eax, eax
mov byte [ebp - 4], 1
push eax
push 0x463468
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
call fcn.00402f60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
push 1
xor eax, eax
mov dword [ebp - 0x34], 0
push 0x466c04
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00402f60
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
call fcn.0040d6b0
mov byte [ebp - 4], 2
add esp, 4
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x412b54
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412b4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413367
push edx
push ecx
call fcn.00430470
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x412b95
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412b8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41336c
push edx
push ecx
call fcn.00430470
add esp, 8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
cmovae eax, edi
cmovae edx, edi
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
lea eax, [eax + esi*2]
lea esi, [ebp - 0x2c]
mov ecx, eax
cmovae esi, edi
sub ecx, esi
inc ecx
shr ecx, 1
cmp esi, eax
cmova ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x412c14
sub edx, esi
mov edi, ecx
mov dword [ebp - 0xc0], edx
movzx eax, word [esi]
push eax
call fcn.00438507
mov ecx, dword [ebp - 0xc0]
lea esi, [esi + 2]
add esp, 4
mov word [ecx + esi - 2], ax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, edi
jne 0x412be6
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
cmp esi, 8
push 3
push 0x466c08
cmovae ecx, edi
push 0
call fcn.0040e010
add esp, 0xc
cmp eax, 0xffffffff
je 0x412c45
mov byte [ebp - 0xb1], 1
jmp 0x4132c3
xor eax, eax
mov dword [ebp - 0xa0], 0
push eax
push 0x463468
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x9c], 7
mov word [ebp - 0xb0], ax
call fcn.00402f60
mov esi, dword [ebp - 0xc4]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
push dword [esi + 0x38]
lea edx, [esi + 8]
call fcn.004184b0
mov dword [ebp - 0x64], 0
xor ecx, ecx
mov dword [ebp - 0x60], 0
add esp, 4
movups xmm0, xmmword [eax + 0xc]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [eax + 0x1c]
movq qword [ebp - 0x64], xmm0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 7
mov word [eax + 0xc], cx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x412d06
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412cfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413371
push edx
push ecx
call fcn.00430470
add esp, 8
xor eax, eax
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x64], 3
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
jbe 0x412ec3
cmp dword [ebp - 0x60], 8
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push ecx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov esi, eax
push esi
call fcn.00430a04
add esp, 4
lea ecx, [ebp - 0x74]
cmp dword [ebp - 0x60], 8
mov edi, eax
mov dword [ebp - 0xc8], edi
cmovae ecx, dword [ebp - 0x74]
push edi
push esi
push dword [ebp - 0xbc]
push ecx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x412e8d
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb8]
push eax
push 0x462c1c
push edi
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x412e8d
push 0x10
call fcn.00430a04
mov edi, eax
add esp, 4
mov dword [ebp - 0xd0], edi
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xb8]
push 0x1000
movzx eax, word [eax + 0xa]
mov dword [edi], eax
mov eax, dword [ebp - 0xb8]
movzx eax, word [eax + 8]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xb8]
movzx eax, word [eax + 0xe]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xb8]
movzx eax, word [eax + 0xc]
mov dword [edi + 0xc], eax
call fcn.00430a04
mov esi, eax
add esp, 4
mov dword [ebp - 0xcc], esi
push 0x800
push 0
push esi
mov byte [ebp - 4], 7
call fcn.00432310
add esp, 0xc
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push 0x466c10
push 0x800
push esi
call fcn.00414a90
mov ecx, esi
add esp, 0x1c
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412e40
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xb0]
call fcn.00402f60
test esi, esi
je 0x412e69
push esi
call fcn.004304d1
add esp, 4
push edi
mov byte [ebp - 4], 5
call fcn.004304d1
mov edi, dword [ebp - 0xc8]
add esp, 4
push edi
call fcn.004304d1
mov esi, dword [ebp - 0xc4]
add esp, 4
jmp 0x412ee8
cmp dword [0x46fa6c], 8
lea ecx, [ebp - 0xb0]
push dword [0x46fa68]
mov eax, 0x46fa58
cmovae eax, dword [0x46fa58]
push eax
call fcn.00402f60
push edi
call fcn.004304d1
mov esi, dword [ebp - 0xc4]
add esp, 4
jmp 0x412ee8
cmp dword [0x46fa54], 8
lea ecx, [ebp - 0xb0]
push dword [0x46fa50]
mov eax, 0x46fa40
cmovae eax, dword [0x46fa40]
push eax
call fcn.00402f60
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00413c50
xor eax, eax
mov byte [ebp - 4], 8
push eax
push 0x463468
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00402f60
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8c]
push 1
xor eax, eax
mov dword [ebp - 0x7c], 0
push 0x466c04
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
call fcn.00402f60
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x5c]
call fcn.0040d6b0
mov byte [ebp - 4], 9
add esp, 4
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x412fa4
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412f9a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413376
push edx
push ecx
call fcn.00430470
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x412fe2
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412fd8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41337b
push edx
push ecx
call fcn.00430470
add esp, 8
lea ecx, [esi + 0x194]
lea eax, [ebp - 0x5c]
cmp ecx, eax
je 0x413000
cmp dword [ebp - 0x48], 8
push dword [ebp - 0x4c]
cmovae eax, dword [ebp - 0x5c]
push eax
call fcn.00402f60
cmp byte [ebx + 8], 0
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
jne 0x4131ce
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmovae eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
cmp esi, 8
push eax
cmovae ecx, edi
push 0
call fcn.0040e010
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4131ce
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2c]
push 3
cmp esi, 8
push 0x466c28
cmovae ecx, edi
push 0
call fcn.0040e010
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4131ce
push 0x1000
call fcn.00430a04
mov esi, eax
add esp, 4
mov dword [ebp - 0xcc], esi
push 0x800
push 0
push esi
mov byte [ebp - 4], 0xb
call fcn.00432310
add esp, 0xc
lea eax, [ebp - 0xb0]
mov edx, 0x466c30
lea ecx, [ebp - 0x8c]
push eax
call fcn.004012b0
cmp dword [0x46fa3c], 8
mov edx, 0x46fa28
cmovae edx, dword [0x46fa28]
sub esp, 0x14
movups xmm0, xmmword [eax]
mov ecx, esp
sub esp, 0x18
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
mov eax, esp
movq qword [ecx + 0x10], xmm0
movups xmm0, xmmword [ebx + 0xc]
push edx
push 0x800
movups xmmword [eax], xmm0
push esi
movq xmm0, qword [ebx + 0x1c]
movq qword [eax + 0x10], xmm0
call fcn.00414a90
mov edx, dword [ebp - 0x78]
add esp, 0x3c
cmp edx, 8
jb 0x41312e
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413124
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413380
push edx
push ecx
call fcn.00430470
add esp, 8
push esi
lea ecx, [ebp - 0x44]
call fcn.00401140
cmp dword [0x46f934], 8
lea eax, [ebp - 0x44]
mov ecx, 0x46f920
cmovae ecx, dword [0x46f920]
cmp dword [ebp - 0x30], 8
push 0x34
cmovae eax, dword [ebp - 0x44]
push ecx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [ebp - 0x30]
cmp eax, 6
sete byte [ebp - 0xb1]
cmp edx, 8
jb 0x4131a5
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41319b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413385
push edx
push ecx
call fcn.00430470
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
test esi, esi
je 0x4131c6
push esi
call fcn.004304d1
add esp, 4
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
jmp 0x4131d5
mov byte [ebp - 0xb1], 1
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x5c]
cmp eax, 8
jb 0x413215
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413205
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41338a
push edx
push ecx
call fcn.00430470
mov edi, dword [ebp - 0x2c]
add esp, 8
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
cmp edx, 8
jb 0x413269
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413259
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41338f
push edx
push ecx
call fcn.00430470
mov edi, dword [ebp - 0x2c]
add esp, 8
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x9c]
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
cmp edx, 8
jb 0x4132c3
mov ecx, dword [ebp - 0xb0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4132b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413394
push edx
push ecx
call fcn.00430470
mov edi, dword [ebp - 0x2c]
add esp, 8
mov esi, dword [ebp - 0x18]
cmp esi, 8
jb 0x4132f7
lea esi, [esi*2 + 2]
mov eax, edi
cmp esi, 0x1000
jb 0x4132ed
mov edi, dword [edi - 4]
add esi, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413399
push esi
push edi
call fcn.00430470
add esp, 8
mov edx, dword [ebx + 0x20]
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp edx, 8
jb 0x413341
mov ecx, dword [ebx + 0xc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413337
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41339e
push edx
push ecx
call fcn.00430470
add esp, 8
mov al, byte [ebp - 0xb1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043045f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x1c
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
call fcn.004353c3
int3