Function at 0x4020d0
Capabilities:
Check os version
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41778b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x290
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0x41d064
mov eax, dword [esi + 0x134]
mov dword [esp + 0x34], esi
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x40217f
lea ecx, [esp + 0x24]
call fcn.00416a4c
mov eax, dword [esi + 0x134]
lea ecx, [esp + 0x24]
push eax
push 0x41d0a8
push ecx
mov dword [esp + 0x2b4], 0
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x30]
add esp, 0xc
push 0
push 0
push edx
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0x24]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x2a0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0
lea ecx, [esp + 0x38]
call fcn.00401ec0
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 1
call sub.MFC42.DLL_CDialog::DoModal
cmp eax, 1
je 0x4021b3
mov dword [esp + 0x2a8], 0xffffffff
jmp 0x402925
lea ecx, [esp + 0x1c]
call fcn.00416a4c
mov edi, dword [sym.imp.MSVCRT.dll_fgetc]
mov ebp, dword [sym.imp.MSVCRT.dll__strnicmp]
mov byte [esp + 0x2a8], 2
mov byte [esp + 0x23], 0
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [esp + 0x24]
xor esi, esi
push eax
call edi
mov ebx, eax
add esp, 4
cmp ebx, 0xd
je 0x40222b
cmp ebx, 0xa
je 0x402226
cmp ebx, 0xffffffff
je 0x402226
cmp esi, 0x100
jge 0x402213
mov byte [esp + esi + 0x1a0], bl
inc esi
mov byte [esp + esi + 0x1a0], 0
mov ecx, dword [esp + 0x24]
push ecx
call edi
mov ebx, eax
add esp, 4
cmp ebx, 0xd
jne 0x4021f1
jmp 0x40222b
cmp ebx, 0xd
jne 0x402247
mov esi, dword [esp + 0x24]
push esi
call edi
mov ebx, eax
add esp, 4
cmp ebx, 0xa
je 0x402247
push esi
push ebx
call dword [sym.imp.MSVCRT.dll_ungetc]
add esp, 8
or esi, 0xffffffff
cmp ebx, esi
je 0x4022dc
lea edx, [esp + 0x1a0]
lea eax, [esp + 0x1c]
push edx
push 0x41d398
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::TrimLeft
mov al, byte [esp + 0x23]
test al, al
je 0x402292
mov ecx, dword [esp + 0x1c]
push 4
push str.A0.0
push ecx
call ebp
add esp, 0xc
test eax, eax
jne 0x4022ea
mov edx, dword [esp + 0x1c]
push 9
push str._VERSION_
push edx
call ebp
test eax, eax
mov eax, dword [esp + 0x28]
push 8
push str._POINTS_
push eax
sete byte [esp + 0x3b]
call ebp
add esp, 0x18
test eax, eax
je 0x4022f8
mov ecx, dword [esp + 0x1c]
push str.VERSION______CIVILCAD_5.0
push ecx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x4028ff
jmp 0x4021d5
push 0
push 0
push str.ERROR_no_data_found_in_file
jmp 0x402908
push 0
push 0
push 0x41d30c
jmp 0x402908
xor ebx, ebx
mov edi, 0x58635fa9
mov dword [esp + 0x2c], ebx
mov ebp, 0x26340000
mov esi, dword [esp + 0x30]
mov eax, ebx
cdq
mov ecx, dword [esi + 0x140]
idiv ecx
imul eax, ecx
cmp ebx, eax
jne 0x402334
mov edx, dword [esi + 0xd4]
push 0
push 0
push 0x405
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x41
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
xor ebx, ebx
mov byte [esp + 0x2a8], 3
cmp esi, ebx
je 0x40237b
mov ecx, esi
call fcn.00416a4c
lea ecx, [esi + 0x20]
mov byte [esp + 0x2a8], 4
call fcn.00416a4c
lea ecx, [esi + 0x24]
mov byte [esp + 0x2a8], 5
call fcn.00416a4c
jmp 0x40237d
xor esi, esi
push 0x41ecb0
mov ecx, esi
mov byte [esp + 0x2ac], 2
mov dword [esi + 8], ebx
call sub.MFC42.DLL_CString::operator_1
mov dword [esi + 0xc], ebx
mov dword [esi + 0x14], ebx
lea ecx, [esi + 0x20]
push 0x41ecb0
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esi + 0x24]
push 0x41ecb0
call sub.MFC42.DLL_CString::operator_1
mov eax, 0x430c6bf5
mov dword [esi + 0x2c], ebp
mov dword [esi + 0x34], ebp
lea ecx, [esp + 0x14]
mov dword [esi + 0x28], ebx
mov dword [esi + 0x30], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edi
mov byte [esi + 0x40], 0
call fcn.00416a4c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2a8], 6
call fcn.00416a4c
mov ebp, dword [esp + 0x24]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
push ebp
lea eax, [esp + 0xa4]
push 0xff
push eax
mov byte [esp + 0x2b4], 7
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x402785
mov al, byte [esp + 0xa0]
cmp al, 0xd
je 0x40283d
cmp al, 0xa
je 0x40283d
cmp al, 0x5b
je 0x4027ae
xor edi, edi
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Empty
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Empty
mov al, byte [esp + edi + 0xa0]
xor ebx, ebx
cmp al, 0x3d
je 0x402487
mov ecx, ebx
push eax
push ecx
inc ebx
lea ecx, [esp + 0x1c]
inc edi
call sub.MFC42.DLL_CString::Insert
mov al, byte [esp + edi + 0xa0]
cmp al, 0x3d
jne 0x40246d
mov al, byte [esp + edi + 0xa1]
inc edi
xor ebx, ebx
cmp al, 0x2c
je 0x4024b7
cmp al, 0xd
je 0x4024b7
cmp al, 0xa
je 0x4024b7
mov ecx, ebx
push eax
push ecx
inc ebx
lea ecx, [esp + 0x20]
inc edi
call sub.MFC42.DLL_CString::Insert
mov al, byte [esp + edi + 0xa0]
cmp al, 0x2c
jne 0x402495
mov ecx, dword [esp + 0x14]
mov ebx, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x41d308
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4024e6
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
mov dword [esi + 8], eax
jmp 0x4025a7
mov eax, dword [esp + 0x14]
push 0x41d304
push eax
call ebx
add esp, 8
test eax, eax
jne 0x40250f
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.MSVCRT.dll_atof]
fstp qword [esi + 0xc]
add esp, 4
jmp 0x4025a7
mov edx, dword [esp + 0x14]
push 0x41d300
push edx
call ebx
add esp, 8
test eax, eax
jne 0x402535
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
fstp qword [esi + 0x14]
add esp, 4
jmp 0x4025a7
mov ecx, dword [esp + 0x14]
push 0x41d2fc
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x402587
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_atof]
fcom dword [0x4195a0]
fst dword [esi + 0x1c]
add esp, 4
fnstsw ax
test ah, 1
jne 0x40257c
fcomp qword [0x419598]
fnstsw ax
test ah, 0x40
je 0x4025a7
mov dword [esi + 0x1c], 0x58635fa9
jmp 0x4025a7
fstp st(0)
mov dword [esi + 0x1c], 0x58635fa9
jmp 0x4025a7
mov eax, dword [esp + 0x14]
push 0x41d2f8
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4025a7
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esi + 0x20]
call sub.MFC42.DLL_CString::operator
mov al, byte [esp + edi + 0xa0]
cmp al, 0xd
je 0x4025c3
cmp al, 0xa
je 0x4025c3
inc edi
cmp edi, 0x100
jl 0x40244e
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa0]
push ebp
lea edx, [esp + 0xa4]
push 0xff
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x4027d7
mov ebp, dword [sym.imp.MSVCRT.dll_atoi]
xor edi, edi
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Empty
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Empty
mov al, byte [ebp + edx*2 + 0x5653ec8b]
push ebp
mov ebp, esp
push ebx
push esi
invalid
jg 0x4027ef
mov eax, dword [esi + 0x20]
add eax, edi
mov edi, dword [esi + 0x1c]
add edi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test ax, ax
je 0x40283f
and dword [ebp - 4], 0
mov eax, dword [edi]
pop es
mov dword [ebp - 0x10], eax
call fcn.0040269d
mov dword [0x83134c1c], eax
jge 0x4027ce
add byte [ebx + eax*2 - 0x75], dh
inc ebp
in al, dx
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
inc ebp
clc
movzx eax, word [eax]
cmp eax, dword [ebp - 4]
jne 0x402810
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.00402633
pop ecx
test eax, eax
pop ecx
je 0x402837
mov eax, dword [esi + 0x18]
inc dword [ebp - 0x10]
add dword [ebp - 8], 2
add dword [ebp - 0xc], 4
dec eax
cmp dword [ebp - 0x10], eax
jbe 0x4027ee
mov eax, dword [esi + 0x14]
inc dword [ebp - 4]
dec eax
cmp dword [ebp - 4], eax
jbe 0x4027cd
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 4]
mov eax, dword [edi + eax*4]
jmp 0x402874
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], eax
jne 0x40285f
call fcn.0040269d
adc bl, dl
xchg ebp, eax
mov eax, 0x83f0458b
cmp byte [eax], al
jne 0x40286e
mov eax, dword [esi + 0x14]
add dword [ebp - 0x10], 4
inc ebx
dec eax
cmp ebx, eax
jbe 0x402844
jmp 0x402830
mov eax, dword [edi + ebx*4]
shl eax, 6
add eax, dword [ebp + 8]
jmp 0x402832
ror byte [ebx + 0x318b0441], 1
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x4028f1
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x4028e2
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
stosb byte es:[edi], al
pop eax
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
inc ebp
mov ah, 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.0040269d
jns 0x4028e1
pop esp
lodsd eax, dword [esi]
lea eax, [ebp - 0x58]
push eax
call fcn.004026ad
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.00402662
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x40298b
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.0040269d
mov cl, 0x36
dec ebp
fisttp dword [ebp - 0x17af3fbb]
invalid