Function at 0x5daa50
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7e67db
mov eax, dword fs:[0]
push eax
sub esp, 0x118
push esi
push edi
push ecx
lea edi, [ebp - 0x124]
mov ecx, 0x46
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x87fbc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00424970
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx], vtable.CFileDialog.0
mov ecx, dword [ebp - 0x14]
add ecx, 0xc8
call fcn.0040be70
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0x2d8
call fcn.004124d0
mov ecx, dword [ebp - 0x14]
add ecx, 0x2dc
call fcn.004124d0
push 0x94
push 0
lea edx, [ebp - 0xac]
push edx
call fcn.0078bf70
add esp, 0xc
mov dword [ebp - 0xac], 0x94
mov esi, esp
lea eax, [ebp - 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp esi, esp
call fcn.00784930
nop
cmp dword [ebp - 0xa8], 6
jb 0x5dab2c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0x24]
mov dword [ecx + 0xac], edx
jmp 0x5dab39
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xac], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xb0], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xb4], 0
cmp dword [ebp + 0x20], 0
jne 0x5dab60
mov dword [ebp + 0x20], 0x58
cmp dword [ebp + 0x20], 0x58
jae 0x5dab77
push 0x3b
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFCdlgfile.cpp
call fcn.004053b0
test eax, eax
je 0x5dab77
int3
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.0079ae30
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xa8], 0
jne 0x5daba9
push 0x3e
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFCdlgfile.cpp
call fcn.004053b0
test eax, eax
je 0x5daba9
int3
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xa8], 0
jne 0x5dabbb
call fcn.004d7c40
nop
mov eax, dword [ebp + 0x20]
push eax
push 0
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
push eax
call fcn.0078bf70
add esp, 0xc
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x14]
mov byte [eax + edx + 0x1cc], 0
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x14]
mov byte [eax + edx + 0xcc], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x2d0], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [edx + 0xc4], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x2d4], 0
cmp dword [ebp + 8], 0
je 0x5dac30
mov dword [ebp - 0xf4], 0x7004
jmp 0x5dac3a
mov dword [ebp - 0xf4], 0x7005
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x80], eax
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov ecx, dword [ebp + 0x20]
mov dword [eax], ecx
mov esi, dword [ebp - 0x14]
add esi, 0x1cc
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov dword [eax + 0x1c], esi
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov dword [eax + 0x20], 0x104
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x3c], edx
mov esi, dword [ebp - 0x14]
add esi, 0xcc
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov dword [eax + 0x24], esi
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov dword [eax + 0x28], 0x100
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
add eax, 0x34
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp + 0x14]
or eax, 0x20
or eax, 0x80000
mov ecx, dword [ebp - 0xf8]
or eax, dword [ecx]
mov edx, dword [ebp - 0xf8]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
and eax, 0x40
je 0x5dad05
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
add eax, 0x34
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx]
and edx, 0xff7fffff
mov eax, dword [ebp - 0xfc]
mov dword [eax], edx
call fcn.00490e20
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov ecx, dword [ebp - 0x100]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov dword [eax + 0x44], 0x5da5a0
cmp dword [ebp + 0x10], 0
je 0x5dad52
push 0xffffffffffffffff
mov edx, dword [ebp + 0x10]
push edx
push 0x104
mov eax, dword [ebp - 0x14]
add eax, 0x1cc
push eax
call fcn.00423dc0
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5dadef
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xc8
call fcn.00411dd0
mov edx, dword [ebp - 0x14]
add edx, 0xc8
mov dword [ebp - 0x104], edx
push 0
mov ecx, dword [ebp - 0x104]
call fcn.0040b9c0
mov dword [ebp - 0xb4], eax
push 0x7c
mov eax, dword [ebp - 0xb4]
push eax
call fcn.004306d0
add esp, 8
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5dadca
mov ecx, dword [ebp - 0xb4]
mov byte [ecx], 0
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
jmp 0x5dad90
mov ecx, dword [ebp - 0x14]
add ecx, 0xc8
call fcn.0040b730
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x14]
call fcn.005dd180
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xac], 1
jne 0x5db08f
mov esi, esp
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
cmp esi, esp
call fcn.00784930
test eax, eax
jl 0x5db082
lea ecx, [ebp - 0xd8]
call fcn.005db1a0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x2d8], ecx
lea ecx, [ebp - 0xe4]
call fcn.005db170
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [edx + 0x2dc], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xc4], 0
je 0x5dae8f
lea edx, [ebp - 0xbc]
push edx
call fcn.0040a990
add esp, 4
mov esi, esp
push eax
push 0x81210c
push 1
push 0
push 0x835d24
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0xd0], eax
jmp 0x5daec2
lea eax, [ebp - 0xbc]
push eax
call fcn.0040a990
add esp, 4
mov esi, esp
push eax
push 0x81210c
push 1
push 0
push 0x835d34
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jge 0x5daedd
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xac], 0
jmp 0x5db08f
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x10c], ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.0040a990
add esp, 4
mov dword [ebp - 0x110], eax
mov esi, esp
mov eax, dword [ebp - 0x110]
push eax
push 0x81211c
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x114], edx
mov edi, esp
mov ecx, dword [ebp - 0x114]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
call dword [ebp - 0x114]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jl 0x5daf60
mov dword [ebp - 0x118], 1
jmp 0x5daf6a
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x5daf93
push 0x84
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFCdlgfile.cpp
call fcn.004053b0
test eax, eax
je 0x5daf93
int3
cmp dword [ebp - 0xec], 0
jne 0x5dafa2
call fcn.004d7c10
nop
xor edx, edx
jne 0x5daf4b
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x14]
add eax, 0xb8
mov esi, esp
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2d8
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x120], eax
mov edi, esp
mov ecx, dword [ebp - 0x120]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
call dword [ebp - 0x120]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jl 0x5db01c
mov dword [ebp - 0x124], 1
jmp 0x5db026
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
jne 0x5db04f
push 0x87
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFCdlgfile.cpp
call fcn.004053b0
test eax, eax
je 0x5db04f
int3
cmp dword [ebp - 0xf0], 0
jne 0x5db05e
call fcn.004d7c10
nop
xor eax, eax
jne 0x5db007
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0xbc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0xc0], ecx
jmp 0x5db08f
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xac], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
push edx
mov ecx, ebp
push eax
lea edx, [0x5db0d4]
call fcn.007848d0
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00783b00
add esp, 0x124
cmp ebp, esp
call fcn.00784930
mov esp, ebp
pop ebp
ret 0x20