Function at 0x4064f0
Capabilities:
Accept command line arguments
Check os version

Disassembly:
sub esp, 0x98
push esi
push edi
call fcn.00404510
mov ecx, 0x25
xor eax, eax
lea edi, [esp + 0xc]
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edi, 1
cmp dword [esp + 0x1c], 2
sete al
test al, al
mov byte [0x4144c5], al
je 0x406543
mov eax, dword [esp + 0x10]
mov byte [0x4144c4], 1
cmp eax, 5
ja 0x40654a
mov byte [0x4144c4], 0
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00406b40
add esp, 4
test eax, eax
je 0x406af6
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
cmp word [esi], 0x22
jne 0x406578
lea edx, [esi + 2]
push 0x22
push edx
jmp 0x40657b
push 0x20
push esi
call fcn.00407a0f
add esp, 8
test eax, eax
jne 0x40658b
mov eax, esi
jmp 0x40658e
add eax, 2
mov ecx, dword [0x414480]
test eax, eax
mov word [ecx], 0
je 0x40667b
mov cx, word [eax]
test cx, cx
je 0x40667b
cmp cx, 0x20
mov esi, eax
jne 0x4065be
add esi, 2
cmp word [esi], 0x20
je 0x4065b5
mov ax, word [esi]
cmp ax, 0x2d
je 0x4065d1
cmp ax, 0x2f
jne 0x40667b
mov ax, word [esi + 2]
add esi, 2
and eax, 0xffff
add esi, 2
push eax
call fcn.00408825
add eax, 0xffffffbc
add esp, 4
cmp eax, 0x14
ja case.0x4065f9.72
xor edx, edx
mov dl, byte [eax + 0x406b1c]
jmp dword [edx*4 + 0x406b08]
mov dword [0x4144fc], edi
jmp case.0x4065f9.72
mov dword [0x4144fc], edi
mov dword [0x414484], edi
jmp case.0x4065f9.72
mov dword [0x4144fc], edi
mov dword [0x414488], edi
jmp case.0x4065f9.72
mov eax, dword [0x414480]
push 0x104
push eax
push esi
call fcn.004078b0
add esp, 0xc
mov esi, eax
mov ax, word [esi]
cmp ax, 0x20
je 0x40666d
test ax, ax
je 0x406663
cmp ax, 0x2d
je 0x406663
cmp ax, 0x2f
je 0x406663
mov ax, word [esi + 2]
add esi, 2
cmp ax, 0x20
jne 0x406643
jmp 0x40666d
cmp word [esi], 0x20
jne 0x4065be
add esi, 2
cmp word [esi], 0x20
je 0x40666d
jmp 0x4065be
mov ecx, dword [0x414480]
cmp word [ecx], 0
je 0x4066e0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
mov edx, dword [0x414480]
push edx
call fcn.00401270
add esp, 4
test eax, eax
je 0x4066af
push 0x3e8
call edi
inc esi
cmp esi, 0xc
jl 0x40668f
mov eax, dword [0x414480]
push 0x5c
push eax
call fcn.00407a38
add esp, 8
test eax, eax
je 0x406af1
mov word [eax], 0
mov ecx, dword [0x414480]
push ecx
call fcn.004010a0
add esp, 4
jmp 0x406af1
call fcn.00406c10
test eax, eax
jne 0x406701
call fcn.00406be0
call fcn.00404870
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x98
ret 0x10
mov edx, dword [0x4144b0]
test byte [edx], 2
jne 0x406711
call fcn.00401f00
call fcn.00407730
test eax, eax
je 0x406af1
call fcn.004077b0
test eax, eax
jne 0x40673f
call fcn.00406be0
call fcn.00404870
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x98
ret 0x10
mov eax, dword [0x4144fc]
mov dword [esp + 8], edi
test eax, eax
jne 0x4067bc
push 0x41
push edi
push 0
call fcn.00404990
add esp, 8
push eax
call fcn.004049e0
mov esi, eax
add esp, 8
cmp esi, edi
mov dword [esp + 8], esi
jne 0x406acc
mov eax, dword [0x4144fc]
test eax, eax
jne 0x4067b3
call fcn.00405040
test eax, eax
je 0x4067bc
push 0x45
push 0xf
push 0
call fcn.00404990
add esp, 8
push eax
call fcn.004049e0
mov esi, eax
add esp, 8
cmp esi, 2
je 0x406acc
mov eax, dword [0x4144fc]
mov dword [esp + 8], edi
test eax, eax
je 0x406779
jmp 0x4067bc
cmp esi, 2
je 0x406acc
call fcn.00404c20
mov eax, dword [0x4144b0]
mov esi, dword [eax + 4]
test esi, esi
je 0x40693e
mov edi, dword [0x414480]
add esi, eax
push ebp
mov ebp, esi
cmp word [esi], 0x22
jne 0x4067e5
lea ebp, [esi + 2]
cmp word [ebp], 0x20
jne 0x4067f6
add ebp, 2
cmp word [ebp], 0x20
je 0x4067ec
cmp word [ebp], 0x23
push ebx
jne 0x406855
push GetModuleFileNameA
push esi
push 0
call fcn.00401da0
lea ebx, [eax + 1]
lea eax, [ebx + ebx]
push eax
call fcn.00407c9e
mov edi, eax
push ebx
push esi
push edi
call fcn.00401da0
mov ecx, ebp
add esp, 0x1c
sub ecx, esi
sar ecx, 1
cmp word [edi + ecx*2], 0x23
jne 0x406855
push esi
call fcn.00407a78
push edi
mov ebx, eax
call fcn.00407a78
add esp, 8
cmp ebx, eax
jne 0x406855
push edi
call fcn.00407a95
mov edi, dword [0x414480]
add esp, 4
cmp edi, dword [0x414480]
jne 0x406895
cmp word [esi], 0x22
jne 0x406875
mov word [edi], 0x22
mov edx, dword [0x4144f4]
lea eax, [edi + 2]
push edx
push eax
jmp 0x40687d
mov ecx, dword [0x4144f4]
push ecx
push edi
call fcn.004079ea
add esp, 8
push edi
call fcn.00401000
push ebp
push edi
call fcn.004079c0
add esp, 0xc
cmp word [edi], 0x22
mov esi, edi
mov ebp, 0x41447c
jne 0x406900
lea ebx, [edi + 2]
push 0x22
push ebx
call fcn.00407a0f
add esp, 8
test eax, eax
je 0x406900
cmp word [eax + 2], 0
lea ecx, [eax + 2]
je 0x406900
mov esi, ebx
cmp word [esi], 0x20
jne 0x4068cf
add esi, 2
cmp word [esi], 0x20
je 0x4068c6
mov word [eax], 0
add eax, 0xfffffffe
cmp eax, esi
jbe 0x4068ed
cmp word [eax], 0x20
jne 0x4068ed
mov word [eax], 0
sub eax, 2
cmp eax, esi
ja 0x4068db
mov eax, ecx
cmp word [eax], 0x20
jne 0x4068fe
add eax, 2
cmp word [eax], 0x20
je 0x4068f5
mov ebp, eax
mov eax, dword [0x414488]
pop ebx
test eax, eax
je 0x406913
mov eax, dword [0x414484]
test eax, eax
je 0x40692b
mov edx, dword [0x4144b0]
push 0
mov eax, dword [edx]
and eax, 1
push eax
push ebp
push esi
call fcn.004024b0
add esp, 0x10
mov eax, dword [0x414480]
pop ebp
cmp edi, eax
je 0x40693e
push edi
call fcn.00407a95
add esp, 4
mov eax, dword [0x4144fc]
test eax, eax
jne 0x4069b7
mov ecx, dword [0x4144e0]
mov edx, dword [0x4144dc]
push 0
push 0x404db0
push ecx
push 0x6e
push edx
call dword [0x41445c]
test eax, eax
mov dword [0x4144d4], eax
je 0x4069b7
push 0x3f1
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [0x41449c]
mov dword [0x4144d0], eax
mov eax, dword [0x4144ac]
push 0xb
push 0
lea edx, [ecx + eax*2]
mov eax, dword [0x4144a4]
add edx, eax
mov dword [0x4144c8], edx
call fcn.00404990
add esp, 8
push eax
mov eax, dword [0x4144d4]
push 0x3e8
push eax
call dword [0x414440]
push 0
push 0
push 0x35
call fcn.00404bf0
add esp, 0xc
call fcn.00405320
call fcn.00405e20
mov esi, dword [0x4144d4]
test esi, esi
je 0x4069f2
push 0xc
push 0
call fcn.00404990
add esp, 8
push eax
push 0x3e8
push esi
call dword [0x414440]
call fcn.004056b0
call fcn.00405750
mov esi, dword [0x4144d4]
test esi, esi
je 0x406a1f
push 0xd
push 0
call fcn.00404990
add esp, 8
push eax
push 0x3e8
push esi
call dword [0x414440]
call fcn.00405f50
mov esi, dword [0x4144d4]
test esi, esi
je 0x406a47
push 0xe
push 0
call fcn.00404990
add esp, 8
push eax
push 0x3e8
push esi
call dword [0x414440]
call fcn.004058b0
push 0
push 0
push 0x38
call fcn.00404bf0
mov eax, dword [0x4144d4]
add esp, 0xc
test eax, eax
je 0x406a6a
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [0x4144fc]
test eax, eax
jne 0x406a94
push 2
push 0
call fcn.00404990
add esp, 8
test eax, eax
je 0x406a94
cmp word [eax], 0
je 0x406a94
push 0x40
push eax
call fcn.004049e0
add esp, 8
mov eax, dword [0x414488]
test eax, eax
jne 0x406ac3
mov eax, dword [0x414484]
test eax, eax
jne 0x406ac3
mov ecx, dword [0x4144b0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x406ac3
add eax, ecx
push str..htm
push eax
call fcn.00402100
add esp, 8
mov esi, dword [esp + 8]
mov edi, 1
call fcn.00407850
call fcn.00404a60
cmp esi, edi
jne 0x406af1
mov eax, dword [0x414488]
test eax, eax
jne 0x406af1
mov eax, dword [0x414484]
test eax, eax
jne 0x406af1
call fcn.004063a0
call fcn.00406be0
call fcn.00404870
pop edi
xor eax, eax
pop esi
add esp, 0x98
ret 0x10