Function at 0x404620
Capabilities:
Access peb ldr_data
Get file version info
Get graphical window text
Get kernel32 base address
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
mov eax, 0x1928
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
call fcn.0040b6b8
sub esp, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ebp - 0x1910], eax
mov eax, dword [ecx + 4]
cmp eax, 0x110
je 0x404720
cmp eax, 0x111
je 0x4046c8
cmp eax, 0x82
je 0x404680
xor eax, eax
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov edx, dword [global_dlg.0]
mov eax, dword fs:[0x18]
mov edx, dword [edx + 0x4b8]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [global_dlg.0]
sub esp, 0xc
mov dword [eax + 0x4b8], 0
jmp 0x404667
mov eax, edx
shr eax, 0x10
je 0x404ce8
cmp eax, 1
jne 0x404710
mov dword [esp + 4], 0x3f9
mov edi, dword [ebp - 0x1910]
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x3fa
mov dword [esp], edi
call sym._GetDlgItem_8
mov edx, eax
sub esp, 8
mov eax, ebx
call dbg.PropDlg_DisplayValue
nop
mov eax, 1
jmp 0x404669
lea eax, [ebp - 0x1818]
mov dword [global_dlg.0], ebx
lea esi, [ebx + 0x24c]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x1910]
mov dword [esp], edi
call sym._GetWindowTextW_12
lea eax, [ebp - 0x1818]
sub esp, 0xc
mov dword [esp + 4], eax
lea eax, [ebp - 0x1018]
mov dword [esp + 8], esi
mov dword [esp], eax
call sym._wsprintfW
lea eax, [ebp - 0x1018]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._SetWindowTextW_8
lea edx, [ebp - 0x1818]
mov ecx, 6
lea eax, [ebx + 0x234]
sub esp, 8
call dbg.format_date
mov dword [esp], edi
lea edi, [ebp - 0x1818]
mov dword [esp + 4], 0x3f0
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 4], edi
xor edi, edi
mov dword [esp], eax
call sym._SetWindowTextW_8
mov eax, dword [ebx + 0x240]
mov edx, dword [ebx + 0x23c]
mov dword [ebp - 0x1914], esi
mov dword [ebp - 0x1918], ebx
sub esp, 8
mov dword [ebp - 0x1900], eax
mov dword [ebp - 0x18fc], edx
mov word [ebp - 0x798], di
lea edi, [ebp - 0x798]
lea esi, [esi]
mov ebx, dword [ebp - 0x1900]
mov esi, dword [ebp - 0x18fc]
mov eax, 0xcccccccd
mov dword [ebp - 0x1904], 0
mov ecx, ebx
add ecx, esi
adc ecx, 0
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, ebx
sub ecx, edx
mov edx, esi
mov dword [ebp - 0x1908], ecx
sub eax, dword [ebp - 0x1908]
mov ecx, 0xcccccccd
sbb edx, dword [ebp - 0x1904]
imul esi, edx, 0xcccccccd
imul edx, eax, 0xcccccccc
add esi, edx
mul ecx
mov ebx, edx
xor edx, edx
mov ecx, eax
and eax, 1
add ebx, esi
lea esi, [edx + edx*4]
mov dword [ebp - 0x190c], esi
mov esi, 5
mul esi
add eax, dword [ebp - 0x1908]
shrd ecx, ebx, 1
sub edi, 2
add eax, 0x30
mov edx, dword [ebp - 0x1900]
shr ebx, 1
mov dword [ebp - 0x1900], ecx
mov word [edi], ax
mov ecx, 9
mov eax, dword [ebp - 0x18fc]
mov dword [ebp - 0x18fc], ebx
xor ebx, ebx
cmp ecx, edx
sbb ebx, eax
jb 0x4047f8
mov esi, dword [ebp - 0x1914]
mov ebx, dword [ebp - 0x1918]
xor eax, eax
mov ecx, edi
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [ebp + eax - 0x1818], dx
add eax, 2
test dx, dx
jne 0x4048c0
lea eax, [ebp - 0x1818]
mov dword [esp + 4], global_sByteFmt
mov dword [esp + 8], eax
lea eax, [ebp - 0x1018]
mov dword [esp], eax
call sym._wsprintfW
mov dword [esp + 4], 0x3f3
mov edi, dword [ebp - 0x1910]
mov dword [esp], edi
call sym._GetDlgItem_8
lea edx, [ebp - 0x1018]
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetWindowTextW_8
sub esp, 8
mov dword [esp + 4], 0x3ee
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._SetWindowTextW_8
mov esi, dword [global_dlg.0]
sub esp, 8
mov dword [esp + 4], 0x3ef
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._SetWindowTextW_8
mov esi, dword [ebx + 0x220]
sub esp, 8
mov dword [esp + 4], 0x3f4
and esi, 1
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xf1
mov dword [esp], eax
call sym._SendMessageW_16
mov esi, dword [ebx + 0x220]
sub esp, 0x10
mov dword [esp + 4], 0x3f5
shr esi, 5
mov dword [esp], edi
and esi, 1
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xf1
mov dword [esp], eax
call sym._SendMessageW_16
mov esi, dword [ebx + 0x220]
sub esp, 0x10
mov dword [esp + 4], 0x3f6
shr esi, 0xb
mov dword [esp], edi
and esi, 1
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xf1
mov dword [esp], eax
call sym._SendMessageW_16
mov esi, dword [ebx + 0x220]
sub esp, 0x10
mov dword [esp + 4], 0x3f7
shr esi, 1
mov dword [esp], edi
and esi, 1
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xf1
mov dword [esp], eax
call sym._SendMessageW_16
mov ebx, dword [ebx + 0x220]
sub esp, 0x10
mov dword [esp + 4], 0x3f8
shr ebx, 2
mov dword [esp], edi
and ebx, 1
call sym._GetDlgItem_8
sub esp, 8
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xf1
mov dword [esp], eax
call sym._SendMessageW_16
mov esi, dword [global_dlg.0]
sub esp, 0x10
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._GetFileVersionInfoSizeW_8
sub esp, 8
mov ebx, eax
test eax, eax
je 0x404710
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov dword [esi + 0x4b8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._GetFileVersionInfoW_16
sub esp, 0x10
test eax, eax
je 0x404710
lea edx, [ebp - 0x18ec]
lea ebx, [ebp - 0x18f0]
mov dword [esp + 4], 0x40d2ac
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov eax, dword [esi + 0x4b8]
mov dword [esp], eax
call sym._VerQueryValueW_16
lea edx, [ebp - 0x18ec]
sub esp, 0x10
test eax, eax
je 0x404b52
cmp dword [ebp - 0x18ec], 0x34
je 0x404d71
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.VarFileInfoTranslation
mov eax, dword [esi + 0x4b8]
mov dword [esp], eax
call sym._VerQueryValueW_16
sub esp, 0x10
test eax, eax
je 0x404710
mov edx, dword [ebp - 0x18f0]
mov edi, edx
add edi, dword [ebp - 0x18ec]
mov dword [ebp - 0x1900], edx
mov dword [ebp - 0x190c], edi
mov dword [esp + 4], 0x3f9
mov eax, dword [ebp - 0x1910]
mov dword [esp], eax
call sym._GetDlgItem_8
mov edx, dword [ebp - 0x1900]
mov dword [ebp - 0x1908], eax
sub esp, 8
cmp edx, edi
jae 0x404d21
mov dword [ebp - 0x1900], esi
mov edi, edx
lea esi, [esi]
mov eax, dword [str.Comments]
mov esi, 0x40c080
lea ebx, [ebp - 0x18e0]
test eax, eax
jne 0x404bfe
jmp 0x404d10
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x404d10
mov dword [esp + 0x14], 0x64
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 0x18
mov dword [esp + 0x10], ebx
movzx eax, word [edi + 2]
mov dword [esp + 0xc], eax
movzx eax, word [edi]
mov dword [esp + 4], str.StringFileInfo_04x_04x_s
mov dword [esp + 8], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call sym._wsprintfW
lea eax, [ebp - 0x18e4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x18e8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x818]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1900]
mov eax, dword [eax + 0x4b8]
mov dword [esp], eax
call sym._VerQueryValueW_16
sub esp, 0x10
test eax, eax
je 0x404bf0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x180
mov eax, dword [ebp - 0x1908]
mov dword [esp], eax
call sym._SendMessageW_16
mov ecx, dword [ebp - 0x18e8]
sub esp, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x19a
mov eax, dword [ebp - 0x1908]
mov dword [esp], eax
call sym._SendMessageW_16
sub esp, 0x10
jmp 0x404bf0
lea eax, [edx - 1]
cmp eax, 1
ja 0x404710
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x1910]
mov dword [esp], eax
call sym._EndDialog_8
sub esp, 8
jmp 0x404710
mov eax, dword [ebp - 0x190c]
add edi, 4
cmp edi, eax
jb 0x404bd0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x186
mov edi, dword [ebp - 0x1908]
mov dword [esp], edi
call sym._SendMessageW_16
sub esp, 0x10
mov dword [esp + 4], 0x3fa
mov eax, dword [ebp - 0x1910]
mov dword [esp], eax
call sym._GetDlgItem_8
mov edx, eax
sub esp, 8
mov eax, edi
call dbg.PropDlg_DisplayValue
jmp 0x404710
mov ecx, dword [ebp - 0x18f0]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov dword [esp + 8], str._d._d._d._d
mov dword [esp + 4], 0x400
movzx edi, ax
shr eax, 0x10
mov dword [esp + 0x18], edi
lea edi, [ebp - 0x818]
mov dword [esp + 0x14], eax
movzx eax, cx
shr ecx, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp], edi
call sym._swprintf.constprop.0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x3f1
mov eax, dword [ebp - 0x1910]
mov dword [esp], eax
call sym._SetDlgItemTextW_12
lea edx, [ebp - 0x18ec]
sub esp, 0xc
jmp 0x404b52