Function at 0x41a73a
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
push 8
call fcn.00427919
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, eax
mov esi, 0x432422
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x41a79d
mov eax, 0x4328ae
push eax
push 1
mov ebx, 0x24c
call fcn.00429110
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x41a7de
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a7d9
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
mov dword [ebp - 0x20], esp
mov eax, 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov ebx, dword [ebp + 8]
push dword [ebx]
xor eax, eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
nop
nop
cmp dword [ebp - 0x20], esp
je 0x41a818
push 0x78
push 0x4014faa
push 6
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x41a846
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a841
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x1bc
call fcn.00428e40
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x41a879
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], esp
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41a88a
add eax, 8
push eax
push dword [ebp - 8]
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
xor eax, eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
nop
nop
cmp dword [ebp - 0x20], esp
je 0x41a8be
push 0x146
push 0x4014faa
push 6
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x41a8ec
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a8e7
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
mov dword [ebp - 0x20], esp
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push str.VarFileInfoTranslation
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41a906
add eax, 8
push eax
xor eax, eax
call dword [sym.imp.VERSION.dll_VerQueryValueA]
nop
nop
cmp dword [ebp - 0x20], esp
je 0x41a92d
push 0x1c2
push 0x4014faa
push 6
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x41a95b
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a956
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
push 0x80000301
push 0
push dword [ebp - 8]
push 0x80000301
push 0
push dword [ebp - 0x10]
push 2
mov ebx, 0x910
call fcn.0042aa70
add esp, 0x1c
mov dword [ebp - 0x20], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x41a9a9
mov eax, 0x432422
push eax
push 3
mov ebx, 0x19c
call fcn.00428110
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x41a9d5
push ebx
call fcn.0042791f
add esp, 4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x80000101
jne 0x41a9ed
and eax, 0xff
jmp 0x41aa42
cmp ecx, 0x80000201
jne 0x41a9f8
cwde
jmp 0x41aa42
cmp ecx, 0x80000301
je 0x41aa42
cmp ecx, 0x80000401
je 0x41aa42
mov dword [ebp - 0x34], eax
cmp ecx, 0x80000501
je 0x41aa32
cmp ecx, 0x80000601
je 0x41aa37
push 0x26c
push 0x4014faa
push 2
call fcn.0042792b
add esp, 0xc
fld dword [ebp - 0x34]
jmp 0x41aa3d
mov dword [ebp - 0x30], edx
fld qword [ebp - 0x34]
call fcn.00401164
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x1d4
call fcn.00429de0
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41aa73
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41aa8a
mov eax, 0x4328ae
push eax
push 1
mov ebx, 0x130
call fcn.00428760
add esp, 0x10
mov dword [ebp - 0x20], eax
fld qword [0x432cbb]
fild dword [ebp - 0x20]
fstp qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x30]
push reloc.WS2_32.dll_connect
push 0
push 0x432908
fld qword [ebp - 0x30]
call fcn.00401164
push 0x80000301
push 0
push eax
push 2
mov ebx, 0x188
call fcn.0042aac0
add esp, 0x1c
mov dword [ebp - 0x34], eax
push dword [ebp - 0x14]
push dword [ebp - 0x34]
mov ecx, 2
call fcn.00401380
add esp, 8
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x41ab09
push ebx
call fcn.0042791f
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41ab1d
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0x80000301
push 0
push 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41ab40
mov eax, 0x4328ae
push eax
push 2
mov ebx, 0x138
call fcn.00429150
add esp, 0x1c
mov dword [ebp - 0x20], eax
push 0x80000301
push 0
push 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41ab75
mov eax, 0x4328ae
push eax
push 2
mov ebx, 0x134
call fcn.00428710
add esp, 0x1c
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov ecx, 2
call fcn.00401380
add esp, 8
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x41abb1
push ebx
call fcn.0042791f
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41abc1
push ebx
call fcn.0042791f
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41abd5
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov eax, 0x433089
push eax
mov ebx, eax
call fcn.00401249
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.00427919
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x41ac36
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x41ac2a
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x41ac0d
pop eax
push eax
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x41ac55
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x41ac51
imul eax, dword [ebx]
jmp 0x41ac46
mov ecx, eax
test ecx, ecx
je 0x41ac74
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x41ac6d
push ebx
push eax
call fcn.0042791f
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x41ac5b
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00401230
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jle 0x41b043
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00401230
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x20]
cmp eax, 0
jge 0x41acca
push 0x4ed
push 0x4014faa
push 0xa
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 0x24], eax
lea ebx, [ebp - 0x28]
call fcn.00401249
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.00427919
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x24]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp + 0x14]
mov ebx, dword [ebx]
call fcn.00401249
pop edx
test ecx, ecx
je 0x41ad28
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x41ad1e
push ebx
call fcn.0042791f
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x41ad0d
pop edx
pop edi
test edx, edx
je 0x41ad36
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp + 0x14]
push dword [ebx]
call fcn.0042791f
add esp, 4
pop eax
mov ebx, dword [ebp + 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00401230
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x41b01f
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41ad93
push 0x579
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41adb0
push 0x579
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push 0x432996
push dword [ebp - 0x14]
push str.StringFileInfo_
mov ecx, 4
call fcn.00401380
add esp, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esp
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41adf2
add eax, 8
push eax
xor eax, eax
call dword [sym.imp.VERSION.dll_VerQueryValueA]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x41ae19
push 0x579
push 0x4014faa
push 6
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41ae2c
push ebx
call fcn.0042791f
add esp, 4
cmp dword [ebp - 0x2c], 0
je 0x41b017
mov ebx, dword [ebp + 0x14]
mov ebx, dword [ebx]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41ae5f
push 0x5d8
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41ae7c
push 0x5d8
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x80000301
push 0
push dword [ebp - 8]
push 0x80000301
push 0
push dword [ebp - 0x10]
push 2
mov ebx, 0x910
call fcn.0042aa70
add esp, 0x1c
mov dword [ebp - 0x24], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 0xa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x41aed2
mov eax, 0x432422
push eax
push 3
mov ebx, 0x19c
call fcn.00428110
add esp, 0x28
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41aefe
push ebx
call fcn.0042791f
add esp, 4
mov ecx, dword [ebp - 0x28]
cmp ecx, reloc.WS2_32.dll_connect
je 0x41af20
push 0x60a
push 0x4014faa
push 5
call fcn.0042792b
add esp, 0xc
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x20]
mov ebx, dword [ebx]
test ebx, ebx
je 0x41af36
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov ebx, dword [ebp - 0x20]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41af65
push 0x64c
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41af82
push 0x64c
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x14]
mov ebx, dword [ebx]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41afb3
push 0x64c
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41afd0
push 0x64c
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x24], ebx
push 0x432ca6
mov ebx, dword [ebp - 0x24]
push dword [ebx]
push 0x432f24
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push dword [ebp - 4]
mov ecx, 5
call fcn.00401380
add esp, 0x14
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x41b013
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 4], eax
pop eax
pop ebx
pop ecx
jmp 0x41ad5c
add esp, 0xc
mov eax, dword [ebp - 4]
test eax, eax
je 0x41b03e
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
mov ebx, dword [ebp - 0x18]
call fcn.00401230
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x41b280
mov ebx, dword [ebp - 0x18]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41b089
push 0x745
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41b0a6
push 0x745
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push 0x432996
push dword [ebp - 0x14]
push str.StringFileInfo_
mov ecx, 4
call fcn.00401380
add esp, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esp
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41b0e8
add eax, 8
push eax
xor eax, eax
call dword [sym.imp.VERSION.dll_VerQueryValueA]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x41b10f
push 0x745
push 0x4014faa
push 6
call fcn.0042792b
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41b122
push ebx
call fcn.0042791f
add esp, 4
cmp dword [ebp - 0x2c], 0
je 0x41b278
mov ebx, dword [ebp - 0x18]
call fcn.00401249
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x41b153
push 0x7bd
push 0x4014faa
push 4
call fcn.0042792b
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x41b170
push 0x7bd
push 0x4014faa
push 1
call fcn.0042792b
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x80000301
push 0
push dword [ebp - 8]
push 0x80000301
push 0
push dword [ebp - 0x10]
push 2
mov ebx, 0x910
call fcn.0042aa70
add esp, 0x1c
mov dword [ebp - 0x24], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 0xa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x41b1c6
mov eax, 0x432422
push eax
push 3
mov ebx, 0x19c
call fcn.00428110
add esp, 0x28
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41b1f2
push ebx
call fcn.0042791f
add esp, 4
push 0x432ca6
mov ecx, dword [ebp - 0x28]
cmp ecx, reloc.WS2_32.dll_connect
je 0x41b219
push 0x7fd
push 0x4014faa
push 5
call fcn.0042792b
add esp, 0xc
push dword [ebp - 0x30]
push 0x432f24
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push dword [ebp - 4]
mov ecx, 5
call fcn.00401380
add esp, 0x14
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
cmp ecx, reloc.WS2_32.dll_connect
je 0x41b250
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x41b260
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x41b260
push ebx
call fcn.0042791f
add esp, 4
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x41b274
push ebx
call fcn.0042791f
add esp, 4
pop eax
mov dword [ebp - 4], eax
pop eax
pop ebx
pop ecx
jmp 0x41b054
add esp, 0xc
mov eax, dword [ebp - 4]
test eax, eax
je 0x41b29f
push eax
mov ebx, eax
call fcn.00401269
inc eax
push eax
call fcn.00427919
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x41b2a4
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x41b2b5
push ebx
call fcn.0042791f
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x41b2c5
push ebx
call fcn.0042791f
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41b2d5
push ebx
call fcn.0042791f
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x41b2f3
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x41b2ef
imul eax, dword [ebx]
jmp 0x41b2e4
mov ecx, eax
test ecx, ecx
je 0x41b312
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x41b30b
push ebx
push eax
call fcn.0042791f
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x41b2f9
call fcn.0042791f
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x14